SSM - Единый стандарт для метаданных

SSM - Единый стандарт для метаданных
Стандарты

28

8 мин.

Определения

Стандарт SSM определяет требования к семантике, доступности и логике работы метаданных.

Структура и семантика

Заголовок и описание страницы

  • У каждой индексируемой страницы задаётся уникальный и точный заголовок <title>. Он кратко описывает основное содержание и не подменяется названием сайта или общим шаблонным текстом.
  • Для каждой индексируемой страницы указывается уникальное содержательное описание. Оно должно соответствовать видимому содержимому, а не состоять из набора ключевых слов.
  • Для <title> и описания не устанавливается универсальное ограничение по числу символов. Поисковая система может обрезать заголовок или сформировать ссылку и фрагмент результата на основе других частей страницы.
  • Описание страницы может использоваться при формировании поискового сниппета, но поисковая система вправе выбрать другой фрагмент текста. Заголовок и описание не гарантируют переходы или позиции в выдаче.

Канонический URL

  • Для набора дублирующих или очень похожих URL указывается предпочтительный канонический адрес через rel="canonical" либо подходящий механизм на уровне HTTP-ответа.
  • Канонический адрес должен вести на доступную страницу с эквивалентным основным содержимым. Обычно указываются стабильный абсолютный HTTPS URL и самоссылочный canonical на предпочтительной версии страницы.
  • Canonical является сигналом для поисковой системы, а не безусловной командой. Он помогает определить предпочтительный URL и объединить сигналы похожих страниц, но не является способом скрыть страницу или защитой от автоматического «штрафа» за дублирование.
  • Разные языковые версии с переведённым основным содержимым не следует сводить к одному canonical. Для них задаются собственные канонические URL и связка hreflang.

Индексация и обход

  • Индексация и обход — разные процессы. Файл robots.txt управляет доступом совместимых роботов к URL и ресурсам, но сам по себе не является надёжным способом исключить URL из поисковой выдачи.
  • Чтобы исключить доступную страницу из индекса, применяется поддерживаемая поисковой системой директива noindex в метаданных страницы или HTTP-заголовке X-Robots-Tag. Для обработки директивы робот должен иметь возможность получить страницу.
  • URL, закрытый в robots.txt, может остаться известным поисковой системе по внешним ссылкам, хотя её содержимое не будет доступно роботу. Поэтому robots.txt не используется как средство конфиденциальности.
  • Директивы index и follow обычно являются поведением по умолчанию; указывать их без необходимости не требуется. Значения директив и их поддержка проверяются для целевых поисковых систем.
  • Закрытый или конфиденциальный контент защищается аутентификацией и контролем доступа, а не только метаданными или правилами обхода.
  • Доступные страницы должны возвращать корректный HTTP-статус. Для перенесённого ресурса настраивается перенаправление, а для удалённого — соответствующий статус отсутствия. XML Sitemap помогает обнаруживать предпочтительные URL, но не гарантирует их обход или индексацию.

Пример директивы для исключения страницы из индекса:

<meta name="robots" content="noindex">

Эта директива доступна роботу только при обходе страницы. Если одновременно закрыть URL в robots.txt, робот может не получить noindex.

Доставка метаданных

  • Критичные метаданные должны быть доступны тем роботам и платформам, для которых предназначены. Если обработка JavaScript потребителем неизвестна или ограничена, метаданные включаются в исходный HTML-ответ или HTTP-заголовки.
  • Для клиентской генерации проверяется итоговый документ после рендеринга и фактический HTTP-ответ. Изменение метаданных при гидратации не должно оставлять конфликтующие значения или несколько разных canonical.

Локализация и языковые версии

  • Если переводы доступны по отдельным URL, каждая языковая версия должна иметь собственный постоянный адрес и канонический URL на версию с тем же языком и содержанием.
  • Связи между эквивалентными страницами указываются через rel="alternate" с корректным hreflang. Каждая версия перечисляет себя и остальные доступные варианты; набор ссылок должен быть взаимным, а целевые страницы — доступны для обхода и индексирования.
  • В hreflang указываются допустимые коды языка и, при необходимости, региона. x-default можно использовать для страницы по умолчанию, если она предусмотрена для пользователей, которым не соответствует отдельная языковая версия.
  • Основной язык документа указывается в атрибуте lang. Он помогает вспомогательным технологиям и пользовательским агентам определить язык содержимого, но не заменяет hreflang.
  • og:locale задаёт локаль Open Graph в формате язык_РЕГИОН, например ru_RU. Повторяющиеся og:locale:alternate перечисляют другие локали, в которых доступна страница.
  • og:locale:alternate не связывает URL переводов и не заменяет hreflang. Список альтернативных локалей должен соответствовать реально доступным переводам.

Пример связки языковых URL:

