WP-SITEMAP — Сообщить бингу и гуглу об обновлении карты сайта

https://wp-kama.ru/handbook/sitemap

У плагина xml sitemap от гугл есть функция которая сообщает в гугл, что сайт обновился
1 есть отправить все
2 есть часть
3 есть по времени

http://www.google.com/webmasters/sitemaps/ping?sitemap=мой_сайт

подскажите как подключить такой функционал ??

/**
	 * @param $pingUrl string The Sitemap URL to ping
	 * @param bool $updateStatus If the global ping status should be updated
	 *
	 * @return \GoogleSitemapGeneratorStatus
	 */
	protected function ExecutePing($pingUrl, $updateStatus = true) {

		 $status = new GoogleSitemapGeneratorStatus($updateStatus);

		if ($pingUrl) {
			$pings = array();

			if ($this->GetOption("b_ping")) {
				$pings["google"] = array(
					"name" => "Google",
					"url" => "http://www.google.com/webmasters/sitemaps/ping?sitemap=%s",
					"check" => "successfully"
				);
			}

			if ($this->GetOption("b_pingmsn")) {
				$pings["bing"] = array(
					"name" => "Bing",
					"url" => "http://www.bing.com/webmaster/ping.aspx?siteMap=%s",
					"check" => " "
					// No way to check, response is IP-language-based :-(
				);
			}

sitemap,

Заметки к вопросу:
kolshix 2.4 года назад

походу нашел.
можно тупо к крону прикрутить либо к функции публикации\обновления постов
все я предполагаю завязано на

wp_remote_get

    public static function RemoteOpen($url, $method = 'get', $postData = null, $timeout = 10) {
		$options = array();
		$options['timeout'] = $timeout;

		if($method == 'get') {
			$response = wp_remote_get($url, $options);
		} else {
			$response = wp_remote_post($url, array_merge($options, array('body' => $postData)));
		}

		if(is_wp_error($response)) {
			$errs = $response->get_error_messages();
			$errs = htmlspecialchars(implode('; ', $errs));
			trigger_error('WP HTTP API Web Request failed: ' . $errs, E_USER_NOTICE);
			return false;
		}

		return $response['body'];
	}
Kama 2.4 года назад

По моему поисковики плевать хотели на эти пинги, они сами решают когда проверить сайт. Чаще обновляешь чаще проверяют. Там такие алгоритмы, что как-то странно делать это вручную.

Вот по теме инфа

kolshix 2.4 года назад

проверено на личном опыте, есть уникальный контент, он у меня в гугл и яндекс по моей просьбе через URL после публикации бывает за 5-10 минут залетает
Да и я ботов онлайн часто смотрю - они тоже чаще заходят через ping

Kama 2.4 года назад

https://developers.google.com/search/docs/advanced/sitemaps/build-sitemap#addsitemap

Тут вот такая ссылка есть для пинга гугла:

https://www.google.com/ping?sitemap=FULL_URL_OF_SITEMAP

Проверил работает. Но как я понял в карте нужно добавить колонку <lastmod>.

Ну и при публикации/обновлении поста пинговать. Правда наверное нужно где-то сохранять дату последнего пинга и с ней сравнивать, чтобы не пинговать каждую минуту если подряд пост обновляешь.

Но вот какой промежуток пинга выдерживать?

kolshix 2.4 года назад

я в каком-то плагине подсмотрел- работает как часи
https://www.google.com/webmasters/sitemaps/ping?sitemap=https://site.com/new-post-id/

да и в самом плагине от гугл такой урл прописан

Kama 2.4 года назад

А вот для Яндекса такая тема: https://yandex.ru/support/webmaster/indexing-options/index-now.html

kolshix 2.4 года назад

хорошая тема, для яндекса даже не видел, хотя как то искал

Kama 2.4 года назад

Да под это дело плагин бы запилить маленький, чтобы ничего лишнего не было smile

Kama 2.4 года назад

IndexNow совсем недавно появилась https://searchengines.guru/ru/news/2053185