Правильный Sitemap.xml для сайта

XML карта сайта (sitemap.xml) — это файл в формате XML, в котором перечислены URL-адреса сайта, которые нужно сканировать и индексировать поисковыми системами.

Наличие xml-карт многие годы является отличной SEO практикой. Действительно, наличие качественных карт необходимо для того, чтобы поисковые системы сканировали и индексировали нужные страницы. Тем не менее, несмотря на повсеместное использование XML-карт сайта, их точное назначение не всегда полностью понимается оптимизаторами. И все еще существует некоторая путаница в отношении «идеальной» настройки карты сайта для оптимального сканирования и индексации.

1.Требования к xml-карте сайта

Если основное предназначение robots.txt – это запрет индексации, то xml-карта сайта sitemap.xml выполняет прямо противоположные задачи. Она отвечает за ускорение и полноту индексации сайта.

1.1.Основы создания XML-карт сайта

Робот Нет необходимости подробно перечислять основы генерации XML-карт сайта, поскольку они уже неоднократно освещались в литературе. Я просто резюмирую здесь самое главное:

  1. XML-карты сайта должны соответствовать официальному протоколу, иначе поисковые системы не примут файл за действительный и проигнорируют его.
  2. Они должны содержать только индексируемые, канонические URL-адреса сайта, которые вы планируете для индексации.
  3. Можно отправить свою карту сайта в Google, Yandex и Bing непосредственно через Google Search Console и вебмастера поисковых систем, а также сослаться на неё в robots.txt сайта.
  4. Поисковая консоль Google и Инструменты для веб-мастеров сообщат об URL-адресах, включенных в XML-карты сайта, о том, проиндексированы они и есть ли с ними какие-либо ошибки или предупреждения.
  5. Существуют отдельные типы XML-карты сайта для веб-страниц, изображений, видео и новостных статей.

В этой статье мы сосредоточимся в основном на XML-файлах Sitemap для стандартных веб-страниц.

Общее число sitemap.xml на сайте не должно превышать 500 (ранее было 1000), при этом число записей в каждом не должно превышать 50 000 URL. Если необходимо перечислить более 50 000 URL-адресов, следует создать несколько файлов Sitemap.

Карту сайта можно сжать gzip архиватором для уменьшения его размера. Но объем каждого сайтмапа в развернутом (разархивированном) виде не должен превышать 50 мегабайт (ранее было 10).

Карта сайта не обязательно должна быть в виде xml файла. Протокол допускает генерацию карты в виде синдикации (RSS или Atom) либо в виде простого текстового файла с построчным перечислением URL. Но такие «карты сайта» либо не включают в себя все URL сайта (в случае с синдикацией), либо не несут дополнительную важную информацию (дата и время модификации контента страниц), собственно ради которой и используют в SEO карты сайта.

Предоставляя отметку времени последнего изменения <lastmod>, вы позволяете сканерам поисковой системы извлекать только часть файлов Sitemap в индексе, то есть сканер может извлекать только те файлы (страницы) сайта, которые были изменены после определенной даты. Этот механизм частичного извлечения файлов из Sitemap.xml позволяет быстро обнаруживать новые URL на сайтах больших размеров. Кроме того это позволяет снизить нагрузку как на сервер, так и на краулер поисковой системы.

1.2. Атрибуты Sitemap

XML-карты поддерживают несколько атрибутов для каждого URL. Вот три основных атрибута:

  • Дата последнего изменения (< lastmod >).
  • Приоритет страницы от 0,0 до 1,0 (< priority >).
  • Частота изменения содержимого URL-адреса (< changefreq >).

Многие XML-карты будут иметь все эти три атрибута, определенных для каждого URL, указанного в карте сайта. Однако большинство поисковых систем, включая Google, обращают внимание только на один из этих атрибутов: дату модификации < lastmod >. Если URL-адрес имеет дату < lastmod >, более позднюю, чем дата сканирования поисковой системой, это явный признак необходимости повторного сканирования URL.

Рекомендуется проверять наличие и точность атрибута и автоматически обновлять его при значительном изменении страницы на сайте. Большинство генераторов XML-карты сайта, например плагин Yoast SEO для WordPress, обеспечивают автоматическое обновление атрибута < lastmod > в XML-карте сайта при изменении страницы.

Два других атрибута: < priority > и < changefreq > считаются слишком «шумными», чтобы их можно было использовать в качестве правильных сигналов. Часто они устанавливаются так, чтобы попытаться обманом заставить поисковые системы сканировать страницы чаще чем необходимо, поэтому они игнорируются большинством поисковых роботов.

Рекомендуется полностью исключить эти атрибуты. Это уменьшит размер файла карты и упростит устранение неполадок с ней.

1.3. Сочетание карты сайта с robots.txt и мета-тегами robots

