Существует специальный файл, который помогает поисковым роботам ориентироваться в структуре сайтов — карта сайта sitemap.xml. Такая карта помогает индексации любого сайта, будь это сайт-визитка или посадочная страница, но особенно важен файл sitemap.xml для проектов с большим количеством страниц разного уровня вложенности — например, интернет-магазинов или порталов.
Рассказываем, как создать, загрузить и сообщить поисковикам о своей карте сайта.
Что такое sitemap.xml?
Sitemap.xml — это карта сайта, созданная специально для поисковых роботов. В ней записываются все страницы, которые есть на сайте и требуют индексации, структура вложенности этих страниц, частота обновления, приоритет сканирования и другие служебные данные.
Зачем нужна sitemap.xml?
Sitemap.xml — не обязательный инструмент для продвижения в поисковых системах: роботы вполне умеют обходиться и без него.
Тем не менее, карта сайта упрощает индексацию: например, если на сайте есть страница, на которую не ссылаются другие страницы сайта, поисковики могут долго не включать ее в выдачу. Sitemap очень важен для проектов со сложной иерархией: чем больше уровней вложенности, тем дольше новые страницы будут включаться в индекс, если карта сайта не создана.
Поэтому sitemap.xml помогает избежать многих проблем с индексацией — он помогает поисковым роботам ориентироваться в сайте, оперативно узнавать о новых страницах и обновлении старых.
У меня уже есть карта сайта, зачем XML?
HTML-страница сайта с картой служит скорее для удобства навигации пользователей — хотя нужно отметить, что сейчас лучше вкладывать усилия в юзабилити сайта, сделать его таким, чтобы посетители разобрались и без карты.
В любом случае, XML-карта сайта нужна не для пользователей, а для поисковых роботов. В ней можно передать ту информацию, которую трудно указать на HTML-карте — например, дата последнего обновления страницы или тип файла (изображение, видео и так далее).
Из чего состоит sitemap.xml
Sitemap.xml состоит из специальных XML-тегов. Рассмотрим их на примере такой карты сайта:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://mysite.ru/</loc>
<lastmod>2020-10-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>http://mysite.ru/2020/02/12/hello-world/</loc>
<lastmod>2020-10-10</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
</urlset>
В этом примере на сайте есть 2 страницы — главная mysite.ru и еще одна mysite.ru/2020/02/12/hello-world/. У каждой из них указаны последнее обновление, частота обновлений и приоритет.
Тег | Обязательный? | Значение и примечания |
urlset | да | Внутри тега urlset перечисляют все страницы, которые есть на сайте. |
url | да | Внутри тега url заключены данные об одной конкретной странице. |
loc | да | В тег loc записывается адрес страницы. Для поисковой системы Google кириллические адреса должны быть перекодированы в Punycode — например, “мойсайт.рф/каталог” нужно превратить в “xn--80arbjktj.xn--/-8sbam6aivkvq”. Вручную это можно сделать с помощью конвертеров, например, такого — конвертер HB.by. Яндекс понимает кириллические адреса без перекодирования. |
lastmod | нет | Внутри lastmod записывается дата последнего обновления страницы в формате W3C Datetime. Например, если страница обновлялась 10 октября 2020 года в 15:36 по московскому времени, в теге lastmod это записывается как “2020-10-10T15:36+03:00”, где 2020-10-10 — 10 октября 2020, 15:36 — часы и минуты без секунд, +03:00 — часовой пояс Москвы по UTC. |
changefreq | нет | Частота обновления страницы. Доступные варианты:
|
priority | нет | Приоритет для сканирования поисковыми роботами, может выражаться от 0.0 до 1.0. По умолчанию считается равным 0.5. Этот параметр не влияет на то, на каком месте окажется страница в поисковой выдаче — он только помогает поисковым роботам сканировать в первую очередь важные страницы. Google утверждает, что не учитывает этот тег. |
Поисковые роботы умеют читать sitemap.xml размером до 50 МБ и до 50000 адресов в файле. Если у вас большой проект, например, интернет-магазин, скорее всего, вам понадобится создать несколько файлов sitemap. В этом случае для поисковых систем создается файл индекса sitemap с перечислением адресов всех карт сайта.
Он строится по похожему принципу. Вот пример, как может выглядеть файл индекса sitemap:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://mysite.ru/sitemap-general.xml</loc>
<lastmod>2020-10-10</lastmod>
</sitemap>
<sitemap>
<loc>http://mysite.ru/sitemap-products.xml</loc>
<lastmod>2020-10-10</lastmod>
</sitemap>
</sitemapindex>
Вот какие теги используются в файлах индекса sitemap:
Тег | Обязательный? | Значение и примечания |
sitemapindex | да | Внутри тега sitemapindex перечисляют все созданные карты сайта для поисковых роботов. |
sitemap | да | Внутри тега sitemap заключены данные об одной конкретной карте сайта. |
loc | да | В тег loc записывается адрес карты сайта. Карты сайта должны располагаться на том же сайте, что и файл индекса. |
lastmod | нет | Внутри lastmod записывается дата последнего обновления карты сайта в формате W3C Datetime. |
В свою очередь, файл индекса тоже должен быть размером не более 50 МБ и в нем не может содержаться больше 50000 адресов карт сайта, иначе поисковые роботы их проигнорируют. Получается, что с помощью карт сайта поисковым роботам можно сообщить о 2,5 миллиардах страниц. Для сравнения, в 2019 году во всем Интернете было зарегистрировано примерно 2 миллиарда сайтов — так что для большинства проектов этого хватит. 🙂
Где находится sitemap.xml в WordPress?
По умолчанию WordPress начал автоматически создавать карту сайта только с версии 5.5. Она находится по адресу [адрес сайта]/wp-sitemap.xml. В нее попадают все опубликованные посты, таксономии меток, главная страница и архивы постов.
К сожалению, чтобы настроить эту карту сайта под свои нужды, придется разобраться в программировании на PHP: например, WordPress не включает в нее теги changefreq, priority, lastmod и не дает возможности вручную убрать какую-либо из страниц из карты. Кроме этого, обновляться до последней версии WordPress может быть неудобно из-за каких-то интеграций и подключенных плагинов, которые могут сломаться с обновлением.
Поэтому самый простой вариант создать свою карту сайта — использовать специальные плагины.
Как создать sitemap.xml с помощью плагинов
Плагины помогают настроить карту сайта под свои задачи: исключить страницы, которые не должны оказаться в индексе, передать дату обновления страницы и частоту проверки для поисковых роботов. Разные плагины отличаются по функциональности — вы можете выбрать тот, который лучше всего подходит для вас.
Google XML Sitemaps
Этот плагин создает карты сайта по стандартам Google, но поисковые роботы Яндекса тоже его понимают, так что для большинства российских проектов этого плагина будет достаточно. Чтобы сгенерировать карту сайта, достаточно установить плагин — например, через меню Плагины ⟶ Добавить новый. Введите в поиск Google XML Sitemaps и нажмите Установить (автор — Auctollo).
После установки проверьте, что плагин активирован (Плагины ⟶ Установленные). Если плагин активирован, на нем появится кнопка Деактивировать.
По умолчанию Google XML Sitemaps включает в карту сайта:
- Главную страницу;
- Страницы статей («Записи»);
- Статические страницы («Страницы» — например, контакты или о компании).
Каждая из этих групп страниц помещается в свою отдельную карту сайта, которая собирается в файл индекса sitemap — плагин заранее предусматривает, что сайт будет развиваться и одной карты сайта может быть недостаточно.
Чтобы настроить sitemap.xml, перейдите на страницу Настройки ⟶ XML-Sitemap.
Здесь можно добавить или удалить страницы из карты сайта, настроить приоритет определенных страниц или групп и передать частоту обновления для поисковых роботов. Если что-то пойдет не так — всегда можно вернуть настройки по умолчанию и начать заново.
Yoast SEO
Этот плагин помогает настраивать в WordPress важные для поисковой оптимизации параметры — в том числе и карту сайта. Но настроек, по сравнению с Google XML Sitemaps, тут гораздо меньше. Как и в стандартной sitemap.xml от WordPress, приходится довольствоваться стандартными параметрами.
Чтобы включить карту сайта в Yoast SEO, перейдите в раздел SEO ⟶ Общие на вкладку Возможности. Проверьте, чтобы переключатель XML-карта сайта был включен.
Yoast SEO тоже создает сразу несколько карт и группирует их в файле индекса. Плагин не использует теги changefreq и priority для страниц — создатели плагина ссылаются на Google, который не учитывает их на большинстве сайтов.
Чтобы исключить страницы из sitemap, зайдите на страницу SEO ⟶ Отображение в поисковой выдаче на вкладку Типы содержимого. Здесь можно отключить добавление групп страниц в файл Sitemap.xml.
Если из sitemap.xml нужно исключить конкретную страницу — это можно сделать в разделе Дополнительно настроек Yoast SEO, которые появляются при редактировании страницы.
All in One SEO Pack
Еще один плагин для поисковой оптимизации — All in One SEO Pack. Как и другие, он создает несколько карт сайта и помещает их в файл индекса. Чтобы создать карту сайта, достаточно активировать плагин.
Если вы хотите настроить, какие адреса должны попадать в карту сайта, их приоритет и частоту обновлений, перейдите в меню All in One SEO ⟶ XML карта сайта.
Интересная особенность плагина — он умеет обновлять карту сайта в тот момент, когда к ней обращаются поисковые роботы. Для этого включите в настройках пункт Динамическая карта сайта.
Как создать sitemap.xml без плагинов
Если вы не хотите или не можете использовать плагины для WordPress, карту сайта можно создать и без них. Но в таком случае обновлять ее будет гораздо сложнее — если на сайте появятся новые страницы, добавлять их в карту сайта придется вручную.
Этот способ подойдет разве что для очень статичных сайтов: если вы не собираетесь добавлять новые страницы на сайт, вы можете создать карту сайта вручную. На коммерческих сайтах такое бывает очень редко, но, если вы хотите поддерживать sitemap самостоятельно — вам подойдет такой вариант.
Шаг 1 — создание sitemap.xml
Вручную в текстовом редакторе
Для создания понадобится специальный редактор текста, например, Notepad++ или Sublime Text — они умеют сохранять файлы в кодировке UTF-8.
Создайте новый файл и добавьте в него адреса всех страниц сайта по примеру (перечитайте, из чего состоит файл sitemap.xml, выше).
Выберите в меню File ⟶ Save with Encoding… ⟶ UTF-8 и назовите файл “sitemap.xml”.
Карта сайта готова.
С помощью генераторов
Гораздо проще создать карту сайта с помощью бесплатных онлайн-генераторов, например, на SiteDozor. Введите в генераторе адрес сайта:
Дополнительно вы можете указать дату изменения карты сайта и добавить частоту изменения страниц и приоритет. Укажите, сколько страниц нужно собрать на сайте (максимум 5000) и нажмите Создать Sitemap.
Минус такого метода — онлайн-генератор может включить в карту сайта те страницы, которые не нужно индексировать, например, /wp-admin. Поэтому желательно отредактировать файл после скачивания.
Шаг 2 — загрузка sitemap.xml
После этого созданную карту сайта нужно загрузить. Размещайте ее в корневом каталоге сайта, чтобы поисковые роботы смогли ее найти.
Через FTP
Чтобы загрузить карту сайта на сервер, можно подключиться к нему через протокол FTP в Проводнике Windows. Для этого в адресной строке введите “ftp://[адрес FTP-сервера]:[порт]” — эти данные берутся у вашего хостинг-провайдера.
После этого Проводник попросит ввести логин и пароль. Обратите внимание, что чаще всего пароль от FTP не совпадает с паролем от хостинга, поэтому доступы нужно уточнить в личном кабинете или по запросу к провайдеру хостинга.
После этого файлы на хостинге откроются как обычные файлы и папки — скопируйте файл sitemap.xml в корневую категорию сайта.
На хостинг
Загрузить файл можно и с помощью панели управления хостингом — для этого понадобится файловый менеджер. Зайдите в управление файлами и найдите там кнопку «Загрузить файл» или «Загрузить на сервер».
Разместите файл sitemap.xml в корневом каталоге сайта.
Если вы создали sitemap.xml вручную, при каждом обновлении страниц сайта вам придется обновлять его самостоятельно.
Что делать после настройки sitemap.xml
После того, как карта сайта создана, осталось сообщить о ней поисковым роботам.
Добавить в Google Search Console
Чтобы сообщить Google о карте сайта, перейдите в Google Search Console в раздел Файлы Sitemap.
Введите адрес карты сайта (или файла индекса карт сайта) и нажмите Отправить. После того, как Google его обработает, вы получите оповещение.
Добавить в Яндекс.Вебмастер
Чтобы добавить карту сайта в Яндекс, перейдите в Яндекс.Вебмастер ⟶ Индексирование ⟶ Файлы Sitemap.
Введите адрес карты сайта или файла индекса карт и нажмите Добавить. Sitemap появится в очереди на обработку.
Резюме
- Sitemap.xml — это карта сайта для поисковых роботов.
- В ней содержатся адреса всех страниц сайта, частота и приоритет их обновления.
- По умолчанию в WordPress, начиная с версии 5.5, есть карта сайта, которая находится по адресу /wp-sitemap.xml.
- Поисковые роботы поддерживают карты сайта до 50 МБ и до 5000 адресов.
- Карт сайта может быть несколько — тогда их адреса помещаются в специальный файл индекса sitemap.
- Создать карту сайта можно с помощью плагинов, например, Google XML Sitemaps, All in One SEO Pack или Yoast SEO.
- Карту сайта можно создать вручную, но по мере развития сайта ее придется обновлять самостоятельно.
- После создания карты сайта сообщите о ней поисковым системам с помощью инструментов для вебмастеров.