<html lang="ru">
<head>
  <link rel="alternate" hreflang="ru" href="https://example.com/ru/article">
  <link rel="alternate" hreflang="en" href="https://example.com/en/article">
  <link rel="alternate" hreflang="de" href="https://example.com/de/article">
  <link rel="alternate" hreflang="ja" href="https://example.com/ja/article">
  <link rel="alternate" hreflang="x-default" href="https://example.com/article">
</head>
</html>

Тот же полный набор взаимных ссылок размещается на каждой языковой версии с соответствующим значением lang.

Метаданные для публикации ссылок

Open Graph

  • Для превью Open Graph указываются og:title, og:type, og:image и og:url — основные свойства протокола.
  • og:description кратко описывает конкретную страницу. Для изображения рекомендуется указывать og:image:alt; это описание содержания изображения, а не подпись к публикации.
  • URL изображения и og:url задаются абсолютными адресами, доступными извне. Для изображения предпочтителен HTTPS; ресурс должен отвечать без авторизации и не блокироваться для роботов платформы.
  • Значения Open Graph соответствуют именно той странице, для которой опубликована ссылка. og:url согласуется с предпочтительным постоянным адресом страницы.
  • og:locale и og:locale:alternate помогают передать локаль объекта, но не гарантируют, что социальная платформа покажет локализованное превью.

X Cards

  • Для карточки в X можно задать метаданные twitter:*, в том числе twitter:card="summary_large_image", если такой формат предусмотрен для целевого типа публикации.
  • summary_large_image задаёт вариант карточки с крупным изображением; это не гарантия максимального охвата, CTR или приоритета в ленте.
  • Метаданные X не следует считать универсальными для всех социальных сетей. Поддержка, порядок приоритета и кэширование превью зависят от платформы и могут меняться.
  • Заголовок, описание и изображение карточки должны соответствовать содержимому страницы. При отсутствии отдельной настройки значения иногда берутся из Open Graph, но поведение проверяется на целевой платформе.

Иконки сайта и веб-приложения

Иконки сайта

  • Для значка сайта указываются один или несколько файлов через связь rel="icon". Поддерживаемый формат и размер зависят от браузера и места отображения.
  • SVG подходит для масштабируемой иконки, но не следует считать его единственным универсально поддерживаемым файлом. ICO или растровый вариант добавляется при необходимости совместимости с целевыми браузерами и средами.
  • Favicon должен быть квадратным, доступным для загрузки и иметь стабильный URL. Набор 16×16, 32×32 или 48×48 — варианты размеров, а не обязательный исчерпывающий перечень.
  • Иконка, используемая в браузерной вкладке или поисковом результате, и иконки устанавливаемого веб-приложения могут задаваться разными механизмами и наборами файлов.

Web App Manifest и мобильные платформы

  • site.webmanifest подключается, если сайту нужна конфигурация веб-приложения. Манифест может задавать имя, стартовый URL, режим отображения, тему и набор иконок.
  • Иконки манифеста снабжаются достоверными сведениями о формате, размере и назначении, если это необходимо для выбора файла. Набор 192×192 и 512×512 часто используется для совместимости с некоторыми средами установки, но не является универсальным требованием для каждого сайта или устройства.
  • Наличие манифеста само по себе не превращает сайт в установленное приложение и не гарантирует возможность установки. Поддержка и критерии установки зависят от браузера, операционной системы и функций сайта.
  • theme_color в манифесте или соответствующий метатег может влиять на оформление элементов браузера или приложения. Поддержка и визуальный эффект различаются между платформами.
  • apple-touch-icon и apple-mobile-web-app-capable относятся к сценариям добавления сайта на экран «Домой» и запуска в отдельном окне на устройствах Apple. Эти настройки являются платформенными и применяются только при целевой поддержке такого сценария; их наличие не обязательно для обычного сайта.
  • Манифест и отдельные иконки для Apple могут конкурировать за выбор файла. Проверяется фактически используемая иконка в поддерживаемых версиях операционной системы и браузера.

Структурированные данные

  • Структурированные данные добавляются только тогда, когда они точно описывают видимое содержимое страницы и подходят её типу.
  • JSON-LD — один из форматов структурированных данных и предпочтительный формат в документации Google. Схема и свойства выбираются по актуальной документации Schema.org и требованиям конкретного потребителя.
  • Разметка может сделать страницу подходящей для отдельных расширенных результатов, но не гарантирует их отображение и не заменяет качественное содержимое.
  • Рейтинги, цены, доступность товара и другие изменяемые сведения должны быть достоверными, актуальными и видимыми пользователю. Синтаксически корректная, но вводящая в заблуждение разметка не соответствует назначению структурированных данных.

Пример JSON-LD для содержимого, соответствующего типу Article:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Название статьи",
  "image": "https://example.com/ru/images/article.webp",
  "datePublished": "2026-09-26",
  "dateModified": "2026-09-26"
}
</script>