Инструкции sitemap.xml, robots.txt и метатегов robots при правильном их использовании должны дополнять друг друга. Существуют три важнейших правила взаимодействия этих инструкций:

  • sitemap.xml, robots.txt и метатеги robots не должны противоречить друг другу;
  • все страницы, исключенные (заблокированные) в robots.txt и метатегами robots, должны быть исключены также из sitemap.xml;
  • все индексируемые страницы, разрешенные в robots.txt, должны содержаться в sitemap.xml

Есть и исключения из этих трех правил. Например, оптимизаторы старой школы советуют добавлять в файл sitemap.xml только  не проиндексированные или изменившиеся страницы. При этом страницы, уже попавшие в индекс, следует удалять из xml-карты.

Применять этот способ или нет — на усмотрение оптимизатора. Думается, при сравнительно небольших размерах сайта и наличии поля lastmod, никакой нужды в таких вот изысках нет.

2. Оптимизация Sitemap.xml

В документации Google по XML- Sitemap говорится, что файл Sitemap не может содержать более 50 000 URL-адресов и не должен превышать 50 МБ в несжатом виде. Если на сайте более 50 000 URL-адресов, необходимо разбить их на отдельные карты сайта и отправить так называемый индекс карты сайта — XML-карту сайта в которой перечислены другие XML-карты.

2.1. По размеру карты сайта

Для крупных веб-сайтов с сотнями тысяч или миллионами страниц, обеспечение сканирования и индексации Google всех URL-адресов, представленных в XML-файлах Sitemap, является довольно сложной задачей. Использование в каждой карте сайта 50 000 URL-адресов иногда приводит к неполному сканированию и индексированию, при этом лишь незначительная часть отправленных URL добавляется в индекс Google.

В результате исследований было обнаружено, что ограничение размеров Sitemap до 10 000 URL приводит к более полному индексированию. Предполагается, что меньшие списки URL-адресов легче обработать и сканировать для Google.

В результате предлагается крупным сайтам использовать XML-карты меньшего размера, но при этом не следует слишком «мельчить». Я видел, как некоторые сайты — миллионники ограничивают XML-карту сайта 1000 URL-адресами, при этом они получают тысячи отдельных файлов карты сайта.

Это тоже вызывает сложности, так как Google Search Console в своих отчетах показывает только 1000 файлов Sitemap, следовательно, если у вас более 1000 отдельных XML-карт, вы не сможете получить полную оценку их производительности с точки зрения индексации из GSC.

Представляется, что лучше всего ограничить файлы 10 000 записями URL. Это отличный компромисс, который обеспечивает более полное сканирование и индексацию, чем карта с 50 000 адресами, при этом не создаются ограничения для отчетов в Google Search Console.

Максимум 10 000 URL на карту сайта XML кажется хорошим промежуточным звеном между индексацией и отчетностью. Впервые это исследовал NICK EUBANKS и получил отличные результаты.

2.2. По типу контента

При проведении SEO-аудитов и анализе проблем индексации, XML-карты являются крайне полезным подспорьем. Однако, если все URL-адреса сайта просто собраны вместе в XML-Sitemap, независимо от типа контента, устранение проблем затрудняется.

Отличный способ сделать XML-карты более полезными — разделить их по типу контента, чтобы для разных типов страниц существовали разные файлы XML-карты сайта.

Например, на коммерческом сайте — магазине могут быть разные файлы карты для страниц со статическим контентом (о компании, условия использования, контакты и пр.) и страниц категорий и подкатегорий, а так же страниц продуктов.

Или, например, можно сделать отдельные файлы XML-карты для каждой категории продуктов, чтобы было возможно быстро оценить индексацию отдельных категорий.

Новостным сайтам можно создавать отдельные карты для категорий (разделов) новостей и отдельно статей в них. Так мы сможем убедиться, что Google проиндексировал каждую страницу раздела на сайте (это важно для обнаружения новых статей), в то время как достичь 100% индексации для всех отдельных статей на новостном сайте крайне сложно.

Указание статей в отдельных XML-файлах от страниц разделов поможет более эффективно устранять потенциальные проблемы и получить более точные данные об эффективности индексации обоих типов страниц.

Не забывайте, что СМИ должны иметь отдельную XML-карту для свежих новостей, в которую добавляют статьи, опубликованные за последние 48 часов.

2.3. По актуальности

Еще одним интересным подходом в оптимизации карт сайтов является консолидация URL по актуальности.

Например, все старые и не обновляемые URL мы можем собрать в отдельных картах сайта, таких как sitemap-1.xml, sitemap-2.xml, sitemap-3.xml и т.д. А все новые или обновленные статьи мы добавляем в отдельную карту, например sitemap-new.xml. Как только страница будет переиндексирована или спустя определенный промежуток времени (например 1 месяц), мы переносим URL в последний архивный sitemap, удаляя его из sitemap-new.xml.

