SEO-кухня SEO-кухня 22.12.2022

Альтернативный подход к XML-картам сайта

Перевод эксперимента из блога ohgm о том, как увеличить количество проиндексированных страниц на сайте разбивая Sitemap.xml на множество XML-карт, содержащих максимум по 10 000 URL-адресов.

Альтернативный подход к XML-картам сайта

Перевод и адаптация статьи из блога ohgm.

Такой скриншот с URL-адресами, отправленными на индексацию в Google, автор статьи сделал в 2019 году:

Покрытие страниц сайта — исходные данные
Покрытие страниц сайта — исходные данные

На декабрь 2019 года в Search Console в разделе «Покрытие» насчитывалось 159 000 отправленных в Google URL‑адресов.

А вот тот же отчёт спустя примерно 6 месяцев:

Результаты спустя 6 месяцев
Результаты спустя 6 месяцев

На июнь 2020 года в Search Console в разделе «Покрытие» насчитывалось 156 600 отправленных в Google URL‑адресов.

Сейчас отчёт «Покрытие» недоступен в таком виде, как на скриншоте выше. Данные о покрытии теперь можно узнать в отчёте «Индексирование» → «Страницы». Страницы с ошибками теперь включены в данные «Не проиндексировано».

Количество отправленных URL‑адресов уменьшилось со 159 000 до 156 600, но количество проиндексированных увеличилось со 105 000 до 124 000. Ещё 19 000 URL‑адресов теперь могут получать органический трафик. На одном шаблоне количество проиндексированных URL‑адресов увеличилось с 58 % до 76 %.

Представленные данные относятся к интернет‑магазину с большим ассортиментом, но в нём нет многоаспектной (фасетной) навигации — только страницы категорий, постраничный вывод списка товаров и страницы товаров. За это время качество контента не улучшалось. Не было никаких активных действий, направленных на наращивание ссылочной массы. Также не проводилась какая‑либо существенная оптимизация внутренних ссылок, ведущих на проиндексированные страницы.

Всё дело в новом подходе к XML‑картам сайта.

Суть альтернативного подхода

Sitemap.xml, или XML‑карта сайта — это файл в формате .xml, в котором содержатся ссылки на все страницы сайта для индексации.

Что такое карта сайта и как с ней работать — в бесплатном курсе по базовому SEO от Топвизора.

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

Размер одной карты сайта в любом её формате ограничен 50 МБ (в несжатом виде) и 50 000 URL‑адресов.

Это официальная рекомендация Google.

Это число часто указывается во многих копипаст‑рекомендациях в сильно шаблонизированных аудитах, и вот почему мы часто встречаем его на новых сайтах клиентов.

Мы же перешли от использования нескольких XML‑карт сайта, ограниченных 50 000 URL‑адресов, к использованию множества XML‑карт, содержащих по 10 000 URL‑адресов. В результате из 5 XML‑карт получилось примерно 15.

Эти более мелкие XML‑карты сайта составлены по хронологическому принципу: например, products1.xml содержит самые старые товары, а products14.xml — самые новые товары. Индексирование проходит ожидаемым образом:

XML‑карта сайта с самыми старыми товарами
XML‑карта сайта с самыми старыми товарами

XML‑карта сайта с самыми новыми товарами
XML‑карта сайта с самыми новыми товарами

Конкретно на этом сайте много снятых с продажи товаров. Поэтому более старые страницы скорее будут оцениваться как «менее качественные» и с гораздо большей вероятностью будут определяться как ложные ошибки с кодом 404 (soft 404), в то время как новые добавляемые на сайт товары уже будут в наличии на складе.

Более старые товары с высокой вероятностью окажутся в глубине структуры внутренних ссылок и в итоге получат меньший внутренний ссылочный вес.

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

Меня заинтриговала идея, которую высказал Гэри Иллис, что на индексацию контента более низкого качества влияет объём доступного краткосрочного хранилища.

Вот этот твит:

