
Атрибут meta content встречается в коде любой страницы по десятку раз, и именно в нём лежит всё, что сайт сообщает о себе браузеру, поисковому роботу и мессенджеру. Сам по себе атрибут ничего не решает — он лишь хранит значение для того метатега, в котором стоит. Одна и та же строка может задать описание для сниппета, запретить индексацию раздела или сломать отображение сайта на телефоне. Поэтому разговор про meta content — это разговор о том, какие метатеги нужны сайту и что именно писать внутри каждого.
В SEO я с 2005 года и на аудитах вижу одну и ту же картину: метатеги либо не заполнены вовсе, либо заполнены по инерции устаревшими шаблонами. Ниже — рабочий минимум: какие теги имеют значение сегодня, что писать в их значении, как проверить свои страницы за десять минут и какие ошибки в этом месте чаще всего стоят сайту трафика.
Как устроен метатег и что попадает в content
Метатег живёт в разделе head документа и состоит из двух частей: указателя, что за параметр задаётся, и его значения. Указателем выступает атрибут name (для данных о самой странице) или http-equiv (для директив уровня HTTP-заголовков). Значение всегда лежит в content и заключается в кавычки — одинарные или двойные, разницы нет, важна только парность.
Выглядит это так: <meta name="description" content="Текст описания страницы">. Указатель говорит, какой это параметр, content — чему он равен. Если внутри значения нужны кавычки того же типа, что и внешние, их экранируют или заменяют другими, иначе браузер оборвёт строку в этом месте, и метатег превратится в обрывок.
Три правила размещения, которые нарушаются чаще всего:
- Все метатеги должны находиться внутри
head. Строка, попавшая в тело страницы, игнорируется или интерпретируется непредсказуемо. - Каждый параметр задаётся один раз. Два тега description на странице — не расширение описания, а конфликт, и какой из них возьмёт поиск, вы не контролируете.
- Значение хранится в одной строке. Перенос строки внутри content допустим синтаксически, но при генерации из базы часто приводит к обрыву разметки.
Ограничение длины у значений формально задаётся браузером и обычно измеряется килобайтом, но практический предел куда жёстче: поисковые системы обрезают описание в сниппете, а соцсети — в превью. Ориентироваться нужно на эти пределы, а не на технический максимум.
Какие метатеги реально влияют на выдачу
В коде типовой страницы метатегов бывает два десятка, а работающих из них — пять-шесть. Остальные достались от старых шаблонов и сборок.
| Тег | Что задаёт content | Влияние |
|---|---|---|
| description | Описание страницы для сниппета | На позиции не влияет, влияет на кликабельность — то есть на трафик |
| robots | Директивы индексации и переходов по ссылкам | Прямое и жёсткое: ошибка здесь убирает страницы из поиска |
| viewport | Поведение страницы на мобильных экранах | Косвенное, но сильное: без него сайт непригоден для телефона |
| charset | Кодировку документа | Критичное при ошибке: неверное значение даёт нечитаемые символы |
| og:title, og:description, og:image | Заголовок, описание и картинку превью при отправке ссылки | На ранжирование не влияет, определяет вид ссылки в мессенджерах и соцсетях |
| keywords | Перечень ключевых фраз | Не учитывается поисковыми системами, оставлен в движках по инерции |
| http-equiv=»refresh» | Автоматический переход через заданное время | Вредный: используйте серверный редирект, а не эту конструкцию |
| author, generator, revisit-after | Служебные сведения | Нулевое, на выдачу не влияют никак |
Отдельно замечу про title: он не является метатегом, хотя стоит рядом с ними и заполняется в тех же полях SEO-плагинов. При этом влияет на позиции сильнее любого из перечисленных выше. Если времени на метаданные мало, вкладывайте его в title.
Description: что писать в content
Описание не поднимает страницу в выдаче, но определяет, кликнут по ней или по соседней. При равных позициях разница в кликабельности между хорошим и плохим описанием измеряется разами. Правила такие.
Подробнее об этом — в статье «Дата публикации решает: почему Яндекс любит свежее и как использовать это без обмана».
- Длина 140–170 знаков. Более длинное описание обрезается многоточием, и обрывается обычно на самом важном.
- Главная мысль в первой половине. Пишите так, чтобы смысл сохранился, даже если хвост отрежут.
- Конкретика вместо прилагательных. Срок, цена от, район работы, наличие, гарантия. «Высокое качество и индивидуальный подход» не выбирает никто.
- Ключевая фраза в естественной формулировке. Совпадение с запросом подсвечивается в выдаче жирным и притягивает взгляд.
- Уникальность на каждой странице. Одинаковое описание на сотне карточек — распространённая ошибка шаблона, из-за неё поиск начинает собирать сниппет сам, чаще всего неудачно.
- Никаких списков через запятую. Перечисление фраз в описании читается как спам и снижает доверие ещё до перехода.
Важная оговорка: поисковая система не обязана показывать ваше описание. Она формирует сниппет под конкретный запрос и часто берёт фрагмент текста со страницы, если он отвечает точнее. Это не повод не заполнять description — это повод писать первые абзацы страниц так, чтобы из них получался хороший сниппет.
Помогу с продвижением: вывести сайт в топ Яндекса — вывожу сайты в топ Яндекса белыми методами.
Если интересно направление с сайтами — базу даю в своём курсе:
Robots: управление индексацией через content
Самый опасный метатег из всех: ошибка в его значении убирает страницы из поиска целиком, и обнаруживается это обычно через несколько недель по просевшему трафику. Значения перечисляются через запятую внутри одного content.
| Значение | Что делает | Когда применять |
|---|---|---|
| index, follow | Разрешает индексацию и переходы по ссылкам | Поведение по умолчанию, тег можно не ставить вовсе |
| noindex | Запрещает показ страницы в результатах поиска | Служебные страницы, корзина, результаты внутреннего поиска, страницы благодарности |
| nofollow | Запрещает переход по ссылкам со страницы | Редко: страницы с пользовательскими ссылками без модерации |
| noarchive | Запрещает сохранённую копию | Быстро меняющиеся данные — цены, расписания, остатки |
| none | Эквивалент noindex, nofollow | Полное исключение страницы из работы поиска |
| noyaca | Запрещает Яндексу брать описание из Яндекс.Бизнеса вместо вашего | Когда сниппет упорно подставляется чужой |
Два практических замечания. Первое: закрытие страницы в robots.txt и метатег noindex — разные механизмы. Если страница запрещена к обходу в robots.txt, робот до метатега просто не дойдёт и не узнает о запрете — страница может остаться в выдаче со сгенерированным описанием. Чтобы убрать страницу из поиска, оставьте её открытой для обхода и поставьте noindex.
Второе: после снятия сайта с разработки первым делом проверяйте именно этот тег. Строка <meta name="robots" content="noindex, nofollow">, забытая в шаблоне после запуска, — самая частая причина того, что новый сайт месяцами не появляется в поиске.
Тему разбирал отдельно: «Стена текста без подзаголовков: почему человек уходит, не дочитав до вашего оффера».
Технические метатеги: viewport, charset, http-equiv
Эти теги не про SEO напрямую, но при ошибке в них никакая оптимизация не поможет.
Viewport задаёт, как страница ведёт себя на мобильном экране. Рабочее значение одно: width=device-width, initial-scale=1. Ширина страницы приравнивается к ширине экрана, масштаб по умолчанию единица. Чего в этом теге быть не должно — параметров user-scalable=no и maximum-scale=1: они запрещают пользователю увеличивать страницу пальцами, что мешает людям со слабым зрением и считается ошибкой доступности. Ещё одна частая беда — фиксированная ширина вроде width=1024: в этом случае телефон показывает уменьшенную копию десктопной версии, где ничего не прочитать.
Charset объявляет кодировку. Современное значение — UTF-8, и объявляться оно должно в первой тысяче байт документа, то есть в самом начале head. Несовпадение кодировки файла и объявленной в теге даёт знаменитые «кракозябры» вместо русского текста. Если такое встретилось, проверяйте три места сразу: сам тег, кодировку файлов на сервере и заголовок, который отдаёт веб-сервер, — конфликт может быть в любом из них.
Http-equiv в остальных вариантах сегодня почти не нужен. Конструкция с refresh для переадресации устарела и вредна: она ухудшает работу кнопки «назад» в браузере и хуже интерпретируется поиском, чем обычный редирект 301 на стороне сервера. Директивы кэширования через http-equiv тоже не работают так, как задумано, — кэшированием управляют настоящие HTTP-заголовки.
Open Graph: как ссылка выглядит при отправке
Если нужна помощь по теме — курсы SEO-оптимизации.
Когда кто-то отправляет ссылку на ваш сайт в мессенджере или публикует в соцсети, превью собирается из метатегов Open Graph. Если их нет, площадка берёт что попало: заголовок с обрезкой, случайный кусок текста и первую попавшуюся картинку, часто логотип из шапки размером в пару сотен пикселей.
og:title— заголовок превью. Может отличаться от title и быть короче.og:description— описание, обычно повторяет description или пишется отдельно, покороче.og:image— картинка, абсолютным адресом. Рабочий размер около 1200×630 пикселей, вес до полутора мегабайт.og:url— канонический адрес страницы, чтобы разные варианты ссылки склеивались в одну.og:type— тип содержимого: website для обычных страниц, article для материалов блога.
Проверять результат нужно не в коде, а на практике: отправьте ссылку самому себе в мессенджер и посмотрите, что получилось. Если превью старое, значит, площадка держит кэш — у большинства из них есть инструмент принудительного обновления по адресу страницы.
Смежный материал по теме — «Один сайт в топе Москвы и на дне в Казани: как работают геозависимые запросы».
Что в content писать не нужно
Половина проблем с метатегами возникает не от незнания синтаксиса, а от привычек десятилетней давности.
- Перечень ключевых фраз через запятую. Ни в keywords, ни тем более в description. В первом случае это бесполезно, во втором — вредно для кликабельности.
- Название города по десять раз. Ни в одном метатеге повторение не увеличивает шансы показа по региональным запросам.
- Автоматическая генерация из первых строк текста. Такой description почти всегда обрывается на середине фразы и выглядит небрежно.
- Одинаковое описание на всех страницах. Хуже, чем пустое поле: поиск помечает это как дубли метаданных.
- Служебные теги вроде revisit-after и generator. Поисковые системы их игнорируют, а generator ещё и сообщает всем версию вашего движка.
- Телефон и адрес в description. Занимают место, которое лучше отдать выгоде. Контакты выводятся микроразметкой и берутся из карточки организации.
Как проверить метатеги на своём сайте
Проверка занимает вечер и почти всегда находит что-то важное.
- Откройте главную и нажмите Ctrl+U. Просмотрите всё содержимое head сверху вниз: сколько там метатегов, какие из них вы узнаёте, нет ли дублей.
- Повторите на странице категории, карточке товара и статье блога. Разные шаблоны формируют метаданные по-разному, проблема обычно живёт в одном из них.
- Прогоните сайт краулером — Netpeak Spider или Screaming Frog. В выгрузке отсортируйте страницы по description и найдите повторы и пустые значения.
- Отдельным фильтром выберите страницы, где в robots стоит noindex. Убедитесь, что там только служебные адреса.
- Загляните в Яндекс.Вебмастер, в раздел диагностики и в «Страницы в поиске». Исключённые страницы с причиной «запрещено метатегом» покажут, где закрыто лишнее.
- Отправьте себе ссылку на главную и на одну статью в мессенджер и посмотрите превью.
| Ошибка | Чем оборачивается | Как исправить |
|---|---|---|
| Забытый noindex после запуска сайта | Сайт не появляется в поиске месяцами | Убрать тег из шаблона, отправить страницы на переобход |
| Одинаковый description на всех страницах | Дубли метаданных, поиск собирает сниппет сам | Настроить шаблон описания с подстановкой названия и цены |
| Два тега description на странице | Непредсказуемый выбор описания поиском | Найти второй источник — обычно тема и плагин выводят его параллельно |
| Viewport с запретом масштабирования | Проблемы доступности, замечания в аудитах | Оставить только width=device-width, initial-scale=1 |
| Кодировка объявлена, но файлы в другой | Нечитаемые символы вместо текста | Привести к UTF-8 файлы, тег и заголовок сервера |
| Отсутствие og:image | Ссылки в мессенджерах выглядят пустыми, по ним меньше переходят | Задать изображение по умолчанию и подстановку миниатюры для статей |
| Переадресация через http-equiv refresh | Ломается кнопка «назад», хуже передаётся вес страницы | Заменить на серверный редирект 301 |
Частые вопросы
Обязательно ли заполнять description на каждой странице? На важных — да: главная, услуги, категории, ключевые статьи. Для тысяч однотипных карточек разумнее настроить шаблон с подстановкой характеристик, чем оставлять поле пустым или заполнять вручную месяцами.
Влияет ли длина content на позиции? Не влияет. Длина имеет значение только для показа: слишком длинное описание обрежется, слишком короткое не даст поводу кликнуть.
Почему в выдаче показывается не мой description? Поиск подбирает сниппет под конкретный запрос и берёт фрагмент страницы, если тот отвечает точнее. Иногда подставляется описание из карточки организации — в этом случае помогает значение noyaca в теге robots.
Нужно ли ставить keywords, если поле есть в плагине? Нет. Поисковые системы его не учитывают. Наличие поля в интерфейсе — совместимость со старыми привычками, а не признак полезности.
Можно ли задать разные метатеги для мобильной и десктопной версии? При адаптивной вёрстке страница одна, метатеги общие, и так правильно. Отдельные наборы возникают только при отдельном мобильном поддомене, а такая схема сегодня почти не используется.
Что делать, если движок выводит лишние метатеги и убрать их нельзя? Ничего страшного: служебные теги не мешают. Исключение — generator с версией CMS, его лучше отключить из соображений безопасности. В большинстве систем это делается одной настройкой темы.
Коротко
- Атрибут content хранит значение метатега; смысл задаёт указатель name или http-equiv, а сам атрибут просто содержит данные в кавычках внутри head.
- Работающих метатегов немного: description, robots, viewport, charset и группа Open Graph — остальные достались от старых шаблонов и на выдачу не влияют.
- Description на позиции не влияет, но определяет кликабельность: 140–170 знаков, конкретика в первой половине, уникальность на каждой странице.
- Robots — самый опасный тег: забытый после запуска noindex убирает сайт из поиска, а закрытие в robots.txt мешает роботу увидеть сам запрет.
- Viewport должен содержать только width=device-width и initial-scale=1, без запрета масштабирования; charset — UTF-8 в начале head.
- Проверка занимает вечер: исходный код по одному шаблону каждого типа, выгрузка краулером на дубли и пустые описания, раздел исключённых страниц в Вебмастере и отправка ссылки в мессенджер.
Если после проверки метатегов остались вопросы, какие страницы закрыты от поиска по ошибке и почему сниппеты выглядят не так, как задумано, приходите на SEO-консультацию — посмотрим код и данные Вебмастера по вашему сайту.
Увеличьте позиции и продажи вашего сайта
Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:
Остались вопросы по продвижению?
Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.
Связаться со мной →
Комментарии
Кондратий Ушаков
Проверил сайт по вашему списку и нашёл два тега description на всех страницах: один выводит тема, второй плагин. Показывался, судя по всему, второй, а правил я первый. Полгода правил не то поле.
Яна Долгушина
У нас магазин, четыре тысячи карточек. Заполнять описания руками нереально, а шаблон получается однотипным: «Купить название по цене цена». Это считается дублями или нет?
Анатолий Кузнецов автор
Не считается, пока в подстановку попадают действительно разные данные. Дубли — это когда на всех карточках стоит одинаковый текст без переменных. Ваш шаблон рабочий, но его стоит усилить: добавьте в него не только название и цену, но и один-два отличительных параметра из характеристик товара — размер, объём, мощность, материал. И вставьте элемент, который влияет на решение: срок доставки, наличие, гарантию. Получится примерно «Название, характеристика, цена от такой-то, доставка за столько-то дней». Такое описание и уникально, и полезно в выдаче. Отдельно проверьте, что подстановка не выдаёт пустоту там, где характеристика не заполнена, — иначе получите описания с провалами вида «купить , цена».
Олег Черемисин
Про забытый noindex — знакомая боль. Запустили сайт в январе, удивлялись отсутствию трафика, нашли причину в марте. Два месяца просто выпали.
Ангелина Ремизова
Вопрос про сниппеты. Мы пишем нормальные описания, а Яндекс всё равно показывает кусок текста со страницы, причём иногда из середины статьи. Можно как-то заставить его брать наше?
Анатолий Кузнецов автор
Заставить нельзя, поиск сам решает, что лучше отвечает конкретному запросу. Но повлиять можно. Первое: посмотрите, какие фрагменты подставляются, — они показывают, что поиск считает главным в вашем тексте. Если это середина статьи, значит, там есть прямой ответ, которого нет в описании. Перенесите этот ответ в description и в первый абзац. Второе: пишите первые два-три предложения страницы так, чтобы они годились в сниппет сами по себе — без отсылок к предыдущему тексту, с конкретикой и ключевой формулировкой. Третье: проверьте, не подставляется ли описание из Яндекс.Бизнеса — это видно по тому, что текст совпадает с карточкой организации. В этом случае помогает значение noyaca. И учтите, что для разных запросов сниппет будет разным, это нормально и работает вам на пользу.
Данила Прошкин
Про og:image не думал вообще. Отправил ссылку коллеге — превью подтянуло иконку из шапки в жутком качестве. Выглядит так, будто сайт заброшен. Пойду ставить картинку.
Вера Хлебникова
Не поняла разницу между закрытием в robots.txt и метатегом noindex. У нас закрыты в robots.txt страницы фильтров, но они всё равно висят в поиске с непонятными описаниями. Это и есть тот случай?
Анатолий Кузнецов автор
Ровно тот. Директива в robots.txt запрещает роботу заходить на страницу, но не запрещает показывать её в результатах: если на неё ведут ссылки, адрес попадает в выдачу, а описание поиск собирает из чего придётся — отсюда странные сниппеты. Порядок исправления такой. Уберите запрет из robots.txt, чтобы робот мог зайти на страницы фильтров. Поставьте на них метатег robots со значением noindex. Дождитесь переобхода — можно ускорить, отправив адреса через раздел переобхода в Вебмастере. Когда страницы уйдут из выдачи, можно при желании вернуть запрет в robots.txt, чтобы не тратить лимит обхода, но обычно этого уже не требуется. И отдельно подумайте, все ли фильтры стоит закрывать: страницы популярных сочетаний параметров часто дают хороший трафик и их выгоднее оставить открытыми с нормальными метаданными.
Рустам Ганиев
Замечание про generator с версией движка неочевидное, но справедливое. Проверил свой сайт — там честно написана версия, а обновлялись мы последний раз давно. Фактически объявление для сканеров уязвимостей.
Наталья Косорукова
Скажите, а сколько знаков реально помещается в сниппет Яндекса? Видела рекомендации и про 160, и про 200, и про 250. Кому верить?
Анатолий Кузнецов автор
Точного числа не существует, и в этом причина расхождений. Ширина сниппета измеряется не знаками, а пикселями, поэтому строка из узких букв поместится длиннее, чем из широких. Плюс на мобильных и десктопе разное количество строк, а под некоторые запросы Яндекс показывает расширенный сниппет с дополнительными элементами. Рабочий подход — держаться диапазона 140–170 знаков и строить фразу так, чтобы главное было в начале. Тогда при любом варианте обрезки смысл сохранится. И не гонитесь за максимальным заполнением: короткое ёмкое описание с конкретикой работает лучше длинного, где выгода спрятана в конце и до неё не дочитывают.
Севастьян Мокрушин
Нашёл у себя viewport с user-scalable=no, поставленный ещё при вёрстке в позапрошлом году. Убрал — сайт стало нормально увеличивать на телефоне. Мелочь, а раздражала всех, включая меня.
Ирина Плетнёва
Полезно про то, что title не метатег. У нас в задании подрядчику так и было написано «заполнить метатеги title и description», и почему-то он занялся только вторым.
Матвей Ковтун
А есть смысл ставить og-теги, если весь трафик идёт из поиска и ссылками у нас никто не делится? Или это работа впустую?
Анатолий Кузнецов автор
Смысл есть, и вот почему. Ссылками делятся чаще, чем видно в статистике: переходы из мессенджеров в отчётах часто попадают в прямые заходы, потому что источник не передаётся. То есть вы просто не знаете, сколько раз вашу ссылку отправили в переписке. Второй момент: настройка занимает один раз полчаса — задаёте в шаблоне подстановку заголовка, описания и миниатюры записи, и дальше это работает само на всех страницах. Третий: даже если ссылку отправит один ваш менеджер клиенту, аккуратное превью с картинкой и внятным заголовком выглядит убедительнее голой строки адреса. Так что это не работа впустую, а разовая настройка с длинным сроком службы. Начните с картинки по умолчанию для сайта и подстановки миниатюры для статей — этого достаточно.
Зоя Рахманова
Проверила четыре шаблона, как советуете. На карточках товара description формируется, на категориях пустой, в блоге дублируется заголовок. Три разных проблемы на одном сайте, а казалось, что всё настроено.