Если какая то страница из архивных претерпела изменения, то мы удаляем её из, например, sitemap-2.xml и переносим в sitemap-new.xml, где она будет дожидаться либо переиндексации, либо определенный срок (тот же месяц) и опять будет перенесена в последнюю «архивную» карту сайта.

Таким образом, постоянной перезагрузки будет требовать только 1 карта сайта — sitemap-new.xml. Это позволяет экономить бюджет сканирования, при этом мы можем добиться крайне быстрой и полной индексации материалов сайта.

Все приведенные выше способы оптимизации можно комбинировать и модифицировать.

3. Основные проблемы с xml-картами сайтов

3.1. Мифы о сайтмапах

Распространенным заблуждением о XML-картах является уверенность в том, что они могут заменить сканирование роботом сайта. Якобы, при наличии хорошей XML-карты сайта сам сайт не обязательно должен быть полностью просканированным. В конце концов, рассуждают товарищи, что URL-адреса необходимые для сканирования перечислены в XML-карте, поэтому на сайте не обязательно должны быть ссылки на URL-адреса для сканирования. Это неверно.

Основным механизмом, с помощью которого поисковые системы обнаруживают контент, является сканирование сайта роботом. Поэтому у сайта должна быть хорошая структура внутренних ссылок, которая позволит сканерам найти все важные страницы с минимальным количеством кликов.

Что более важно, именно ссылки позволяют получить страницам PageRank (вернее InRank), без которого контент сайта не будет ранжироваться в результатах поиска.

XML- карты не заменяют внутренние ссылки. Ссылки в них не передают вес и не гарантируют индексацию и ранжирование контента. Карты являются дополнительным сигналом для поисковых систем. Они не предназначены для подмены правильной структуры сайта.

Вы должны убедиться, что сайт полностью просканирован и все URL, перечисленные в XML-карте сайта, можно обнаружить используя навигацию сайта.

Если URL указан в карте сайта, но не имеет открытых входящих ссылок, указывающих на него, маловероятно, что поисковые системы просканируют этот URL-адрес и скорее всего он абсолютно не будет ранжироваться в выдаче.

3.2. Частые ошибки в sitemap.xml

Занимаясь техническими аудитами сайтов, я очень редко вижу по настоящему правильные, безошибочные карты сайтов. Подавляющее большинство карт сайтов имеет многочисленные проблемы, среди которых наиболее часто встречаются следующие:

  1. Устаревшие XML-карты сайта — т.е. несоответствие страницам сайта. Эта проблема возникает, когда сайтмап генерируется не динамически, а эпизодически, запуском какой то службы в CMS, а то и сторонними сервисами. При этом возникает масса мертвых страниц, отдающих 404 ошибку (это если страницу физически удалили или перенесли в другое место, сменили адрес URL). Кроме того, новые страницы индексируются значительно медленнее, ибо не находятся в sitemap.xml.
  2. URL-адреса не в файле Sitemap. Эта ошибка очень часто обусловлена предыдущей. При этом ряд страниц сайта не попадают в карту. Это может быть сделано и специально (когда владелец не желает включать в карту ненужные или малоценные страницы). В большинстве случаев необходимо обновить XML Sitemap, чтобы добавить в карту эти страницы.
  3. Включение в карты сайта неканонических, не индексируемых страниц. В картах сайта должны находится только страницы, открытые для индексации, отдающие код 200. Неканонические страницы, страницы закрытые для индексации в robots.txt или мета-тегами robots, переадресации, страницы генерирующие 404 код, 503 код и прочие — не должны находится в рабочей карте сайта.
  4. Неверная структура sitemap.xml. Эта ошибка возникает, как правило, на «самописных» CMS или при использовании неверных плагинов к популярной CMS. При этом генерируется файл sitemap.xml с нарушением структуры, описанной протоколом.
  5. Отсутствие или неверная работа с датой изменения записи. С точки зрения протокола — это не ошибка, так как поле lastmod не является обязательным. С точки зрения SEO и поисковых систем, отсутствие правильного значения в этом поле (совпадающее с непосредственным изменением контента) — полностью нивелирует значимость всего файла sitemap.xml. Как было сказано выше, ПС будут переиндексировать те страницы, поле lastmod которых изменилось.Что произойдет, если это поле меняется одновременно у всех записей (страниц) сайта. То есть дата модификации одинакова у всех файлов сайта. Скорее всего, ПС не будут обращать внимание на sitemap и сайт будет переиндексироваться обычным способом, при этом глубоко расположенные страницы либо не переиндексируются вовсе, либо будут переиндексироваться очень долго.Итак, Необходимо или вовсе не использовать поле lastmod (что плохо), либо ставить дату последнего значимого изменения страницы, например, когда поменялась цена или товар закончился или изменилось описание.
  6. Логические ошибки, вызваны нарушением трех правил о сочетании robots.txt и sitemap.xml. В этом случае можно наблюдать постоянное попадание страницы в индекс и немедленный вылет оттуда. Однако, это не будет наблюдаться при наличии метатега noindex и записи в Sitemap.xml. В этом случае краулер (робот, паук ПС), зашедший на страницу индексировать её не будет.
  7. Наличие Orphan page («осиротевших страниц»). Это такие страницы, на которые стоит ссылка из sitemap, но нет ни одной прямой ссылки с любой из страниц сайта. Либо страница, на которой стоят ссылки на «утерянную страницу» была закрыта от индексации либо она не является канонической. Часто это связано с тем, что страницы были удалены «логически» (например в WordPress помещены в корзину), а не физически. Это так же наблюдается на сайтах, где доступ к карточкам товаров сделано на скриптах и фильтрах способом, который не позволяет проиндексировать результаты работ этих скриптов. Возможны и иные причины возникновения таких страниц-сирот. Все это снижает доверие поисковых систем к сайту и является негативным сигналом ранжирования.
  8. Страница одновременно расположена в нескольких файлах Sitemap Это не обязательно является ошибкой, но обычно каждый URL-адрес должен быть расположен только в одном XML-файле Sitemap.