Поля примера заполняются фактическими данными страницы. Для другого типа содержимого используются соответствующие тип и свойства; необязательные поля не следует заполнять фиктивными значениями.

Тестирование

  • Проверяется уникальность и соответствие <title> и описания фактическому содержимому каждой индексируемой страницы.
  • Проверяются HTTP-статус, доступность роботу, отсутствие конфликтов между robots.txt, noindex, перенаправлениями и canonical.
  • Проверяется, что canonical указывает на нужную языковую версию и согласован с внутренними ссылками, Sitemap и og:url.
  • Проверяются доступность sitemap и корректность указанных в нём URL. Включение URL в sitemap не считается подтверждением индексации.
  • Для мультиязычных страниц проверяются значения lang, все hreflang-ссылки, взаимность связей и доступность каждой версии.
  • Превью проверяются в целевых социальных платформах; проверяются абсолютный URL, загрузка изображения, заголовок, описание, локаль и поведение кэша.
  • Проверяется отображение favicon, иконок манифеста и режима веб-приложения в заявленных браузерах и операционных системах.
  • Структурированные данные проверяются валидатором Schema.org и инструментами проверки расширенных результатов, когда они поддерживают выбранный тип. Валидность не считается гарантией появления расширенного результата.

Итоговый чек-лист SSM

КатегорияОсновные элементыНазначение
Метаданные страницы<title>, descriptionТочное представление страницы в поиске
Индексацияrobots, noindex, robots.txt, HTTP-статусУправление обходом и доступностью страницы для индексации
КанонизацияCanonical URL, перенаправления, sitemapСогласование предпочтительных адресов и обнаружение URL
Языкиlang, hreflang, og:localeСвязь доступных языковых версий и указание локали
СоцпревьюOpen Graph, метаданные XПредставление ссылки на поддерживающих платформах
Иконки и веб-приложениеFavicon, Web App Manifest, платформенные иконкиИдентификация сайта и настройка поддерживаемых сценариев установки
Структурированные данныеSchema.org, JSON-LDОписание структуры содержимого и возможность участия в поддерживаемых расширенных результатах

Итоговый пример метаданных

Пример показывает итоговый фрагмент документа. Метаданные могут формироваться CMS, шаблоном, серверным рендерингом, генератором статического сайта или другим инструментом; требования относятся к полученному документу и ответу, а не к API конкретной платформы.

<html lang="ru">
<head>
  <title>Название страницы</title>
  <meta name="description" content="Краткое описание содержимого страницы.">
  <link rel="canonical" href="https://example.com/ru/article">
  <link rel="alternate" hreflang="ru" href="https://example.com/ru/article">
  <link rel="alternate" hreflang="en" href="https://example.com/en/article">
  <link rel="alternate" hreflang="de" href="https://example.com/de/article">
  <link rel="alternate" hreflang="ja" href="https://example.com/ja/article">
  <link rel="alternate" hreflang="x-default" href="https://example.com/article">

  <meta property="og:title" content="Название страницы">
  <meta property="og:type" content="article">
  <meta property="og:url" content="https://example.com/ru/article">
  <meta property="og:image" content="https://example.com/ru/images/article-share.webp">
  <meta property="og:image:alt" content="Иллюстрация к статье">
  <meta property="og:locale" content="ru_RU">
  <meta property="og:locale:alternate" content="en_US">
  <meta property="og:locale:alternate" content="de_DE">
  <meta property="og:locale:alternate" content="ja_JP">

  <meta name="twitter:card" content="summary_large_image">
  <link rel="icon" href="/favicon.svg" type="image/svg+xml">
  <link rel="icon" href="/favicon.ico">
  <link rel="manifest" href="/site.webmanifest">
  <meta name="theme-color" content="#ffffff">
</head>
</html>

Похожие статьи

  • Анатомия React компонента

    Моё видение того, как должен выглядеть React компонент

    421

    7 мин.

  • SST-A - Единый стандарт для табов

    Стандарт SST-A определяет требования к семантике, доступности и логике работы табов

    62

    6 мин.

  • SSF-U - Единый стандарт для фуллскрина

    Стандарт SSF-U определяет требования к семантике, доступности и логике работы фуллскрина

    248

    2 мин.

  • SSA - Единый стандарт для аккордеона

    Стандарт SSA определяет требования к семантике, доступности и логике работы аккордеона

    258

    2 мин.

  • Bad Practices для сайтов

    Разбор критических ошибок веб-дизайна. Почему слайдеры, автоплей и тяжёлые страницы снижают конверсию и позиции в Google и Yandex

    232

    1 мин.

  • SSP - Единый стандарт для пагинации

    Стандарт SSP определяет требования к семантике, доступности и логике работы пагинации

    240

    1 мин.

  • Все статьи

Свяжитесь со мной