/tool/meta-tags-generator/ работает считает браузер, страницу открывает наш сервер
Вставьте адрес — сервер откроет страницу и разложит её теги по полям, включая те, что вы забыли. Дальше правьте: справа сразу видно, как ссылка выглядит в выдаче Google и в карточке мессенджера, а длина считается не только в знаках, но и в пикселях — режут строку именно по ним.
Разметку кладут в <script type="application/ld+json"> — тег со скриптом
уже подставлен в HTML-выгрузке выше, отдельным файлом отдаётся чистый объект.
Иконки берутся с того же адреса, что стоит вверху в поле «Адрес страницы».
«Загрузить теги» приносит объявленный список, эта кнопка обходит каждый адрес и говорит, лежит ли там файл.
Заодно проверяется корневой /favicon.ico: его браузер просит сам, даже когда в разметке не объявлено ничего.
Обход стоит одного запроса на каждую иконку. Общий ограничитель сайта — триста обращений в час с одного адреса, и его делят все инструменты.
Что на странице
Страница не загружена
Версия протокола — та, которой отдали саму страницу. По HTTP/1.1 десяток мелких файлов уходит очередью, по HTTP/2 и HTTP/3 — одним соединением, и лишняя иконка перестаёт стоить отдельного круга к серверу.
| Что | Адрес | Размеры и тип | Ответ |
|---|
По строке на страницу. Только адрес — заголовок и описание заберём с сайта. «адрес; заголовок; описание» — посчитаем то, что вы вставили, не выходя в сеть.
За раз забираем не больше пятидесяти адресов: общий ограничитель сайта — триста обращений в час с одного адреса, и его делят все инструменты.
Итог по списку
Список не проверен
Замечания те же, что и в панели сверху: пусто, длиннее ориентира, шире строки Google, заголовок повторяет описание.
| Адрес | Замечания | Заголовок | Описание |
|---|
Вставьте адрес готовой страницы и нажмите «Загрузить теги». Поля заполнятся тем, что стоит на странице сейчас, — title, description, robots, canonical, og:*, twitter:*, article:*, product:*, theme-color и языковые версии, — дальше вы правите живое, а не набираете заново.
Выберите тип страницы. От него зависит og:type, набор дополнительных тегов и тип разметки JSON-LD: у статьи это Article с датами и автором, у товара — Product с ценой.
Переключайте площадки справа. Google режет заголовок по ширине строки, X в большой карточке не показывает описание вовсе, LinkedIn не показывает его никогда — увидеть это до публикации дешевле, чем после.
Нажмите «Проверить» у картинки. Сервер скажет код ответа, схему, версию протокола, тип и вес, браузер замерит ширину и высоту — и станет видно, соберётся карточка с картинкой или без неё.
Загляните в «Иконки и протокол». Объявленный список приходит вместе с тегами; кнопка «Проверить иконки» обходит каждый адрес и корневой /favicon.ico и говорит, лежит ли там файл.
Заберите результат вкладкой, которая вам нужна: HTML для head, объект metadata для Next.js, useHead для Nuxt или разметку react-helmet. Кнопка «Ссылка на набор» кладёт всю конфигурацию в адрес — её можно отправить.
Много страниц — вниз, в пакетную проверку. Пятьдесят адресов за раз, таблица с длинами в знаках и пикселях, выгрузка CSV.
Исходные данные — те же, что стоят в полях по умолчанию: их можно пересчитать в уме и убедиться, что инструмент не врёт.
Запас по знакам: 60 − 45 = 15 у заголовка и 160 − 140 = 20 у описания. Оба положительные.
Запас по пикселям считается отдельно: заголовок рисуется Arial 20 px, строка Google на компьютере — около 600 px. Одно и то же число знаков даёт разную ширину, поэтому счётчик показывает обе меры.
Тип «статья» ставит og:type=article, открывает поля дат и автора и переводит JSON-LD на Article.
В HTML-блоке собираются пятнадцать тегов: charset, viewport, title, description, robots, canonical, восемь тегов Open Graph (вместе с og:image:alt) и twitter:card, а следом — разметка JSON-LD. Число тегов написано в подписи над листингом и меняется вместе с полями.
Кнопка «Проверить» у картинки добавляет к тегам og:image:width и og:image:height, когда размеры замерены: Facebook по ним рисует карточку, не дожидаясь загрузки файла.
Замечаний нет: обе строки укладываются и в знаки, и в ширину, адреса полные и с https. Поставьте ориентир заголовка 40 — и появится замечание вместе с многоточием в карточке Google. Нажмите «Проверить» у картинки — и станет видно, что по этому адресу файла нет: example.com отвечает на такой запрос ошибкой.
На сервер уходит только адрес: когда вы нажимаете «Загрузить теги», «Проверить» у картинки, «Проверить иконки» или запускаете пакетную проверку. Сервер открывает страницу, отдаёт её разбор и ничего не сохраняет. Всё остальное — счётчики, превью, разбор чужой разметки, сборка тегов, JSON-LD, выгрузки — считается в браузере, без единого запроса.
Предела в знаках не существует: строку обрезают по ширине. Строка из «ш» и «щ» шире строки из «i» и «l» при равном числе знаков, поэтому «уложился в 60» ничего не гарантирует. Пиксели меряются тем же шрифтом и кеглем, каким рисует Google, — Arial 20 px для заголовка и 14 px для описания. Знаки оставлены рядом, потому что к ним привыкли.
Так эти площадки её и рисуют. X в большой карточке показывает картинку, заголовок и домен; LinkedIn в ленте — картинку, заголовок и домен. Тег og:description при этом обязан быть: его читают Telegram, Slack, Facebook, ВКонтакте и поисковики. Превью показывает не то, что вы написали, а то, что дойдёт до человека.
Ходовой размер — 1200×630, это соотношение 1,91:1: под него режут Facebook, LinkedIn и X. Сторона меньше 200 px превращает большую карточку в маленькую, файл тяжелее 5 МБ часть площадок просто не берёт, адрес по http вместо https не подхватывается почти нигде. Проверка у поля говорит про конкретный файл: код ответа, протокол, тип, вес, ширину, высоту и соотношение.
Он страхует от случайных дублей: один и тот же материал открывается с utm-метками, со слэшем на конце и без него. Canonical говорит, какой адрес считать основным.
Все заполненные поля — они складываются в хэш адреса, ту часть после решётки, которую браузер не отправляет на сервер. Ссылку можно переслать: у получателя откроется тот же заполненный набор. Список для пакетной проверки в ссылку не кладётся: он бывает на сотню строк и в адрес не помещается.
Раскладываются все семейства: title, description, robots, canonical, og:*, twitter:*, article:*, product:*, theme-color и языковые версии. Страница при этом читается дважды: готовый разбор сервер отдаёт сам, а её тело приезжает отдельно — ради тех семейств, которых в разборе нет, они разбираются уже в браузере. Пустое поле после загрузки — это ответ, а не сбой: такого тега на странице нет. Не подхватится только то, что страница дописывает скриптом уже в браузере: сервер видит разметку такой, какой её отдали, — ровно так же её сначала видит и поисковый робот.
Иконка объявляется в разметке одной строкой, а лежит ли по этому адресу файл — из разметки не видно: картинку потеряли при переезде, вкладка стала пустой, а тег остался на месте. Кнопка обходит каждый объявленный адрес и говорит код ответа и вес, отдельно проверяет корневой /favicon.ico — его браузер просит сам, даже когда не объявлено ничего, — и показывает, есть ли apple-touch-icon для ярлыка на iPhone, манифест и theme-color. Рядом стоит версия протокола, которой отдали страницу: по HTTP/1.1 мелкие файлы грузятся очередью, по HTTP/2 и HTTP/3 — одним соединением.
Показывает весь путь от адреса до конечной страницы и коды ответа.
Открыть
Строит дерево заголовков страницы и находит пропущенные уровни.
Открыть