Яндекс ругался на карту сайта: пришлось разобраться с XML sitemap
С картой сайта для Яндекса у меня была забавная история. Я думал, что XML карту генерирует WordPress сам. Вроде даже есть какая-то встроенная фишка с wp-sitemap.xml. Но Яндекс всё ругался: «Нет карты сайта».
Оказалось, встроенная карта сайта в WordPress — штука средняя. Она не позволяет исключать страницы, не показывает приоритеты, и вообще Яндекс её плохо переваривает.
Я поставил Google XML Sitemaps (старый добрый плагин). Он создал нормальную карту с приоритетами, частотами обновления и красивой структурой. Закинул ссылку в Яндекс.Вебмастер — и через неделю страницы начали индексироваться быстрее.
Потом я узнал, что Yoast SEO тоже умеет генерировать sitemap. И даже лучше — он автоматически обновляет карту при публикации поста. Переключился на него и забыл про отдельные плагины.
Проверьте, чтобы в robots.txt была ссылка на sitemap. Без неё поисковики могут не найти карту. Добавьте туда Sitemap: https://mysurik.ru/sitemap_index.xml
Больше статей про WordPress — от установки до продвижения — я собрал в сводном гайде.
Расскажу подробнее про мою историю с картой сайта для Яндекса и что я в итоге понял про sitemap. С картой сайта для Яндекса у меня была забавная история. Я долго думал, что XML-карту генерирует WordPress сам, и никаких проблем быть не может. Но Яндекс упорно ругался: «Нет карты сайта». Пришлось разобраться, что не так, и пройти путь от встроенной карты до правильного решения. Поделюсь опытом, чтобы вы не повторяли моих ошибок.
Начну с того, что я действительно считал, что у WordPress есть встроенная фишка с wp-sitemap.xml. И она есть: современный WordPress генерирует карту сайта по адресу /wp-sitemap.xml. Но вот в чём дело — встроенная карта сайта в WordPress — штука средняя. Она выполняет базовую задачу, но имеет серьёзные ограничения. Именно с этими ограничениями я и столкнулся, когда Яндекс начал ругаться.
Встроенная карта сайта WordPress не позволяет исключать страницы. Это значит, что в карту попадают все страницы подряд, включая технические и служебные, которые в поиске не нужны. Она не показывает приоритеты — для поисковика все страницы выглядят одинаково важными. И вообще Яндекс её плохо переваривает: карта есть, а толку от неё мало. Индексация не ускоряется, страницы находятся не вовремя. Я понял, что встроенной карты недостаточно.
Решение я нашёл в старом добром плагине Google XML Sitemaps. Он создал нормальную карту: с приоритетами, частотами обновления и красивой структурой. В карте было видно, какие страницы важнее, как часто они обновляются, где что находится. Я закинул ссылку на карту в Яндекс.Вебмастер — и через неделю страницы начали индексироваться быстрее. Наконец-то карта работала как надо. Яндекс перестал ругаться и стал быстрее находить мой контент.
Потом я узнал, что Yoast SEO тоже умеет генерировать sitemap. И даже лучше: он автоматически обновляет карту при публикации поста. Это удобно — не нужно вручную перегенерировать карту после каждой статьи. Yoast делает это сам: опубликовал пост — карта обновилась. Я переключился на него и забыл про отдельные плагины для карты. Один плагин решает и SEO, и карту сайта. Меньше плагинов — меньше хаоса. Это было правильное решение.
Почему карта сайта так важна? Карта сайта — это путеводитель для поисковиков. Она говорит: «Вот все страницы моего сайта, вот их структура, вот как часто они обновляются». С картой поисковик быстрее находит и индексирует страницы. Без карты — ищет ссылки по сайту и может пропустить что-то важное. Карта особенно важна для новых сайтов и для страниц, на которые мало ссылок. Это ваш официальный список страниц для поисковых систем. Не пренебрегайте ей.
Ещё один важный момент, о котором я узнал — ссылка на sitemap в robots.txt. Проверьте, чтобы в robots.txt была ссылка на карту. Без неё поисковики могут не найти карту. Даже если вы указали карту в Вебмастере, ссылка в robots.txt — это стандарт и страховка. Я добавил туда строку Sitemap: https://mysurik.ru/sitemap_index.xml. Это простая строка, но она решает: поисковик видит карту, даже если вы забудете указать её в панели. Добавьте ссылку в robots.txt — и карта всегда будет на виду.
Отдельно про то, что должно быть в правильной карте сайта. Первое — список всех значимых страниц: статьи, категории, главная. Второе — приоритеты: какие страницы важнее для индексации. Третье — частота обновления: как часто меняется контент. Четвёртое — даты последних изменений. Всё это помогает поисковику понять структуру сайта и работать эффективнее. Хорошая карта — это информативная карта. Yoast и Google XML Sitemaps генерируют такие карты автоматически.
Про исключения из карты тоже стоит сказать. В карте не должно быть мусорных страниц: страниц поиска, архивов без контента, служебных страниц. Я настроил исключения, чтобы карта была чистой. Каждая мусорная страница в карте — это лишний запрос к сайту и сигнал поисковику, что сайт замусорен. Чистая карта — быстрая и правильная индексация. Не ленитесь настраивать исключения. Yoast позволяет это делать легко.
Ещё я понял про разницу между поисковиками. Яндекс и Google по-разному относятся к картам сайта. Яндекс любит чёткую структуру и приоритеты, Google более терпим. Поэтому важно, чтобы карта соответствовала требованиям обоих поисковиков. Стандартная карта от Yoast подходит обоим. Я подаю одну карту и в Яндекс.Вебмастер, и в Google Search Console. Одна карта — оба поисковика довольны. Проверяйте статус карты в обоих сервисах.
Подведу итог. Моя история с картой сайта — это путь от встроенной карты WordPress до правильного решения через Yoast. Встроенная карта — средняя: без исключений и приоритетов. Google XML Sitemaps — хороший плагин для старта. Yoast — лучший вариант: автоматическое обновление карты при публикации. И не забывайте про ссылку на карту в robots.txt. Правильная карта сайта — это быстрая индексация и меньше головной боли с поисковиками. Настройте карту один раз — и забудьте о проблемах с индексацией.
Расскажу ещё о деталях, которые я вынес из работы с картой сайта. Первое — про обновление карты. Карта сайта должна обновляться при каждом изменении контента. Yoast делает это автоматически: опубликовал пост, изменил страницу — карта обновилась. Это удобно и экономит время. Раньше с отдельными плагинами мне приходилось перегенерировать карту вручную. Автоматическое обновление — это то, к чему стоит стремиться. Меньше ручной работы — меньше ошибок.
Второе — про пинг поисковиков. После обновления карты хорошо бы уведомить поисковики. Yoast умеет пинговать Google и Яндекс о изменениях. Это ускоряет обнаружение новых страниц. Раньше я ждал, пока поисковик сам найдёт обновления. Теперь пинг ускоряет процесс. Уведомление поисковика — это плюс к скорости индексации. Проверьте, что пинг включён в настройках SEO-плагина.
Третье — про раздельные карты. На больших сайтах карта может быть раздельной: отдельная карта для статей, отдельная для категорий, отдельная для страниц. Это упрощает навигацию поисковиков. Yoast генерирует индекс карт, внутри которого раздельные карты. Я видел пользу от этого: поисковик точечно обращается к нужному разделу. Для блога разделение не критично, но для больших сайтов полезно. Понимайте структуру своей карты.
Четвёртое — про то, что карта не гарантирует индексацию. Важно понимать: карта сайта — это не приказ индексировать, а приглашение. Поисковик сам решает, что индексировать. Карта ускоряет и упорядочивает, но не гарантирует попадание в индекс. Если страница не индексируется даже с картой — проблема в другом: в качестве контента или технических ошибках. Не надейтесь только на карту. Карта — это инструмент, а не панацея.
Пятое — про проверку карты. Регулярно проверяйте, что карта работает и в ней всё в порядке. Зайдите по адресу карты, посмотрите, что она отдаёт XML без ошибок. Проверьте статус карты в Вебмастере и Search Console: сколько страниц в карте, нет ли ошибок. Я проверяю карту после крупных изменений на сайте. Здоровая карта — здоровая индексация. Не забывайте про мониторинг.
Ещё про последнее изменение карты. Поисковики любят свежесть. Если вы давно не публиковали контент, карта не меняется, и поисковик реже заходит. Это стимул публиковать регулярно. Контент — это топливо для индексации. Я стараюсь публиковать статьи регулярно, и карта живёт вместе с сайтом. Активный сайт — активная индексация. Это работает и на читателей, и на поисковики.
И про то, что карта — это часть SEO, а не всё SEO. Карта помогает индексации, но не гарантирует позиции. Позиции зависят от контента, ссылок, поведения пользователей. Карта — это техническая база, без которой сложнее, но не всё решает. Не впадайте в крайность «настроил карту — и всё». Продолжайте работать над контентом и качеством. Карта — это фундамент, а фундамент — это лишь начало. Стройте сайт дальше.
И несколько финальных советов. Первое — если у вас несколько доменов, у каждого должна быть своя карта сайта. Я делаю карту для каждого сайта отдельно. Нельзя использовать карту одного сайта на другом — это ошибка. Каждый домен — своя структура, своя карта. Это очевидно, но об этом легко забыть. Проверяйте, что карта соответствует домену.
Второе — про переносы сайта. После переноса WordPress на новый домен или сервер обязательно перегенерируйте карту сайта. Старая карта будет содержать старые ссылки. Я после любого переезда проверяю карту и robots.txt. Это обязательный пункт чек-листа миграции. Свежая карта — правильная индексация после переезда. Не пропускайте этот шаг.
И третье — не переусердствуйте. Одна хорошая карта лучше трёх кривых. Не плодите лишние плагины и карты. Выберите один инструмент — Yoast, например — и пользуйтесь им. Я пришёл к тому, что одна карта от Yoast закрывает все мои задачи. Простота и надёжность — лучшее решение. Помните об этом, и ваша карта сайта будет всегда в порядке.
В итоге: правильная карта сайта — это быстро и просто, если знать правильный инструмент. Yoast, ссылка в robots.txt, пинг поисковиков, регулярная проверка — и Яндекс с Google будут находить ваш контент быстро. Моя история началась с ошибки Яндекса, а закончилась пониманием того, как всё устроено. Настройте карту правильно — и забудьте о проблемах с индексацией.