
Про title и description на сайте есть отдельные материалы, повторяться не буду. Здесь — вторая половина метатегов, служебная. Та, что не про ключевые слова, а про инструкции роботу и внешним сервисам: индексировать или нет, какой адрес считать основным, как отрисовать страницу на телефоне, какому языку она адресована, что показать при репосте. Именно эта часть чаще всего ломает индексацию.
За двадцать лет в SEO я разобрал сотни сайтов, и набор проблем повторяется: раздел закрыт от робота по недосмотру программиста, canonical указывает на главную вместо самой страницы, мобильная вёрстка едет из-за отсутствующего viewport, ссылка в мессенджере показывает серый прямоугольник вместо превью. Разберу каждый тег: что делает, где стоит, какая ошибка в нём стоит трафика.
Где живут служебные метатеги
Почти вся служебная разметка размещается внутри <head>, до открытия <body>. Это не формальность: браузер читает документ сверху вниз, и если директива о кодировке встретилась после первого килобайта контента, парсер уже принял решение по умолчанию. Отсюда порядок: charset в первых строках, следом viewport, дальше остальное.
Второй нюанс — метатеги, которые вставляет JavaScript после загрузки. Поисковые системы умеют исполнять скрипты, но делают это во вторую очередь и не всегда. Если canonical или robots появляются только после отработки фронтенда, вы играете в лотерею. Всё, что управляет индексацией, должно приходить в исходном HTML-ответе сервера.
Третье — дубли. Два разных meta name="robots" на одной странице (один из шаблона, второй из плагина) дают непредсказуемый результат: робот выберет более строгую инструкцию, и это вполне может оказаться noindex. Проверять надо не настройки в админке, а то, что реально отдаётся в исходном коде.
robots и X-Robots-Tag: управление индексацией
Метатег robots — точный способ сказать поиску, что делать с конкретной страницей. Его постоянно путают с файлом robots.txt, а это принципиально разные вещи. robots.txt запрещает обход: робот не заходит на URL. Метатег robots запрещает индексацию: робот заходит, читает и решает не включать страницу в поиск. Закроете страницу в robots.txt — робот не увидит на ней noindex, и она может попасть в выдачу без описания, по внешним ссылкам.
| Директива | Что делает | Когда применять |
|---|---|---|
| index, follow | Индексировать, переходить по ссылкам | Состояние по умолчанию, писать не нужно |
| noindex, follow | Не показывать в поиске, вес по ссылкам передавать | Слабые страницы фильтров, служебные разделы |
| noindex, nofollow | Полностью исключить страницу | Личный кабинет, корзина, персональные данные |
| noarchive | Запретить сохранённую копию | Часто меняющиеся цены |
| max-snippet, max-image-preview | Ограничить сниппет и превью | Медиа-проекты, платный контент |
У файлов без HTML-кода — PDF, изображений, документов — метатег поставить некуда. Здесь работает HTTP-заголовок X-Robots-Tag: настраивается на сервере, принимает те же значения. Если в поиске висят прайсы в PDF, которые вам там не нужны, это единственный корректный путь.
canonical: гасить дубли, а не создавать их
Атрибут rel="canonical" сообщает, какой из похожих адресов считать основным. На большинстве сайтов один контент доступен по десятку URL: с сортировками, с UTM-метками, со слешем и без. Canonical склеивает их и передаёт сигналы на один документ.
Правильная реализация: на каждой странице canonical указывает сам на себя, абсолютным адресом, с тем же протоколом и доменом. Страницы с параметрами ссылаются на чистый адрес. Дальше начинаются ошибки, и они дорогие.
| Ошибка | Последствие | Как чинить |
|---|---|---|
| Все страницы указывают на главную | Из индекса выпадает весь сайт, кроме главной | Настроить self-canonical в шаблоне |
| Canonical ведёт на редирект | Сигнал игнорируется, дубли остаются | Указывать конечный адрес |
| Canonical ведёт на страницу с noindex | Конфликт директив, непредсказуемая склейка | Разводить noindex и canonical по задачам |
| Относительный путь вместо абсолютного | Сбои на поддоменах и при смене протокола | Полный URL с https и доменом |
| Пагинация канонизирована на первую страницу | Товары со второй страницы не индексируются | Self-canonical на каждой странице |
Canonical — рекомендация, а не приказ. Поиск учитывает её вместе с внутренними ссылками, sitemap и редиректами. Попросите склеить страницы с разным содержимым — рекомендацию проигнорируют.
viewport и charset: база, которую забывают
Метатег viewport отвечает за масштабирование на мобильном экране. Стандартная строка — width=device-width, initial-scale=1. Без неё браузер считает, что перед ним десктопная вёрстка около 980 пикселей, и ужимает её до нечитаемого размера. Мобильная пригодность проваливается целиком, а мобильный трафик в большинстве тематик — больше половины визитов.
Ошибка бывает и обратной: разработчик прописывает user-scalable=no, запрещая масштабировать страницу пальцами. Формально сайт адаптивный, фактически человек с плохим зрением не может прочитать мелкий шрифт.
Кодировка <meta charset="utf-8"> кажется очевидной, но на старых движках проблемы живут до сих пор. Признак — «кракозябры» в сниппете или в заголовке вкладки. Иногда сервер отдаёт в HTTP-заголовке одну кодировку, а в метатеге прописана другая; приоритет у заголовка, чинить надо на сервере. Такие вещи всплывают на первом же аудите сайта и правятся за час, но годами никем не замечаются.
hreflang: языковые и региональные версии
Если у сайта есть версии на разных языках или для разных стран, поиску нужно объяснить, какая кому предназначена. Иначе он посчитает их дублями и оставит одну. Разметка ставится в head каждой версии и перечисляет все версии, включая саму себя.
- Ссылки должны быть взаимными: русская страница указывает на английскую, английская обязана указывать на русскую. Односторонняя разметка игнорируется целиком.
- Код языка по ISO: ru, en, de. Регион добавляется через дефис: ru-RU, en-GB. Регион без языка писать нельзя.
- Нужна версия
x-default— для всех, кто не подошёл ни под одну локаль. - Адреса абсолютные, отдают код 200, без редиректов и без noindex.
- Canonical работает внутри своей языковой версии, hreflang — между версиями. Смешивать их нельзя.
Open Graph и разметка организации
Open Graph читают соцсети и мессенджеры, когда кто-то делится ссылкой. На ранжирование он не влияет, на кликабельность — прямо: ссылка с картинкой и заголовком собирает переходов заметно больше, чем голый URL.
| Тег | Назначение | Рекомендация |
|---|---|---|
| og:title | Заголовок превью | Может отличаться от title, до 60–70 знаков |
| og:description | Текст под заголовком | 1–2 предложения по сути страницы |
| og:image | Картинка превью | Абсолютный URL, от 1200×630 |
| og:url | Адрес для соцсети | Совпадает с canonical, без UTM |
| og:type | Тип объекта | website для разделов, article для статей |
Главная практическая проблема — кэш: соцсети запоминают превью при первом обращении и сами его не обновляют. Поменяли картинку — старое превью может висеть неделями, лечится принудительным обновлением через отладчик площадки.
Данные о компании раньше пытались передавать через meta name="author" и подобные теги. Сегодня это мёртвая история: поиск их не читает. Информацию об организации передают структурированными данными Schema.org в формате JSON-LD — название, логотип, адрес, телефон, часы работы, профили в соцсетях. Для статьи размечают автора и даты публикации и обновления; при подготовке SEO-статей я закладываю такую разметку всегда, без неё материал для робота безымянный. Правило одно: размеченные данные обязаны совпадать с тем, что видит пользователь.
Практический разбор: проверка за полчаса
- Открыть исходный код четырёх типовых шаблонов — главной, категории, карточки, статьи — и найти в head robots, canonical, viewport, charset.
- Убедиться, что canonical на каждой указывает сам на себя, а не на главную.
- Взять адрес с UTM-меткой и проверить, что его canonical ведёт на чистый URL.
- Сравнить head в браузере и в исходном ответе сервера: расхождение означает, что метатеги ставит скрипт.
- Прогнать сайт краулером и выгрузить колонки с robots и canonical — так видны аномалии на всём объёме, а не на четырёх страницах.
- В панелях вебмастеров посмотреть исключённые страницы: там написано, какая директива и на каком URL сработала.
Чего делать не стоит
- Ставить meta keywords. Тег не учитывается больше пятнадцати лет. Единственный эффект — вы показываете конкурентам своё семантическое ядро.
- Закрывать дубли одновременно в robots.txt и в noindex. Робот не дойдёт до noindex, обход запрещён. Выберите один инструмент.
- Заменять 301-редирект канониклом. Если старый адрес пользователю не нужен, ставьте редирект. Canonical — когда обе страницы должны оставаться доступными.
- Закрывать в noindex разделы ради «чистоты индекса». Я видел, как под нож попадали работающие страницы фильтров с реальным спросом. Перед закрытием смотрите статистику раздела.
- Выкатывать noindex с тестового сервера на боевой. Самая дорогая ошибка: релиз в пятницу — к понедельнику сайта нет в выдаче. При любой доработке сайта проверка head на продакшене должна быть в чеклисте релиза.
Частые вопросы
Нужно ли прописывать robots со значением index, follow? Нет, это состояние по умолчанию. Тег имеет смысл только тогда, когда вы что-то запрещаете.
Через сколько страница пропадёт из поиска после noindex? Обычно от нескольких дней до нескольких недель: робот должен переобойти страницу. Ускорить можно переобходом в панели вебмастера. Обратный процесс идёт дольше.
Что делать, если canonical игнорируется? Проверьте три вещи: страницы действительно похожи, целевой адрес отдаёт 200 без редиректа, внутренние ссылки и sitemap ведут на тот же адрес. Противоречивые сигналы — главная причина.
Влияет ли Open Graph на позиции? Напрямую нет. Косвенно да: аккуратные превью дают больше переходов из мессенджеров и соцсетей, а это трафик и узнаваемость бренда.
Нужна ли разметка организации небольшой компании? Обязательной её никто не делает, но она помогает поиску связать сайт, карточку в справочнике и профили в соцсетях в один объект. Для локального бизнеса, который делает ставку на GEO-продвижение, это одна из первых настроек.
Чеклист
- charset в первых строках head и совпадает с HTTP-заголовком.
- viewport прописан, масштабирование не запрещено.
- На странице ровно один метатег robots, дублей из плагинов нет.
- noindex стоит только там, где нужен, и не заблокирован в robots.txt.
- Для PDF и прочих файлов используется X-Robots-Tag.
- Canonical есть везде, абсолютный, по умолчанию self-canonical.
- Адреса с параметрами и метками канонизированы на чистый URL.
- Пагинация не канонизирована на первую страницу.
- hreflang взаимен, содержит x-default, все адреса отдают 200.
- Open Graph заполнен: title, description, image, url, type.
- Разметка организации в JSON-LD соответствует видимому содержимому.
- Весь head приходит в исходном HTML, а не дорисовывается скриптом.
Служебные метатеги не дают быстрого прироста позиций — они дают отсутствие катастроф. Один неверный canonical или забытый noindex стоит дороже, чем месяцы работы над текстами. Поэтому на любой SEO-консультации я начинаю разбор с head: пока техническая часть противоречит сама себе, всё остальное работает вполсилы.
Если нужно раскрутка сайта в Яндексе — помогу вывести сайт в топ Яндекса и удержать позиции.
Увеличьте позиции и продажи вашего сайта
Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:
Остались вопросы по продвижению?
Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.
Связаться со мной →