Гэри Иллис об индексации контента
Гэри Иллис об индексации контента

Перевод:

«Выбор индекса, хотя и зависит в основном от объёма оперативной памяти / флеш‑памяти / памяти диска, тесно связан с качеством контента. Если у нас есть тонны свободного места, мы с большей вероятностью будем индексировать менее качественный контент. Если нет — мы можем деиндексировать этот материал, чтобы освободить место для документов более высокого качества».

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

Как это работает

Я не смог найти много информации об использовании карт сайта с меньшим количеством URL‑адресов, но специалисты по SEO о ней высказываются. Барри Адамс рассказывает об этом подходе и делится своими мыслями и наблюдениями:

«По моему опыту, нет необходимости заполнять XML‑карты сайта до их максимальной ёмкости.

Я обнаружил, что ограничение карты сайта до 10 000 URL‑адресов приводит к тому, что индексирование выполняется более тщательно. Я точно не знаю почему — подозреваю, Google легче обрабатывать и сканировать более короткие списки URL‑адресов, — но уже неоднократно доказано, что более мелкие карты сайта повышают эффективность индексации».

Индексация XML‑карт с 50 000 URL‑адресов в каждой
Индексация XML‑карт с 50 000 URL‑адресов в каждой
Индексация XML‑карт с ограничением в 10 000 URL‑адресов в каждой
Индексация XML‑карт с ограничением в 10 000 URL‑адресов в каждой

Неизвестно, как работает этот подход, но он работает. Вот несколько предположений почему:

  1. Карты сайта с меньшим количеством записей значительно легче обрабатывать. А ещё они, как правило, загружаются быстрее.

  2. Более лёгкие (с точки зрения размера файлов) карты сайта быстрее загружаются, и их тоже легче обрабатывать. Хотя этот пункт похож на предыдущий, это не одно и то же — здесь речь именно про размер файлов.

  3. Google чаще сканирует карты сайтов, которые часто обновляются. Чтобы имитировать обновление карты сайта, вы можете поэкспериментировать с изменением порядка URL‑адресов. Редактируя таким образом свои карты сайта, вы вносите в них «новизну».

  4. Google не будет дожидаться, пока ваш сервер передаст большой файл. Кроме того, Google не будет в восторге от перспективы тратить ресурсы на разбор 50 000 строк этого файла.

Как мы помним, каждый используемый вами файл должен содержать не более 50 000 URL‑адресов, и его размер не должен превышать 50 МБ (52 428 800 байт).

При необходимости вы можете сжать файлы карты сайта с помощью gzip, чтобы уменьшить требования по пропускной способности сайта, однако размер файла в несжатом виде всё равно не должен превышать 50 МБ.

Рекомендации с сайта sitemaps.org

Я все ещё не вполне разобрался, почему более мелкие карты сайта эффективнее, но размышления о XML‑картах сайта натолкнули меня на более интересную тему.

XML‑карты для Google Новостей

Если вы проводили анализ лог‑файлов к сайтам в Google Новостях, вы знаете, что Google сканирует карты этих сайтов. И сканирует многократно.

Почему так происходит? Давайте посмотрим на рекомендации Google:

Добавьте URL‑адреса статей, опубликованных за последние два дня. Через два дня вы можете удалить статьи из карты сайта, используемой для Google Новостей, но они будут оставаться в индексе в течение стандартного периода — 30 дней.

Обновляйте новостную карту сайта новыми статьями по мере их публикации. Веб‑сервис «Google Новости» сканирует новостные карты сайта с той же частотой, что и остальные фрагменты вашего сайта.

По сравнению с обычными XML‑картами сайта новостные XML‑карты сайта часто меняются и содержат свежий контент. Во многих случаях при публикации на сайте объёмных материалов каждый раз, когда поисковый робот Google запрашивает XML‑карту сайта, она будет уже другой. Скорее всего, это происходит из‑за новизны публикации.

