После обновления WordPress плагина XML-Sitemaps Яндекс перестал видеть sitemaps

Недавно, начал активно обновятся плагин WordPress XML-Sitemaps, за месяц было 2-3 обновления, полностью изменена логика карты, как она выглядит сейчас, можно посмотреть на моей карте https://www.itroad.ru/sitemap.xml

Ну и пофиг подумал я и не предал этому значения, до поры до времени. Через неделю после последнего обновления (Генератор XML-карты сайта для WordPress 4.0.3), я зашел в webmaster.yandex.ru и увидел, что у меня ошибка обработки sitemap, начав разбираться я пошел в валидатор, но валидатор вообще не смог получить мой sitemap, выдавая ошибку (Unable to copy sitemap content).

Unable to copy sitemap content

При этом карта по ссылке доступна, Google ее видит, ошибок доступа в логах сервера так же не было, о чем я и написал в суппорт Яндекса.

Через сутки мне ответили:

Вероятнее всего, всё дело в том, что при обращении к Вашему файлу sitemap возвращается заголовок X-Robots-Tag: noindex . Настройте сервер так, чтобы этот заголовок не возвращался, и тогда ошибка должна перестать возникать.

В Nginx точно ничего не менялось, и я решил убедиться в том, что действительно в заголовке есть указанный тег.

Через сервис http://www.askapache.com/online-tools/http-headers-tool/ проверил отдачу sitemap и некоторых других страниц, на страницах тега не было, а вот на sitemap был.

|HTTP/1.1 200 OK Server: nginx/1.2 |
|.1 Date: Sat, 19 Apr 2014 07:33:0 |
|5 GMT Content-Type: application/x |
|ml; charset=utf-8 Transfer-Encodi |
|ng: chunked Connection: keep-aliv |
|eX-Powered-By: PHP/5.2.17-1.1 X   |
|-Pingback: https://www.itroad.ru/xm|
|lrpc.php X-Robots-Tag: noindex   |
|ontent-Encoding: gzip Vary: Accep |
|t-Encoding                        |

Стало понятно, что тег отдается генератором sitemap, пройдясь поиском по php файлам плагина, я нашел нужное место в файле sitemap-core.php

//Do not index the actual XML pages, only process them.
//This avoids that the XML sitemaps show up in the search results.
if(!headers_sent()) header('X-Robots-Tag: noindex', true);

Закомментировав строчку:

if(!headers_sent()) header('X-Robots-Tag: noindex', true);

я получил нужный результат, тег в заголовке перестал отдавать, а Яндекс смог прочитать мою карту.

Странная ситуация на самом деле, ибо совсем недавно и Google и Яндекс обрабатывали robots.txt (аналогом и продолжением которого является упомянутый заголовок) и если в robots.txt запретить доступ к sitemap, его не могли прочитать оба поисковика, а теперь Google через запрет в robots.txt не читает карту сайта, а если запрет через заголовок, то читает. Яндекс же, не читает ее в обоих случаях, хотя именно Google стал первым поддерживать X-Robots-Tag: noindex и изначально его реакция была аналогична реакции Яндекс.

Посмотрим, оправдается ли пугалка в комментариях в файле sitemap-core.php и попадут ли мои карты в выдачу и если попадут, то я даже не знаю, как разруливать эту ситуацию между двумя поисковиками, вед указать в заголовке, к какому именно поисковику относится запрет — нельзя, а это значит, что придется все делать выборочно руками в robots.txt.

Вот как то так, если кто в курсе темы, я бы с удовольствием пообщался.

Смотрите так же:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.