Согласно протокола, после изменения сайтмапа, можно перепинговать поисковые системы. Для этого нужно создать запрос следующего вида:

<searchengine_URL>/ping?sitemap=sitemap_url

Обязательно добавляйте сайтмапы в вебмастера и проверяйте их на серьезные ошибки.

10

Об авторе:

DrMax. Занимаюсь аудитами, оценкой качества YMYL проектов и SEO сайтов более 20 лет. В настоящее время провожу аудиты и реанимирую трафик сайтов, восстанавливаю позиции в органической выдаче сайтов, помогаю снять алгоритмические и ручные штрафы Google. В портфолио - продвижение несколько десятков проектов как региональных частников, так и крупнейших мировых компаний. Владелец SEO блога Drmax.su. Автор 22 книг по продвижению и аудиту сайтов.
  Посмотрите еще

Комментарии

  1. Денис  22 апреля, 2019

    Подскажите пожалуйста. Начал работать над новостным порталом. Есть обычный сайтмап и сайтмап ньюз. Правильно ли что урлы на новость дублируются в обычном сайтмапе и сайтмап-ньюз?

    ответ
    • DrMax  22 апреля, 2019

      Денис, проблемы в этом нет. Однако, новостной Sitemap должен содержать URL статей, опубликованных за последние два дня. Статьи, опубликованные более двух дней назад, нужно удалить из файла.

      ответ
  2. Владимир  14 сентября, 2019

    > sitemap.xls
    Исправьте, пожалуйста.

    ответ
    • DrMax  15 сентября, 2019

      Владимир, поправил. Спасибо!

      ответ
  3. Олег  4 декабря, 2020

    Напишите как правильно выводить страницы в сайтмапе на для разных языковых версий?

    ответ
  4. Алексей  15 апреля, 2022

    у меня на сайте — куча лэндингов, которые имеют вид: site.ru/landing1 и т.п. На них идёт рафик с платной рекламы, в основном.
    это — «осиротевшие страницы» в смысле п. 7 из раздела «Ошибки» в чистом виде.
    В основном, трафик из Яндекса. Единственная ссылка на них — из html-сайтмапа site.ru/sitemap/

    Будет ли такая структура отрицательным сигналом для Яндекса? Если да, то как быть с лэндингами?

    ответ
    • DrMax  16 апреля, 2022

      День добрый, Алексей.
      Ну если эти страницы исключительно для PPC, то имеет смысл закрыть их в noindex, дабы (как минимум) не плодить дубли контента.
      Если есть какой то трафик из органики — то тут нужно думать как с ними поступать.

      ответ
  5. Никита  31 января, 2023

    Доброе утро, DrMax.
    У меня index sitemap. Нужно ли в корневой каталог добавлять индексную карту сайта и ее отдельные составляющие?

    И в google serch console нужно ли добавлять карты сайта index и ее составляющие?

    Спасибо)

    ответ
    • DrMax  15 марта, 2023

      Никита, xml-карту желательно (но не обязательно) размещать в корне. Гугл говорит, что вы можете разместить xml-карту хоть на стороннем домене.
      Главное, пропишите правильный путь к ней в robots.txt
      в GSC достаточно добавить только индексную карту.
      Остальные Гугл автоматом добавит из индексной.

      ответ

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