В файл Sitemap для Google Новостей можно добавить до 1000 элементов <url>. Если вам нужно использовать больше 1000 элементов <url>, создайте несколько файлов Sitemap и перечислите их в файле индекса Sitemap согласно протоколу Sitemap. Файлы Sitemap для Google Новостей сканируются чаще, чем файлы Sitemap для других страниц. Чтобы избежать чрезмерной нагрузки на сервер, мы ввели ограничение на количество URL.

Нам ещё более явно не рекомендуют использовать большие файлы. Поэтому точно лучше использовать более мелкие файлы:

Обновите текущую карту сайта, добавив в неё URL‑адреса своих новых статей. Не создавайте новую карту сайта при каждом его обновлении.

Нам рекомендуют, чтобы URL‑адрес этой карты сайта, работающей в качестве шлюза, оставался неизменным: меняться должно её содержимое.

Возможно, это совершенно разные системы, и может оказаться, что сканирование новостных карт сайта выполняет не совсем обычный поисковый робот Google, когда отправляет эти запросы. Но это не важно: мы всё равно можем применить эту теорию к использованию обычных карт сайта.

Кому нужен этот подход

Этот подход пригодится, если вам важно, чтобы контент был проиндексирован как можно скорее, и если есть шансы, что он и так будет проиндексирован благодаря его собственным качествам.

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

Суть этого подхода такова:

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

Вот как это делать:

  1. Составить список URL‑адресов, которые должны быть проиндексированы.

  2. Создать XML‑карту сайта на основе некоторого количества самых новых URL‑адресов (в нашем примере — первые 20 000 URL‑адресов).

  3. Следить за появлением запросов поискового робота Google в логах сайта.

  4. Когда поисковый робот делает запрос по одному из URL‑адресов, которые вы отслеживаете, исключить URL‑адрес из вашего списка. Это удаляет его из /uncrawled.xml.

  5. Затем URL‑адрес нужно добавить в соответствующую долгосрочную XML‑карту сайта, например в /posts‑sitemap‑45.xml. Этот шаг необязательный.

Лучше, чтобы с этим работал профессиональный разработчик, а не SEO‑специалист.

Какую пользу принесет применение этого подхода? Новый, приоритетный контент будет индексироваться максимально быстро, и вам не придется прибегать к другим подходам или приёмам. Результатов не придётся долго ждать:

Результаты эксперимента
Результат эксперимента
Результат эксперимента
Результат эксперимента

Второй скриншот может быть трудно понять. Ежедневно в этой XML‑карте сайта появляется больше 20 000 URL‑адресов, но её размер ограничен 20 000 записей. Количество URL‑адресов, которое здесь показывает Search Console, отражает карту сайта только в один конкретный момент времени, причём на этом скриншоте можно заметить, что скорость индексирования URL‑адресов быстро увеличивается. В день сканируется гораздо больше 20 000 URL‑адресов.

Данные по показам
Данные по показам и кликам

Конечно, я не могу приписывать успех этого проекта полностью XML‑картам...

Дополнительно: альтернативный подход к внутренним ссылкам

Вы уже догадались, в чём суть этого подхода? Второй подход основан на первом и заключается в следующем:

Вы можете динамически управлять внутренними ссылками своего сайта в ответ на то, какие URL‑адреса сканирует поисковый робот Google.

Здесь используется тот же принцип, что и при генерации XML‑карты сайта, но для заполнения виджета внутренних ссылок, размер которого жёстко ограничен.

Важно: всё это зависит от того, соблюдаете ли вы другие базовые SEO‑рекомендации. Как только ваш контент выйдет за рамки «временного периода популярности», что обычно происходит очень быстро, убедитесь, что он получает высокий PageRank и анкорный текст и все другие полезные «сигналы».

Перелинковка, которую нам необходимо сделать ‍♂️:

Всё об алгоритме Google: как думает поисковая система

Как часто нужно обновлять Sitemap в Google Search Console