Столкнулся с проблемой, при которой Google не мог прочитать файлы sitemap.xml, которые я загружал ему через панель вебмастеров Google Search Console.
Как оказалась проблема очень популярная и активно обсуждаемая на зарубежных форумах. В том числе активно обсуждаются в сообществе поддержки вебмастеров Google — https://support.google.com/webmasters/thread/3105916?hl=en.
Как все происходит. После добавления появляется нормальное уведомление что все «окей»:
А после получаем такое сообщение «Не получено». При этом у меня был индексный файл sitemap.xml который ссылался уже на отдельные файлы карты сайта формата xml.
Google прекрасно видел индексный файл, и видел что лежит внутри этого файла, но каждый отдельный sitemap.xml он не читал, а лишь ставил отметку «Не получено»:
Стал читать форумы, на которых высказывались какие-то небылицы и бредовые идеи, я перепробовал абсолютно все, что там было написано:
- «Надо файлы держать в корней директиве, на одном уровне с индексным файлом sitemap.xml» — но опытным путем подтвердилось, что это не так. Хоть и Google сам об этом пишет:
- «В названии файла не должны использоваться _ (нижнее подчеркивание)» — но у меня их и не было.
- В каждом файле изначально было по 40к урлов, т.е. ниже максимального значения в 50к. Я разбил их на 10к, потом на 5000 и затем уже по 1000 — ничего не помогло.
- «Добавлять // в начале адреса» — не помогает:
- «Заканчивать адрес sitemap-1.xml/ т.е. слеш добавить в конце расширения файла «.xml/» — не помогло
- У меня были примеры индексного файла, в котором было 40 файлов карты сайта, общей численностью 2 000 000 адресов сайта, которые Google легко читал.
- Стал предполагать, что Google не нравится что медленно скачивает, начал делать txt файлы (да, можно делать вместо xml обычный txt) — частично это помогло. Файлы по 100-1000 url как формата xml так и txt проходили и читались. Я уже думал что нашел решение, и добавить 140 000 адресов сайта нужно прост создав 140 файлов по 1000 url:
Но это не помогло, и на большой выборке файлов Google опять написал «Не получено». Это уже очень сильно бесило. - Я начал сравнивать файлы с других сайтов, которые я знал, что точно читаются Google. Нашел некоторые закономерности, напр., у меня появилась гипотеза, что Google восприимчив к формату переноса строк и нужен Windows (CR LF), а не Unix LF, как было в моих файлах — но это тоже не помогло.
- Убрал все «лишние» теги в xml файлах, оставил только <loc>, а lastmod changefreq и priority удалил — не помогло.
- Менял формат тега lastmod — не помогло.
В общем после всех мучений, проб всего, что только можно было попробовать, я уже сдался и признал победу за Google.
Какого же было мое удивление, что день через день Google начал индексировать файлы sitemape.xml из индексного файла. Да, просто по чуть-чуть, и в течение 1-2 недель он проиндексировал все отдельные файлы.
Короче, если у вас такая проблема, то попробуйте просто оставить все на несколько дней, и посмотрите, что будет происходить. Видимо у Google есть свой темп чтения файлов для каждого сайта. Т.е. для каких-то он за раз все показывает, а для других откладывает в долгий ящик, и исходя из каких-то лимитов или наличия ресурсов читает уже «в свободное от работы время». Возможно это бред, но все же.
В общем оставляйте как есть, и смотрите что произойдет через неделю, не тратьте нервы и время.
Пишите в комменты получилось или нет, поможем seoшному сообществу.)