Полное руководство по метатегам robots и X-Robots-Tag
Метатег robots и тег X-Robots нужны для управления индексацией сайта роботами поисковиков. Основное их отличие — в способе реализации: meta robots указывают в html-коде страницы, а тег x-robots — в HTTP-заголовке URL.
Процесс индексации сайта состоит из нескольких этапов: загрузки контента, его анализа и добавления в базу роботами поисковой системы. Информация, попавшая в индекс, начинает отображаться в выдаче.
В статье про файл robots.txt мы рассказывали, как разрешить и запретить роботам сканировать ресурс. Теперь мы узнаем, как управлять индексацией страниц и другого контента, какую пользу это приносит оптимизации, какое содержимое сайта лучше закрывать от поисковиков и как это правильно сделать.
Польза метатега robots и X-Robots-Tag для SEO
Рассмотрим, когда стоит использовать данные теги и как это помогает оптимизировать сайт.
1. Управление индексацией страниц
Не все страницы сайта полезны для привлечения органического трафика. Индексация некоторых из них, например, дублей, может и вовсе навредить видимости ресурса. Поэтому с помощью команды noindex обычно скрывают:
- дубликаты страниц;
- страницы сортировки и фильтров;
- страницы поиска и пагинации;
- служебные и технические страницы;
- сервисные сообщения для клиентов (об успешной регистрации, заказе и т.д.);
- посадочные страницы для рекламных кампаний и тестирования гипотез;
- страницы в процессе наполнения и разработки (лучше закрывать паролем);
- информацию, которая пока не актуальна (будущая акция, запуск новинки, анонсы запланированных мероприятий);
- устаревшие и неэффективные страницы, которые не приносят трафик;
- страницы, которые нужно закрыть от некоторых видов ботов.
2. Управление индексацией файлов определенного формата
От робота можно скрывать не только html-страницы, но и документ с другим расширением, например, страницу изображения или pdf-файл.
3. Сохранение веса страницы
Запрещая роботам переходить по ссылкам с помощью команды nofollow, можно сохранить вес страницы — он не будет передаваться сторонним ресурсам или другим страницам сайта, которые не приоритетны для индексации.
4. Рациональный расход краулингового бюджета
Чем больше ресурс, тем важнее направлять робота только на самые важные страницы. Если поисковики будут сканировать все подряд, краулинговый бюджет исчерпается до того, как робот начнет сканировать ценный для пользователей и SEO-контент. Соответственно, эти страницы не попадут в индекс или окажутся там с опозданием.
Директивы метатега robots и X-Robots-Tag
Два метода управления индексацией отличаются синтаксисом и способом внедрения. Метатег robots размещают в html-коде страницы и заполняют его атрибуты — параметры с именем робота (name) и командами для него (content). Тег x-robots добавляют в файл конфигурации и атрибуты в этом случае не используют.
Запрет индексации контента роботом Google с помощью метатега robots выглядит так:
<meta name="googlebot" content="noindex" />
Запрет индексации контента роботом Google с помощью тега x-robots имеет такой вид:
X-Robots-Tag:googlebot: noindex, nofollow
При этом у метатегов robots и X-Robots-Tag общие директивы — команды для обращения к роботам поисковиков. Рассмотрим список актуальных директив для разных поисковых систем и их функции.
Функции директив и их поддержка разными поисковиками
НАЗВАНИЕ | ФУНКЦИЯ ДИРЕКТИВЫ | BING | YAHOO! | |
index/noindex | Разрешение/запрет индексации текста. Чаще всего используют noindex, чтобы скрыть страницу из результатов выдачи. | + | + | + |
follow/nofollow | Разрешение/запрет перехода роботом по ссылкам на странице. | + | + | + |
archive/noarchive | Разрешение/запрет показа в поиске кэшированной версии страницы. | + | + | + |
all/none | Сочетает в себе две директивы, отвечающие за индексацию текста и ссылок. all — эквивалент index, follow (используется по умолчанию). none — эквивалент noindex, nofollow. | + | – | + |
nosnippet | Запрет отображения сниппета (фрагмента текста) или видео в результатах поиска. | + | + | – |
max-snippet | Ограничивает размер сниппета. Формат директивы: max-snippet:[number], где number — количество символов. | + | – | + |
max-image-preview | Задает максимальный размер изображений для показа страницы в поиске. Формат директивы: max-image-preview:[setting], где setting может иметь значение none, standard или large. | + | – | + |
max-video-preview | Ограничение длительности видео, которые отображаются в поиске. Значение указывают в секундах. Также можно задавать статическое изображение (0) или снимать ограничения (-1). Формат директивы: max-video-preview:[значение] | + | – | + |
notranslate | Запрет перевода страницы в выдаче. | + | – | – |
noimageindex | Запрет индексации изображений страницы. | + | – | – |
unavailable_after | Запрет показа страницы в поиске после определенной даты. Директиву указывают в формате unavailable_after: [дата/время]. | + | – | – |
В таблице приведены как запрещающие, так и разрешающие команды. Однако индексация «открытого» содержимого сайта происходит по умолчанию и директивы вроде index и follow можно не прописывать.
Ниже в таблице указаны директивы, которые можно использовать в метатеге robots и в теге X-Robots, чтобы их понимал Google.
Директива | Метатег robots Google | Заголовок X-Robots-Tag Google |
noindex | + | + |
nofollow | + | + |
noarchive | + | + |
index/ follow/ archive | + | + |
none | + | + |
all | + | + |
nosnippet | + | + |
max-snippet | + | + |
max-snippet | + | + |
max-image-preview | + | + |
max-video-preview | + | + |
notranslate | + | + |
noimageindex | + | + |
unavailable_after | + | + |
Выполнение противоречивых команд
При комбинации директив могут возникать конфликты, когда команды противоречат друг другу, одновременно разрешая и запрещая индексацию определенного фрагмента контента. Результат обработки противоречивых директив зависит от поисковой системы: робот Google выполнит запрещающую команду. Рассмотрим примеры.
Метатег robots: cинтаксис, виды и примеры
Напомним, что метатег robots — это информация для робота в html-коде. Этот тег размещают в верхнем разделе <head> в html-документе и у него неизменно есть два атрибута — name и content, в которых указывают название робота и директивы для него. Атрибуты метатега всегда должны быть заполнены. В упрощенном виде он выглядит так:
<meta name="robots" content="noindex" />
Атрибут name
Этот параметр определяет тип метатега в зависимости от данных страницы, которые он передает поисковым системам. Например, meta name=”description” — краткое описание страницы в сниппете; meta name=”viewport” нужен для оптимизации сайта для мобильных устройств; meta http-equiv=”Content-Type” задает тип документа и его кодировки.
В случае с метатегом meta name=”robots” атрибут name содержит имя робота, для которого действуют правила, перечисленные в атрибуте content. Его функция аналогична директиве User-agent в robots.txt, содержащей идентификатор бота той или иной поисковой системы.
Значение robots используют, если нужно обратиться к краулерам всех поисковиков. Тег meta «googlebot», или «любой другой бот» говорит о том, что инструкции адресованы соответствующему поисковому роботу. Если краулеров несколько, для каждого создают отдельный тег.
Атрибут content
Этот атрибут содержит команды, с помощью которых управляют индексированием контента на странице и отображением его элементов в результатах поиска. В него добавляют директивы из приведенных выше таблиц.
Примечания:
- Оба атрибута не чувствительны к регистру.
- Если значения атрибутов отсутствуют или заполнены неверно, бот проигнорирует запрет индексации.
- При обращении к нескольким роботам используют отдельный метатег robots для каждого. Директивы атрибута content можно перечислять через запятую в одном метатеге robots.
Файл robots.txt и метатег robots meta
При обходе сайта поисковые боты в первую очередь обращаются к файлу robots.txt. В нем они получают рекомендации по сканированию страниц и затем переходят к их обработке. Поэтому если доступ к странице закрыт в файле robots.txt, робот не сможет просканировать страницу и обнаружить в коде запрет индексации.
Если страница содержит атрибут noindex, но при этом закрыта от сканирования в robots.txt, она может отобразиться в результатах поиска — например, если робот найдет страницу, перейдя по обратной ссылке из другого источника. Содержимое файла robots.txt является общедоступным, поэтому нельзя быть уверенными, что на «закрытые» страницы не будет переходов.
Следовательно, закрывая страницу от индексации метатегом robots, стоит убедиться в отсутствии препятствий для ее сканирования в файле robots.txt. К исключениям, когда robots.txt имеет смысл использовать для скрытия из индекса, относятся изображения.
Как внедрять метатег robots
- Через html-редактор
Редактирование страниц аналогично работе с текстовым файлом. Нужно найти документ, открыть его в текстовом редакторе, добавить метатеги robots в раздел <head> и сохранить.
Страницы находятся в корневом каталоге сайта, куда можно перейти из персонального аккаунта хостинг-провайдера или по FTP. Перед внесением правок стоит сохранить исходный вариант документа.
- Через CMS
Более простой способ закрыть страницу от индексации — через админпанель CMS. Например, SEO-плагины «All in one SEO» и «Yoast SEO» для WordPress дают возможность запретить индексацию или переходы по ссылкам в режиме редактирования страницы.
Как проверить метатег robots
Поисковой машине нужно время, чтобы проиндексировать/деиндексировать страницу. Чтобы убедиться в отсутствии страницы в поиске, нужно воспользоваться сервисом для вебмастеров или плагином для браузера, проверяющим метатеги, например, SEO META in 1 CLICK для Chrome.
Google даЕт возможность проверить наличие страницы в индексе — для этого есть инструмент «Проверка URL» Google Search Console.
Если анализ страницы показал, что метатег robots не сработал, нужно проверить, не заблокирован ли этот URL в файле robots.txt, обратившись к этому файлу через строку браузера или используя инструмент для проверки от Google.
Также проверить наличие страниц в индексе для разных поисковых систем можно с помощью инструмента «Проверка индексации» в SE Ranking.
Что такое X-Robots-Tag?
X-Robots-Tag является частью HTTP-ответа для того или иного URL. Его добавляют в файл конфигурации. Он выполняет схожие функции с метатегом robots, влияя на индексацию страниц, но бывают ситуации, когда стоит применять именно заголовок X-Robots-Tag.
Пример тега X-Robots-Tag
X-Robots-Tag: noindex, nofollow
Когда нужно задать правила для определенной страницы или типа файлов, X-Robots-Tag в файле конфигурации выглядит так:
<FilesMatch "имя файла"> Header set X-Robots-Tag "noindex, nofollow" </FilesMatch>
Директива <FilesMatch> ищет на сайте указанные файлы, используя регулярные выражения. При использовании Nginx вместо Apache ее заменяет location.
location = имя файла { add_header X-Robots-Tag "noindex, nofollow"; }
Если имя робота не указано, директивы по умолчанию действуют для всех краулеров. При формировании ответа определенному роботу тег выглядит так:
Header set X-Robots-Tag "googlebot: noindex, nofollow"
Когда используют X-Robots-Tag
- Деиндексация файлов, отличных от HTML
Часть содержимого сайта нельзя скрыть из индекса с помощью метатега robots, поскольку не все страницы имеют html-формат и заголовок <head>. Тег x-robots необходим, когда нужно скрыть из индекса документы другого типа.
Пример — скрытие PDF-документов сайта из индекса:
<FilesMatch "\.pdf$"> Header set X-Robots-Tag "noindex" </FilesMatch>
- Экономия краулингового бюджета
При использовании метатега robots бот сначала загружает страницу, а потом считывает информацию из директив относительно индексации. В то время как тег x-robots информирует робота до обхода. Таким образом поисковик не тратит время на сканирование страниц и сохраняет краулинговый бюджет на более полезный контент. Это особенно актуально для крупных ресурсов.
- Указание директив сканирования на уровне всего сайта
Использование X-Robots-Tag в HTTP-ответах дает возможность указывать директивы и управлять индексацией контента в масштабе не отдельных страниц, а всего ресурса.
- Обращение к локальным поисковикам
Самые известные и широко используемые поисковики понимают большинство запрещающих директив. Но в разных странах иногда используют локальные поисковые системы, которые могут не воспринимать, например, информацию об индексировании через HTTP-заголовки.
Перед тем как оптимизировать сайт под тот или иной регион, стоит узнать, какие системы используют местные жители, и изучить особенности работы с ними.
Основная функция метатега robots — скрытие определенных страниц или элементов контента из результатов органической выдачи. X-Robots-Tag дает возможность задавать условия масштабно — на уровне всего сайта, а также информировать робота без необходимости обхода страницы, что экономит краулинговый бюджет.
Как внедрять X-Robots-Tag
Для добавления заголовка X-Robots-Tag используют файлы конфигурации в корневом каталоге ресурса. Настройки могут отличаться в зависимости от используемого веб-сервера.
Apache
Отредактировать нужно серверные документы .htaccess и httpd.conf.
Пример: запрет индексации всех png и gif-файлов сайта в Apache.
<Files ~ "\.(png|gif)$"> Header set X-Robots-Tag "noindex" </Files>
NGINX
Необходимо внести правки в файл конфигурации conf.
Пример: запрет индексации всех png и gif-файлов сайта в NGINX.
location ~* \.(png|gif)$ { add_header X-Robots-Tag "noindex"; }
Важно: перед редактированием файла конфигурации необходимо сохранить исходный вариант, чтобы избежать проблем в работе сайта в случае ошибок. Лучше всего доверить это вебмастеру / админу.
Как проверить HTTP-заголовок X-Robots-Tag
Есть несколько способов узнать, какой ответ отдает HTTP-заголовок страницы и содержит ли он X-Robots-Tag: онлайн-сервисы для проверки URL, расширения для браузеров, инструменты для вебмастеров от Google.
Пример заголовка, который запрещает индексацию
HTTP/1.1 200 OK Date: Tue, 10 November 2020 09:30:22 GMT X-Robots-Tag: noindex
Проверка HTTP-заголовка тега x-robots в Google
В Google Search Console нужно перейти в раздел «Проверка URL», затем ввести адрес страницы, выбрать «Проверить страницу на сайте» и «Изучить отсканированную страницу». Во вкладках будет доступна информация об ответе HTTP.
Примеры метатега robots и X-Robots-Tag
noindex
Запрет индексации текста страницы и перехода по ссылкам для всех роботов:
<meta name="robots" content=" noindex, nofollow" />
X-Robots-Tag: noindex, nofollow
nofollow
Запрет перехода по ссылкам на странице роботу Google:
<meta name="googlebot" content="nofollow" />
X-Robots-Tag: googlebot: nofollow
noarchive
Запрет показа в поиске кэшированной версии страницы:
<meta name="robots" content="noarchive"/>
X-Robots-Tag: noarchive
none
Запрет индексации и перехода по ссылкам для googlebot в html-документе:
<meta name="googlebot" content="none" />
X-Robots-Tag: googlebot: none
nosnippet
Запрет отображение фрагментов страницы в результатах поиска Google:
<meta name="robots" content="nosnippet">
X-Robots-Tag: nosnippet
max-snippet
Ограничение длины сниппета до 35 символов:
<meta name="robots" content="max-snippet:35">
X-Robots-Tag: max-snippet:35
max-image-preview
Показ крупных изображений страницы в результатах поиска:
<meta name="robots" content="max-image-preview:large">
X-Robots-Tag: max-image-preview:large
max-video-preview
Отображение видео в поиске без ограничений по длительности:
<meta name="robots" content="max-video-preview:-1">
X-Robots-Tag: max-video-preview:-1
notranslate
Запрет перевода страницы на другие языки:
<meta name="robots" content="notranslate" />
X-Robots-Tag: notranslate
noimageindex
Запрет индексации картинок страницы:
<meta name="robots" content="noimageindex" />
X-Robots-Tag: noimageindex
unavailable_after
Отсроченный запрет индексации (после 1 января 2021 года):
<meta name="robots" content="unavailable_after: 2021-01-01">
X-Robots-Tag: unavailable_after: 2021-01-01
Ошибки использования robots и X-Robots-Tag
Несогласованность с файлом robots.txt
В официальных справках по X-Robots-Tag и метатегу robots в Google сказано, что у поискового робота должен быть доступ к сканированию контента, который нужно скрыть из индекса. В этом случае указание директивы disallow для определенной страницы в файле robots.txt делает невидимыми директивы страницы, в том числе запрещающие индексацию.
Еще одной ошибкой является попытка запретить индексацию страниц с помощью robots.txt. Основная функция robots.txt — в ограничении сканирования, а не запрете индексации. Следовательно, для управления отображением страниц в поиске нужно использовать метатег robots и тег x-robots.
Несвоевременное удаление атрибута noindex с актуальной страницы
Если вы используете директиву noindex, чтобы временно скрыть контент из индекса, важно вовремя удалить ее со страницы и открыть роботу доступ. Например, это может быть страница с запланированным акционным предложением, которое уже вступило в силу. Или же станица, которая была в процессе разработки и теперь полностью готова. Если директиву не убрать, страница не появится в выдаче, а значит не будет генерировать трафик.
Наличие обратных ссылок на страницу с атрибутом nofollow
Команда nofollow может не сработать, если сама страница — не единственный способ для поисковика узнать об URL-адресах, и на них ведут внешние ссылки с «открытых» источников.
Удаление URL-адреса из карты сайта до его деиндексации
Если страница содержит директиву noindex или отдает запрет индексации URL, стоит ли ее удалить из файла sitemap.xml? Такое решение будет неверным, поскольку карта сайта дает роботу возможность быстрее находить все страницы, в том числе те, которые нужно убрать из индекса.
Правильным решением будет создать отдельный файл sitemap.xml со списком страниц, содержащих директивы noindex, и удалять URL оттуда по мере их деиндексации. Чтобы ускорить процесс обхода дополнительной карты сайта роботом, можно загрузить ее в Google Search Console.
Отсутствие проверки индексации после внесения изменений
При самостоятельной настройке индексации или в ходе работы программиста бывают ситуации, когда важный контент ошибочно оказался под запретом индексации. После внесения изменений страницы сайта нужно проверять.
Как избежать ошибочной деиндексации важных страниц?
Кроме проверки индексации URL указанными выше способами, можно отследить изменения кода на сайте с помощью инструмента «Отслеживание изменений» в SE Ranking.
Как быть, если актуальная страница перестала отображаться в поиске?
Необходимо удалить директивы, запрещающие индексацию страницы, а также проверить, нет ли запрета ее сканирования командой disallow в robots.txt и указан ли ее адрес в файле sitemap. Запросить индексацию URL, а также уведомить поисковики об обновленной карте сайта можно через Google Search Console.
Больше информации можно найти в статье о принципах индексации сайта в поисковиках.
Заключение
Метатег robots и тег x-robots — это инструменты для управления индексацией и отображением страниц сайта в результатах поиска. Отличаются они способом реализации: метатег robots указывают в коде страницы, а X-Robots-Tag — в файле конфигурации на сервере. У них есть и другие особенности:
- Если robots.txt отвечает за сканирование страниц роботом, то meta robots и X-Robots-Tag влияют на попадание контента в индекс поисковиков. Их настройка является частью технической оптимизации.
- Оба подхода направлены на запрет индексации, но при использовании X-Robots-Tag робот получает информацию без необходимости обхода страницы, что экономит краулинговый бюджет.
- Если в файле robots.txt стоит запрет сканирования страницы, директива метатега или заголовка для нее не сработает.
- Ошибки в настройках метатега robots и X-Robots-Tag могут привести к попаданию нежелательных страниц в индекс и проблемам в работе сайта. Вносить правки нужно внимательно или доверить это вебмастеру.