Sitemap.xml это список адресов, которые владелец сайта предлагает поиску. Робот и без него найдет страницы по ссылкам, но с картой он быстрее узнает про новые разделы и про страницы, на которые внутри сайта мало ссылок. Создать sitemap xml можно руками, модулем движка или генератором, который сам пройдет по сайту. Этот инструмент как раз такой генератор: он читает сайт так же, как робот поиска, и кладет в файл только то, что стоит отдавать в индекс.
Карта сайта онлайн: создать файл за пару минут
Ничего устанавливать не нужно. Вы вводите адрес сайта, сервис идет от главной страницы по внутренним ссылкам, соблюдает robots.txt и не уходит на чужие сайты. По каждой прочитанной странице он решает, брать ли ее в карту, и через пару минут отдает готовый файл и таблицу исключенных адресов. Обход читает только ваш сайт, платные источники данных в работе не участвуют, поэтому инструмент бесплатный.
Какие страницы попадают в карту
В карту идет страница, у которой все пять условий выполнены разом:
- сервер отвечает кодом 200, а не переносом и не ошибкой;
- это html-страница, а не pdf, картинка или другой файл;
- в метатеге robots и в заголовке X-Robots-Tag нет noindex;
- canonical указывает на этот же адрес или его нет вовсе;
- robots.txt не закрывает адрес ни для Яндекса, ни для Google.
Правило простое: карта не должна спорить со страницей. Если страница говорит поиску не брать ее, а карта зовет взять, робот тратит обход впустую и перестает доверять карте целиком.
Почему адрес может не попасть
Каждый адрес, который не вошел в карту, стоит в таблице с причиной. Чаще всего это редирект: ссылка на сайте ведет на старый адрес, а сервер переносит на новый. В карту тогда идет конечный адрес, а старый остается в таблице вместе с тем, куда он ведет. Ссылки на такие адреса стоит поправить, чтобы робот не ходил по лишнему шагу.
Вторая частая причина это canonical на другой адрес: страницы сортировки, фильтров и пагинации. Тут все правильно, в карте им не место. Третья это noindex, и вот ее стоит перечитать глазами: иногда метатег остается на рабочей странице после разработки, и тогда чинить надо страницу, а не карту.
lastmod, priority и changefreq
В файле только адрес и дата правки. Дату берем из заголовка Last-Modified, который отдает сам сервер, и не ставим ее, если заголовка нет. Если сервер пишет туда текущее время на каждый запрос, такую дату тоже не берем: она меняется при каждом заходе и поиску ничего не говорит. Priority и changefreq поисковые системы давно не учитывают, поэтому в файл они не идут.
Куда положить готовый файл
Файл кладут в корень сайта, рядом с главной страницей, чтобы он открывался по адресу вида example.ru/sitemap.xml. Дальше две вещи. Первая: строка Sitemap с полным адресом файла в robots.txt, ее читают все поисковые роботы. Проверить, что файл robots.txt написан без ошибок, можно на странице проверки robots.txt. Вторая: отправить карту в Яндекс Вебмастер, раздел Индексирование, пункт Файлы Sitemap, и в Google Search Console, раздел Файлы Sitemap.
Когда файл лежит на сайте, его стоит прогнать через проверку карты сайта: она откроет карту по ссылке, как это сделает робот, и покажет коды ответа по каждому адресу.
Когда генератор sitemap не подходит
Большой сайт. Обход берет до 500 страниц, а у магазина их бывают тысячи. Такую карту лучше собирать движком сайта: у Битрикса и WordPress это встроено, и карта сама обновляется, когда на сайте выходит новая страница. Разовый файл на большом сайте устареет через неделю.
Сайт, который рисует скрипт. Если ссылки возникают только после работы скрипта в браузере, а в коде страницы их нет, обход их не увидит, и карта получится короткой. Это заодно знак, что и робот поиска видит такой сайт хуже, чем человек.