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 8 месяцев назад

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

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 8 месяцев назад

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

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

kolshix 8 месяцев назад

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

Kama 8 месяцев назад

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

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

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

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

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

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

kolshix 8 месяцев назад

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

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

Kama 8 месяцев назад

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

kolshix 8 месяцев назад

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

Kama 8 месяцев назад

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

Kama 8 месяцев назад

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