Разработка

Машиночитаемая страница: таблицы, атрибуты и согласованность данных

15 мин чтения
Игорь Волков — портрет-иллюстрация
Руководитель отдела разработки Media Monster
3 274 просмотров

Разметку на сайт за последние годы поставили почти все, а внутри страниц по-прежнему разнобой: в тексте одна ширина, в таблице другая, в фиде третья, а цена в разметке осталась с прошлой акции. Для человека это мелочь, для машины — повод не брать страницу за источник. Ниже: как свести четыре слоя данных к одному значению — правила таблицы характеристик, работа с единицами и прочерками, сверка на выборке из тридцати страниц и порядок действий, если карточек тысячи.

Коротко — главное из статьи
  • Машина разбирает страницу на пары «параметр — значение» и собирает их из четырёх слоёв: видимый текст, таблица, микроразметка, товарный фид. Расхождение между слоями она не сглаживает, как человек, а записывает как противоречие.
  • Ставить разметку раньше, чем приведены в порядок данные, — значит закрепить ошибку: пустые и неверные поля просто станут заметнее. Сначала словарь атрибутов и шаблон вывода, потом разметка.
  • Таблица «параметр — значение» без объединённых ячеек читается и человеком, и машиной. Инфографика, PDF и вкладка с подгрузкой по клику для характеристик не годятся: в наших проектах на производственных сайтах обычно от трети до половины параметров живёт только на картинке.
  • Прочерк в ячейке машина не отличает от незаполненного поля: если характеристики нет — пишем «нет» словом, если значение неизвестно — строку убираем. Единицы, разделители и порядок габаритов держим едиными по всему каталогу.
  • Проверять надо не любимые страницы, а выборку по деньгам: топ по просмотрам из Метрики, посадочные с расходом из Директа, страницы с наибольшими показами из Вебмастера. В наших проектах на первой выборке из 30 карточек расхождение обычно находится на 5-9 из них.

Что происходит со страницей при машинном чтении

Машиночитаемая страница — это страница, с которой программа снимает факты без участия человека: не «текст читается легко», а «вот название характеристики, вот значение, вот единица измерения, вот товар, к которому всё это относится». Робот поисковой системы, модуль выгрузки на товарную площадку и языковая модель, собирающая короткий ответ прямо в выдаче, делают с вашей страницей примерно одно и то же — разбирают её на отдельные утверждения и складывают в свою базу.

Разница с человеком принципиальная. Человек читает страницу как рассказ и сам сглаживает противоречия: увидел в тексте «ширина 90 см», а в таблице «900 мм» — понял, что это одно и то же. Прочитал «срок 3 дня» в первом абзаце и «7-10 рабочих дней» в блоке доставки — решил, что первое про склад, второе про изготовление. Машина так не умеет. Она записывает два разных значения одного поля и понижает доверие ко всей странице: источник, который сам себе противоречит, плохо годится на роль источника.

Проверить, что именно достаётся машине с вашей страницы, можно за пять минут и без разработчика.

  1. Откройте карточку товара, нажмите Ctrl+A, затем Ctrl+C и вставьте в «Блокнот» — в редактор без форматирования. То, что осталось на экране, и есть примерно текстовый слой страницы.
  2. Найдите в этом тексте пять базовых фактов: точное название, цену с валютой, габариты с единицами, материал или состав, срок изготовления или доставки. Факт, которого в тексте нет, для машины отсутствует.
  3. Вернитесь в браузер и нажмите Ctrl+U — откроется исходный код страницы. Поиском Ctrl+F найдите в нём конкретное число из таблицы, например 1200. Если число не находится, оно живёт либо на картинке, либо подгружается скриптом после клика — в обоих случаях у робота его может не оказаться.
  4. Повторите то же самое на трёх типах страниц: карточка товара, раздел каталога, страница услуги. Проблемы у них, как правило, разные: у карточки — картинки вместо таблиц, у раздела — вообще отсутствие фактов, у услуги — цена «по запросу».

В наших проектах на производственных сайтах — двери, окна, мебель, металлоконструкции — обычно от трети до половины ключевых параметров живёт только на изображении: чертёж, схема, инфографика с размерами. Посетителю это удобно, для машины такой страницы попросту нет: надпись «1200×2100» внутри картинки в текстовый слой не попадает. Вторая по частоте история — характеристики во вкладке, содержимое которой подтягивается только после клика: в исходном коде на этом месте пусто.

Машинное представление страницы складывается из четырёх слоёв. Первый — видимый текст: заголовки, абзацы, списки и таблицы. Второй — микроразметка: те же факты, записанные служебным кодом, которого посетитель не видит; какие типы бывают и когда какой нужен, разбирали отдельно в материале про микроразметку Schema.org и её типы. Третий — товарный фид: файл выгрузки, из которого товар уходит на площадки и в рекламу. Четвёртый — служебные поля: заголовок вкладки, описание, адрес страницы, хлебные крошки. Структурированные данные для нейропоиска — это не отдельная технология, а состояние, когда все четыре слоя говорят про товар одно и то же.

Отсюда следует неприятный вывод: добавить разметку на сайт, где текст и таблица расходятся, — значит закрепить расхождение и сделать его заметнее. Поэтому порядок работ обратный привычному: сначала приводим в порядок сами данные, потом описываем их разметкой и выгружаем в фид. Как меняется манера писать под машинное чтение, разбирали в материале про текст под нейропоиск; здесь речь про слой ниже — как факты хранятся, называются и подаются.

Таблица характеристик вместо абзаца: правила оформления

Таблица характеристик на сайте решает одну задачу: превратить набор фактов в пары «название — значение», которые не надо угадывать. Абзац «Дверь изготовлена из массива сосны, ширина 900 мм, коробка в комплекте, покрытие — эмаль» человек прочитает нормально, а машина разберёт с ошибками: непонятно, «в комплекте» относится к коробке или ко всей поставке, и что считать материалом — сосну или эмаль. В таблице эти же данные становятся однозначными.

Таблица характеристик вместо абзаца: правила оформления
Как подана характеристикаЧитает человекЧитает машинаКогда так уместно
Абзац сплошным текстомНормально, если абзац короткийПлохо: границы значений размытыВводные 2-3 предложения перед таблицей
Маркированный списокХорошоСредне: имя параметра часто не отделено от значенияКомплектация, что входит в услугу
Таблица «параметр — значение»Хорошо, сканируется глазамиХорошо: пара разбирается однозначноОсновной способ для характеристик
Инфографика или чертёжХорошоНикак: текста внутри картинки нетТолько как дополнение к таблице
PDF с характеристикамиТерпимо, но надо скачиватьНенадёжно и с задержкойПаспорт изделия как приложение
Вкладка с подгрузкой по кликуХорошоПлохо: в исходном коде значений нетДля характеристик не рекомендуем

Дальше — правила, по которым таблица собирается. Они простые, но нарушается почти каждое.

  1. Одна строка — одна характеристика. Не «Размеры: 900×2000, вес 32 кг», а три отдельные строки: ширина, высота, вес. Слипшиеся значения машина разбирает наугад.
  2. Никаких объединённых ячеек. Объединение по вертикали и горизонтали ломает соответствие «параметр — значение»: программа не понимает, к какой строке относится значение.
  3. Единый словарь названий. Если параметр называется «Ширина», он называется так во всех карточках категории — не «Ширина полотна» в одной, «Ш, мм» во второй и «Габарит по ширине» в третьей. Разные названия одного поля превращают каталог в набор несравнимых страниц.
  4. Комментарии — вне ячейки со значением. «40 мм (для моделей с усиленной коробкой — 45)» — это два факта и одно условие в одной клетке. Значение оставьте чистым, оговорку вынесите строкой ниже или в примечание под таблицей.
  5. Таблица в HTML, а не картинкой. Заголовки колонок — через th, тело — в tbody. Никакого текста характеристик внутри изображений.
  6. Содержимое присутствует в коде сразу. Если по дизайну нужен аккордеон или вкладка, пусть таблица уже лежит в HTML и просто скрывается стилями, а не запрашивается с сервера по клику.
  7. Порядок строк — по частоте вопросов. Первыми идут размер, материал, комплектация, срок, цена — то, что спрашивают в звонках. Редкие технические параметры уходят вниз.
  8. Заголовок перед таблицей. «Характеристики» плюс точное название модели: это связывает таблицу с товаром, а не с соседним блоком страницы.

Про мобильные отдельно. Широкую таблицу не надо резать или прятать: оборачивайте её в контейнер с горизонтальной прокруткой, тогда все значения остаются в коде и доступны. Обрезание колонок стилями — самый быстрый способ потерять половину данных, при этом визуально всё выглядит аккуратно. Что ещё ломается на телефоне, собрано в чек-листе по мобильной версии сайта.

Типовая ошибка владельца выглядит так: «таблица скучная, давайте сделаем красивую инфографику с размерами». Дизайнер рисует картинку, характеристики уезжают в неё целиком, и страница становится пустой для машины и неудобной для поиска по сайту. Второй вариант той же ошибки — «уберите таблицу вниз, чтобы не пугала цифрами». В наших проектах карточки, где заполнено меньше шести строк, ведут себя как пустые: их и человек пролистывает, и в короткий ответ выдачи они не попадают. Разумный ориентир для мебели, дверей и окон — 10-18 заполненных строк. И помните, что таблица работает не только на машину: что именно двигает решение о покупке, разбирали в материале про конверсию карточки товара.

Единицы, диапазоны, пустые ячейки и прочерки

Когда таблица уже есть, начинается вторая половина работы: привести к порядку то, что стоит в правой колонке. Именно здесь живёт большинство расхождений, и почти все они возникают не от незнания, а от того, что карточки заполняли разные люди в разные годы.

Единицы, диапазоны, пустые ячейки и прочерки
Как часто пишутКак лучшеЧто ломается в первом варианте
Ширина: 90Ширина: 900 ммНепонятно, сантиметры это или миллиметры
Размер: 90х200Ширина: 900 мм и Высота: 2000 мм отдельными строкамиПорядок величин приходится угадывать, «х» вместо знака ×
Цена: 12500Цена: 12 500 ₽ за комплект, с НДСНеясно, за что цена и включён ли налог
Срок: быстро, от 3 днейСрок изготовления: 5-7 рабочих дней«От» без верхней границы — не факт, а ожидание
Гарантия: —Гарантия: 24 месяца, либо строку убратьПрочерк читается и как «нет», и как «не заполнили»
Вес: 12.5 kgВес: 12,5 кгСмешение разделителей и латиницы в единицах

Единицы. Выберите базовую единицу на категорию и держите её во всём каталоге: для дверей, окон и корпусной мебели это обычно миллиметры, для стройки — миллиметры и метры по типам работ. Перевод в удобные человеку величины делайте в тексте («примерно 90 см по ширине»), а в таблице оставляйте базовую единицу. Единица пишется в той же ячейке, что и число, либо выносится в название параметра — но одинаково по всему сайту, а не вперемешку.

Разделители и формат числа. Пробел для тысяч, запятая для дробной части — и никаких точек в одной карточке и запятых в соседней. Знак габаритов — × , а не «х» и не «*». Порядок габаритов объявите явно: не «900×2000×40», а три отдельные строки или подпись «Ш × В × Г». В наших проектах после унификации единиц и разделителей доля строк с расхождением между текстом и таблицей обычно падает с 20-30% до 3-5%, и это ещё до всякой разметки.

Диапазоны. Пишите либо «900-2100 мм», либо «от 900 до 2100 мм» — но одним способом на весь сайт. И рядом объясняйте, от чего зависит разброс: «толщина 40-60 мм в зависимости от модели» — это факт, а просто «40-60 мм» — загадка. Диапазон «от» без верхней границы для срока и цены хуже отсутствия значения: он не даёт машине ничего, а человеку даёт ожидание, которое вы потом не подтвердите.

Пустые ячейки и прочерки. У любой характеристики три состояния: значение есть; характеристики у товара нет по природе; значение неизвестно. Машина различает только первое и «пусто». Поэтому правило простое: если характеристики нет — пишем «нет» словом («Подсветка: нет»), если значение неизвестно — строку из таблицы убираем, а не оставляем прочерк. Прочерк и «уточняйте» — это шум, который выглядит как заполненная таблица и мешает считать долю пустых полей.

Цена. Здесь три обязательных уточнения рядом с числом: валюта, единица расчёта (за штуку, за комплект, за м², за погонный метр, за створку) и включён ли налог. Расхождение по единице расчёта — самая частая причина, по которой цена на сайте не сходится с ценой в фиде и в рекламе. Отдельный разговор — цена «по запросу»: для машины такой страницы с ценой не существует, и в подборки по цене она не попадает. Плюсы и минусы такого решения разбирали в материале о том, показывать ли цены на сайте.

Дата рядом с цифрой. Добавьте под таблицей строку «Цены и сроки актуальны на такое-то число». Это дисциплинирует внутри компании и снимает часть звонков «а почему у вас на сайте другая цифра». В наших проектах после появления такой строки поток подобных вопросов заметно уменьшается, хотя сами цены при этом не меняются.

Ошибка владельца, которая встречается чаще прочих: приходит распоряжение «у нас снизилась цена, поставь 11 900 в описании». Контент-менеджер правит одно предложение в тексте — а таблица, микроразметка и фид остаются со старой цифрой. Через неделю на сайте живут две цены одновременно, и обе видны машине.

Бесплатный SEO-аудит сайта

Разберём ваш сайт, как в статьях этого блога: что мешает расти в Яндексе и Google и где теряются заявки.

Отправка формы не является заключением договора и не порождает обязательств сторон.

Когда текст, таблица, разметка и фид говорят разное

Это центральная тема всей истории. Разметка сама по себе давно не редкость: её ставят почти все. А вот сверять между собой слои данных не делает почти никто — и получается страница, на которой одна характеристика имеет два-три разных значения. Для человека такая страница выглядит нормально: он просто читает то, что ближе к глазам. Для машины это сигнал ненадёжности.

Когда текст, таблица, разметка и фид говорят разное
Источник данныхКто его обычно ведётТиповое расхождениеЧем оборачивается
Видимый текст карточкиКонтент-менеджер, иногда владелец личноПосле акции осталась старая цена и старый срок в описанииСпор с покупателем, вопросы «а почему на сайте другое»
Таблица характеристикКонтент-менеджер или выгрузка из учётной системыГабариты в других единицах, чем в текстеМашина видит два значения одного поля
МикроразметкаПодрядчик по сайту, шаблон CMSЦена и наличие берутся из полей, которые никто не заполняетВ выдаче показывается пустая или неверная цена
Товарный фидМодуль выгрузки, программистНазвание и комплектация отличаются от карточкиОтклонения на площадке, расхождение с объявлением
Учётная система и прайс (1С)Бухгалтерия и снабжениеЦена обновилась, до сайта не доехалаЗаявки по цене, по которой продавать уже нельзя

Четыре поля дают почти все расхождения, которые мы встречаем. Цена — акция объявлена в тексте, а в таблице, разметке и фиде старая. Сроки — «изготовим за 3 дня» в блоке преимуществ и «7-10 рабочих дней» в условиях доставки. Габариты — сантиметры в описании и миллиметры в таблице, либо разный порядок величин. Комплектация — «крепёж в комплекте» в тексте и пустое поле комплектации в фиде. Пятое, менее очевидное, — наличие: в фиде товар «в наличии», на сайте «под заказ».

Причина не в халатности, а в том, что у каждого слоя свой хозяин. Текст пишет контент-менеджер, разметку когда-то настроил подрядчик, фид собирает модуль из другого поля базы, прайс живёт в учётной системе. Никто не врёт — просто данные набираются руками в четырёх местах. Лечится это не проверками, а архитектурой: у характеристики должно быть одно место хранения, а текст, таблица, разметка и фид должны его подставлять.

Как это разложить по шагам, без разработчика на первом этапе:

  1. Выпишите 10-15 полей, которые встречаются на карточке чаще всего: название, артикул, цена, единица расчёта, наличие, срок, материал, габариты, вес, гарантия, комплектация, цвет.
  2. Напротив каждого поля укажите три вещи: где значение хранится, кто имеет право его менять, в какие слои оно попадает.
  3. Отметьте поля, которые набираются руками в двух и более местах. Это ваш список будущих расхождений — как правило, там и оказываются цена, срок и комплектация.
  4. Поставьте задачу разработчику: вывод в тексте, таблице, разметке и фиде берётся из одного поля карточки. В шаблонах WordPress, Битрикса и OpenCart это правится на уровне шаблона карточки, а не в каждой странице отдельно.
  5. Зафиксируйте правило для команды: цену и сроки меняют в одном месте, всё остальное подтягивается само. Ручную правку описания под акцию запрещайте прямо.

В наших проектах при первой сверке расхождение хотя бы по одному полю находится примерно на каждой третьей-пятой карточке, и почти половина случаев — это цена или срок. На разделах каталога отдельная беда: фильтры порождают адреса, где текст описания остался общим для всей категории и противоречит выбранным параметрам — как с этим быть, разбирали в материале про фильтры каталога и индексацию.

И практическое следствие для рекламы. Если цена в объявлении не совпадает с ценой на посадочной, модерация может отклонить объявление, а посетитель, который дошёл до страницы, уходит быстрее обычного. Проверять это удобно так: Директ → Статистика → Мастер отчётов, добавьте срез «Страница входа», столбцы «Расход» и «Конверсии» — получите список посадочных, за которые вы реально платите. Их и сверяйте с прайсом в первую очередь. Ошибка владельца тут стандартная: он объявляет скидку голосом на планёрке, меняет цифру на баннере главной и считает вопрос закрытым — а карточка, фид и объявления живут своей жизнью ещё месяц.

Проверка выборки: три инструмента и ручной прогон

Проверять весь каталог целиком бессмысленно: это месяцы работы, за которые данные снова разъедутся. Работающий подход — выборка на 25-30 страниц, собранная не по вкусу, а по деньгам. Собирается она из трёх списков.

  1. Метрика. Отчёты → Стандартные отчёты → Содержание → Популярное. Поставьте период 90 дней, отсортируйте по просмотрам и возьмите первые 10 карточек и разделов. Это страницы, которые уже видят люди.
  2. Директ. Статистика → Мастер отчётов. Срез «Страница входа», столбцы «Расход», «Конверсии», «Цена цели». Возьмите 5-7 посадочных с наибольшим расходом — ошибка в данных здесь стоит дороже всего.
  3. Вебмастер. Поисковые запросы → Статистика запросов, фильтр по адресу — возьмите 5 страниц с наибольшими показами. Добавьте ещё 5 случайных карточек из разных категорий, включая старые: именно там обычно лежат самые древние форматы данных.

Дальше три инструмента, которые показывают страницу глазами машины.

Первый — валидатор микроразметки в Яндекс Вебмастере. Инструменты → Валидатор микроразметки. Вставьте адрес страницы и нажмите «Проверить». Смотрите не только на красные ошибки: главное — значения полей. Открылась цена 0, пустая валюта, «наличие» со ссылкой на несуществующее состояние, название с артикулом от другой модели — всё это ошибками не считается, но именно это машина и заберёт.

Второй — проверка ответа сервера. Вебмастер → Инструменты → Проверка ответа сервера. Он покажет HTML, который получает робот. Нажмите Ctrl+F и поищите в этом коде конкретные значения из таблицы. Не нашлись — значит таблица дорисовывается скриптом уже в браузере, и надёжнее вывести её сразу в коде страницы.

Третий — проверка URL в Search Console. Введите адрес в строку сверху, откройте «Изучить просканированную страницу» и вкладку с HTML. Это тот же тест для второй поисковой системы; расхождения между двумя проверками встречаются и говорят о проблемах со скоростью отдачи или кэшем.

Ручной прогон делается таблицей учёта. Колонки: адрес страницы, характеристика, значение в тексте, значение в таблице, значение в разметке, значение в фиде, вердикт, кто чинит, дата. Строк на карточку — 5-7 самых денежных полей: цена, единица расчёта, срок, габариты, комплектация, наличие, гарантия. По нашему опыту одна карточка занимает 4-8 минут, выборка из 30 укладывается в рабочий день, и на ней обычно всплывает 5-9 страниц с расхождением хотя бы по одному полю.

ИИ-помощник тут экономит часть рутины: попросите его выписать из текста страницы пары «параметр — значение» отдельно, из таблицы отдельно, и показать несовпадения — с этим языковая модель справляется прилично. Но не загружайте в нейросеть внутренние прайсы с себестоимостью, договоры с поставщиками и персональные данные клиентов: для сверки хватает того, что и так опубликовано на странице. Требования к обработке персональных данных и к охране коммерческой тайны установлены законом, актуальные формулировки уточните у юриста, а правило отдельно проговорите с сотрудниками — вводит лишнее в чат-помощника чаще менеджер, а не владелец.

После правок проверьте, что стало с индексом: Вебмастер → Индексирование → Страницы в поиске → вкладка «Исключённые», смотрите историю по статусам вроде «Малополезная страница». Важен тренд, а не разовая цифра. Что ещё полезно смотреть в панели регулярно, собрано в материале про отчёты Яндекс Вебмастера, а полный список технических проверок — в разборе про технический аудит сайта.

Ошибка владельца на этом этапе почти комическая: он проверяет главную и одну карточку, которую сам недавно вылизывал, убеждается, что всё хорошо, и закрывает вопрос. Выборка на то и выборка, чтобы включать страницы, которых вы давно не открывали, — старые категории, товары снятых линеек, карточки, заведённые стажёром три года назад.

Шаблоны для карточки товара, страницы услуги и статьи

Чтобы не решать каждый раз заново, как оформить характеристики товара, полезно один раз описать три шаблона и дальше просто их заполнять. Ниже — структуры, которые в наших проектах работают в мебели, дверях, окнах, стройке, ремонте, авто и интернет-магазинах.

Карточка товара.

  1. H1 — точное название плюс модель или артикул. Не «Межкомнатная дверь» и не «Стильное решение для вашего дома», а то название, по которому товар опознаётся однозначно.
  2. Первые 2-3 предложения — сжатый ответ: что это, из чего, ключевой размер, цена от, срок. Эти строки чаще всего и попадают в короткий ответ выдачи.
  3. Таблица характеристик на 10-18 строк для сложных изделий и 6-10 для простых. Первые пять строк — то, что спрашивают в звонках.
  4. Блок «Что входит в комплект» списком, с количеством по каждой позиции. Отдельно — что не входит и докупается.
  5. Блок «Доставка и сроки» цифрами: срок изготовления, срок доставки, география, условия подъёма.
  6. Блок «Гарантия»: срок и на что она распространяется. Формулировка без обтекаемых «гарантируем качество».
  7. Микроразметка товара — с ценой, валютой и наличием, взятыми из тех же полей, что и таблица.
  8. Фото реального изделия, в alt — название и ключевой размер. Схема с размерами допустима как дополнение, но те же цифры дублируются в таблице.

Страница услуги — монтаж, замер, ремонт, отделка, установка. Здесь машине сложнее: у услуги нет артикула, и опереться не на что, кроме структуры.

  1. Таблица «Вариант — что входит — срок — цена от». Три-пять вариантов, а не один абзац про индивидуальный подход.
  2. Явный блок «Что не входит в стоимость»: вывоз мусора, демонтаж, доработка проёма. Это снимает половину споров и даёт машине конкретику.
  3. География выезда с перечнем зон и условиями за пределами города — без формулировок «работаем по всей области» без уточнений.
  4. Этапы работ по пунктам, у каждого — срок в днях или часах.
  5. Ограничения: что вы не делаете. Отсутствие этого блока — самая частая причина нецелевых заявок.
  6. Если публикуете фото объектов с людьми в кадре или карточки мастеров с именем и снимком — берите согласие людей на публикацию. То же с отзывами, где есть узнаваемые приметы: имя, адрес объекта, фото. Это отдельная договорённость, а не «мы же на своём объекте снимали».

Статья. Здесь машиночитаемость держится на другом: на определениях и на проверяемых цифрах.

  1. Определение темы одним предложением в первом абзаце — так, чтобы его можно было процитировать отдельно от текста.
  2. Хотя бы одна таблица сравнения вариантов, этапов или показателей.
  3. Цифры с указанием, откуда они и на какую дату: замер по своим проектам, данные из кабинета, прайс поставщика.
  4. Автор, дата публикации и дата обновления — видимые на странице, а не только в коде.
  5. Блок вопросов и ответов на 4-6 пунктов, ответ 2-4 предложения, причём сам факт содержится в ответе, а не заменяется отсылкой «подробнее выше».

Отдельно про страницу компании: реквизиты, юридическое название, адрес, телефон и график должны совпадать с тем, что указано в справочниках и на картах — расхождение здесь машина замечает так же, как расхождение в цене. Что там писать и в каком порядке, разбирали в материале про страницу «О компании».

И типовая ошибка владельца, которая перечёркивает шаблоны: «давайте описание подлиннее, чтобы поиск лучше понял». Появляется 4000 знаков художественного текста про тепло дерева и уют — без единой цифры и без таблицы. Обратная крайность не лучше: таблица есть, но одна и та же во всех трёхстах моделях, с одинаковыми значениями. Пустая и одинаковая таблица для машины немногим полезнее её отсутствия.

С чего начинать, если страниц тысячи, а рук две

Каталог на три-пять тысяч позиций руками не переберёшь, и пытаться не надо. Работает другая логика: сначала правится шаблон, из которого выводятся все страницы, потом заполняется ядро, потом всё остальное — партиями и через выгрузку таблицей.

С чего начинать, если страниц тысячи, а рук две
ЭтапЧто делаемСколько обычно занимаетКак понять, что этап закрыт
1. Словарь атрибутовСводим названия характеристик по каждой категории в один список, убираем синонимы1-2 дня на категориюОдин параметр называется одинаково во всех карточках категории
2. Шаблон карточки в CMSПравим вывод таблицы, разметки и фида так, чтобы значения брались из одних полей3-10 дней с разработчикомПравка значения в админке меняет его сразу во всех четырёх слоях
3. Ядро страницЗаполняем руками 50-150 страниц, которые приносят трафик и заявки1-2 неделиСверка выборки не находит расхождений
4. Массовая заливкаВыгрузка-загрузка таблицей по категориям, партиями200-400 карточек в неделюДоля незаполненных ключевых полей ниже 5%
5. РегламентОписываем, кто и как заводит новый товар и кто отвечает за каждое поле1 деньНовая карточка выходит уже заполненной по шаблону

Ядро собирается пересечением трёх списков, которые вы уже умеете доставать: топ по просмотрам из Метрики, посадочные с расходом из Директа, страницы с наибольшими показами из Вебмастера. Пересечение обычно даёт 50-150 адресов. Ориентир из наших проектов: 5-10% страниц каталога дают порядка 60-80% трафика и почти весь расход рекламы — с них и начинают.

Про скорость. Заполнение одной карточки руками в админке занимает обычно 6-12 минут вместе с проверкой. Та же карточка через выгрузку в таблицу, заполнение колонок и обратную загрузку — 30-60 секунд. На трёх тысячах позиций это разница между полугодом и парой недель. Поэтому шаг «научиться выгружать и загружать каталог таблицей» окупается раньше любого другого, даже если придётся оплатить разработчику пару дней.

Порядок действий на ближайший месяц, если начинать прямо сейчас:

  1. Неделя 1. Соберите словарь атрибутов по одной, самой денежной категории. Не по всему каталогу — по одной. Параллельно соберите выборку из 30 страниц и прогоните её по разделу выше, чтобы понимать масштаб.
  2. Неделя 2. Поставьте разработчику задачу на шаблон: единый источник значений для текста, таблицы, разметки и фида, таблица выводится в коде сразу, единицы подставляются из справочника.
  3. Неделя 3. Заполните ядро — 50-150 страниц. Тут руками, вдумчиво, с проверкой по прайсу и паспортам изделий.
  4. Неделя 4. Первая партия массовой заливки, 200-400 карточек. Сразу после неё повторная выборочная проверка на 10 адресах из этой партии.
  5. Дальше. Партия в неделю плюс ежемесячная выборка из 10 карточек на контроль. Раз в квартал — сверка фида с учётной системой.

Ошибка владельца, из-за которой этот план чаще всего срывается: он заказывает «проставить микроразметку на всём сайте» до того, как поля заполнены. Разметка встаёт на пустые и противоречивые значения — и вместо улучшения вы получаете аккуратно оформленную ошибку в четвёртом слое. Сначала данные, потом описание данных. Второй вариант — снести старые карточки «ради чистоты»: страницы с историей и накопленными переходами удалять не стоит, их правят шаблоном.

Как отслеживать эффект, чтобы не гадать. В Метрике сегментируйте по адресу страницы (Отчёты → Стандартные отчёты → Содержание → Популярное, сегмент «Просмотр» → «Адрес страницы» → «содержит» нужный раздел) и сравнивайте два периода по времени на странице и отказам. В Вебмастере следите за долей исключённых страниц. А попадаете ли вы в короткие ответы выдачи, проверяется отдельной процедурой — она описана в материале про то, как проверить, цитирует ли вас нейропоиск. Первые изменения по такой работе в наших проектах становятся заметны, как правило, через 1-2 месяца после того, как правки дошли до основной массы страниц.

Путь клиента: где эта тема срабатывает

Тема включается в момент, когда разметка на сайте уже стоит, каталог наполнен, а отдачи от этого не видно: карточки не попадают в подборки, фид отдаёт отклонения, покупатели спорят о цене и сроках.

Разметка есть, толку не видно

Что у клиентаПодрядчик отчитался, что микроразметка проставлена по всему каталогу, но в выдаче цены не показываются, а часть товаров на площадке отклоняется.

Что делаемСмотрим не наличие разметки, а значения в ней: цена, валюта, наличие, название — совпадают ли они с карточкой.

Сигнал, что работаетПонятно, из каких полей берутся значения и какие из них пустые или устаревшие.

Сверка четырёх слоёв на выборке

Что у клиентаВладелец уверен, что данные в порядке, потому что открывал две карточки, которые сам недавно правил.

Что делаемСобираем выборку из 25-30 страниц по деньгам — из Метрики, Директа и Вебмастера — и сверяем текст, таблицу, разметку и фид по 5-7 полям.

Сигнал, что работаетЕсть таблица расхождений с адресами страниц и понятно, какие поля разъезжаются чаще всего.

Единый источник значений и словарь атрибутов

Что у клиентаОдна и та же характеристика в разных карточках называется по-разному, а цену меняют вручную в трёх местах.

Что делаемСводим названия характеристик в словарь и правим шаблон карточки так, чтобы все четыре слоя брали значение из одного поля.

Сигнал, что работаетПравка значения в админке меняет его и в тексте, и в таблице, и в разметке, и в фиде.

Заполнение ядра и массовая заливка

Что у клиентаКарточек тысячи, руками их не перебрать, а заполнять всё подряд некому и незачем.

Что делаемЗаполняем 50-150 страниц ядра руками, остальное — партиями по 200-400 в неделю через выгрузку и загрузку таблицей.

Сигнал, что работаетДоля незаполненных ключевых полей ниже 5%, повторная выборка расхождений не находит.

Регламент и регулярный контроль

Что у клиентаНовые товары заводят по-старому, и через полгода данные снова разъезжаются.

Что делаемОписываем, кто заводит карточку и отвечает за каждое поле, ставим ежемесячную выборку на 10 адресов и квартальную сверку фида с учётной системой.

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

Стратегия: что делать по шагам

Цель: Привести данные о товарах и услугах к одному значению во всех слоях страницы — тексте, таблице, микроразметке и фиде — так, чтобы страницу можно было использовать как надёжный источник, а данные не разъезжались снова через полгода.

  1. Неделя 1 Диагностика: выборка 25-30 страниц по данным Метрики, Директа и Вебмастера, ручная сверка 5-7 денежных полей на каждой. Таблица расхождений с адресами, полями и виновными слоями; понятен масштаб работы.
  2. Неделя 1-2 Словарь атрибутов по самой денежной категории: убираем синонимы названий, фиксируем единицы, разделители и порядок габаритов. Один параметр называется и измеряется одинаково во всех карточках категории.
  3. Неделя 2-3 Правка шаблона карточки в CMS: таблица выводится в коде сразу, текст, разметка и фид берут значения из одних полей. Изменение значения в админке отражается во всех четырёх слоях без ручной правки.
  4. Неделя 3-4 Заполнение ядра: 50-150 страниц, которые дают трафик и расход рекламы, — вручную, со сверкой по прайсу и паспортам изделий. Повторная выборочная проверка по ядру расхождений не находит.
  5. Месяц 2-3 Массовая заливка партиями по 200-400 карточек через выгрузку-загрузку таблицей, после каждой партии — контроль на 10 адресах. Доля незаполненных ключевых полей по каталогу ниже 5%.
  6. Дальше, постоянно Регламент заведения товара, ежемесячная выборка на 10 карточек, квартальная сверка фида с учётной системой. Новые карточки выходят готовыми, расхождения ловятся штучно, а не пачками.

Сроки — ориентир для планирования, а не обязательство: скорость зависит от ниши, конкуренции и состояния сайта.

Чек-лист: приводим страницу к машиночитаемому виду

Пройдите пункты по одной карточке товара и по одной странице услуги — этого хватит, чтобы понять, где именно у вас теряются данные.

  • Скопируйте страницу в «Блокнот» и убедитесь, что пять базовых фактов есть в тексте
  • Нажмите Ctrl+U и найдите поиском значения из таблицы прямо в исходном коде
  • Проверьте, что характеристики не спрятаны в картинку, PDF или вкладку с подгрузкой по клику
  • Сведите названия характеристик в единый словарь по каждой категории
  • Уберите объединённые ячейки и по два значения в одной ячейке
  • Приведите единицы, разделители чисел и порядок габаритов к одному стандарту
  • Замените прочерки: «нет» пишите словом, неизвестное значение — убирайте строкой
  • Укажите у цены валюту, единицу расчёта и включён ли налог
  • Прогоните 25-30 страниц через валидатор микроразметки в Вебмастере и посмотрите значения, а не только ошибки
  • Сверьте те же поля в товарном фиде и в учётной системе
  • Запишите, кто отвечает за каждое поле и где оно меняется
  • Повторите выборочную проверку через месяц после правок шаблона
Скачать чек-лист ↓
Мы почти никогда не начинаем с разметки. Сначала берём тридцать карточек и выписываем в столбик, что про один и тот же товар говорят текст, таблица, разметка и фид. Обычно на каждой третьей-пятой находится расхождение по цене или сроку — и пока оно есть, любая разметка только аккуратно закрепляет ошибку.
Игорь ВолковРуководитель отдела разработки Media Monster

Что в итоге

Машиночитаемость — это не про то, чтобы поставить ещё один блок кода. Это про согласованность: одна характеристика имеет одно значение, названо одинаково, измерено в одних единицах и одинаково выглядит в тексте, таблице, разметке и товарном фиде. Всё остальное — оформление поверх этого.

Самая частая ошибка стоит в начале пути: разметку заказывают раньше, чем заполнены и сведены поля. В наших проектах это регулярно приводит к тому, что в четвёртый слой уезжают пустые цены и чужие названия, а исправлять приходится дольше, чем если бы начали с данных. Порядок обратный: словарь атрибутов, шаблон вывода из одного поля, ядро страниц руками, остальное партиями через выгрузку — и только потом описание данных разметкой.

С чего начать: Завтра откройте три карточки — одну из топа по просмотрам, одну с расходом рекламы и одну старую — и выпишите по каждой цену, срок и габариты из текста, таблицы, разметки и фида. Четыре колонки, три строки: расхождения будут видны сразу.

Вопросы и ответы

Что такое машиночитаемая страница простыми словами?

Это страница, с которой программа может снять факты без человека: понятно, где название характеристики, где её значение и в каких единицах. Практически это значит, что характеристики вынесены в обычную HTML-таблицу «параметр — значение», единицы и формат чисел одинаковы по всему сайту, а цифры не спрятаны в картинку, PDF или вкладку, которая подгружается только после клика.

Нужна ли таблица, если характеристик всего пять?

Да, и особенно в этом случае: пять строк оформляются за минуту и читаются однозначно. Абзац с перечислением через запятую машина разбирает с ошибками — непонятно, где заканчивается одно значение и начинается другое, к чему относится оговорка в скобках. В наших проектах карточки с менее чем шестью заполненными строками ведут себя как пустые: их пролистывают и люди, и алгоритмы.

Что делать с прочерками и пустыми ячейками в таблице?

Различайте три состояния. Значение есть — пишем значение. Характеристики у товара нет по природе — пишем «нет» словом, например «Подсветка: нет». Значение неизвестно — строку из таблицы убираем совсем. Прочерк машина не отличает от незаполненного поля, а «уточняйте» и «по запросу» для неё равны отсутствию данных и мешают считать реальную долю пустых полей.

Как проверить, видит ли робот мою таблицу характеристик?

Откройте страницу и нажмите Ctrl+U, затем Ctrl+F и поищите в исходном коде конкретное значение из таблицы. Если оно не находится — таблица рисуется скриптом. Для надёжности пройдите Вебмастер → Инструменты → Проверка ответа сервера: там виден HTML, который получает робот. Значения разметки отдельно смотрите через Вебмастер → Инструменты → Валидатор микроразметки — важны не только ошибки, но и сами цифры в полях цены и наличия.

С чего начать, если карточек несколько тысяч?

Не с карточек, а с шаблона. Сначала сведите названия характеристик в словарь по одной, самой денежной категории. Потом поставьте разработчику задачу выводить текст, таблицу, разметку и фид из одних и тех же полей. Дальше заполните ядро в 50-150 страниц руками — их даёт пересечение топа по просмотрам из Метрики, посадочных с расходом из Директа и страниц с наибольшими показами из Вебмастера. Остальное заливайте партиями через выгрузку таблицей.

Можно ли поручить сверку характеристик нейросети?

Частично да: языковая модель неплохо выписывает пары «параметр — значение» отдельно из текста и отдельно из таблицы и показывает несовпадения. Для этого хватает того, что уже опубликовано на странице. А вот внутренние прайсы с себестоимостью, договоры с поставщиками и персональные данные клиентов в сторонние сервисы отправлять не следует; требования к персональным данным и коммерческой тайне установлены законом, формулировки уточните у юриста и проговорите правило с сотрудниками.

Игорь Волков — портрет-иллюстрация
Руководитель отдела разработки Media Monster

Игорь 12 лет занимается разработкой коммерческих сайтов: интернет-магазины, каталоги с обменом данными, корпоративные сайты и посадочные страницы под рекламу. Работал и на стороне подрядчика, и внутри компании-заказчика, поэтому хорошо понимает обе стороны конфликта «разработчики против маркетинга». В Media Monster руководит отделом разработки и отвечает за то, чтобы сайт создавался под продвижение, а не вопреки ему.

С какими задачами к нему приходят

Самая частая — «сделали редизайн, и просел трафик». Причины почти всегда одни и те же: сменились адреса страниц без переадресации, пропали тексты и заголовки, часть страниц закрылась от индексации при переносе с тестовой площадки. Вторая по частоте — «сайт не даёт добавить нужные страницы»: система управления не позволяет создавать разделы под спрос, и продвижение упирается в потолок платформы.

Отдельная категория — интеграции: наличие и цены должны приезжать из учётной системы, заявки — уходить в CRM, звонки — привязываться к источникам. Здесь основная работа не в коде, а в согласовании: какие данные передаются, как часто и что считать ошибкой обмена.

И, наконец, приходят с брошенными проектами: разработчик пропал, доступов нет, сайт работает, но менять его некому.

Как работает

Начинает не с макета, а со структуры. Пока не понятно, какие страницы нужны и под какой спрос, рисовать дизайн преждевременно: структура определяет и шаблоны, и объём работ, и способ вывода товаров. На проектах, где продвижением занимается другая команда, требует, чтобы карта страниц была согласована до старта вёрстки — иначе через полгода приходится переделывать.

Второй принцип — сдавать по чек-листу. После каждой выкладки проходится список технических проверок на боевом сайте: доступность страниц, файл robots.txt, метатеги, адреса, карта сайта, счётчики. Проверку делает не тот, кто выкладывал.

Третье — доступы принадлежат клиенту. Домен, хостинг, панель управления, репозиторий оформляются на владельца бизнеса с самого начала, а не «когда закончим».

Чего не делает

Не запускает сайт без плана переноса, если у проекта уже есть трафик: сопоставление старых и новых адресов делается до выкладки, а не после падения. Не строит каталог на решениях, которые не позволяют управлять адресами и метатегами страниц. Не берёт проект, где заказчик не готов выделить человека для сбора данных о товарах, — без характеристик и фотографий каталог всё равно не заработает, и срок сорвётся не по вине разработки.

В блоге

Пишет в рубрику «Разработка»: разборы переездов и редизайнов, чек-листы приёмки, интеграции с учётными системами, кейсы проектов. Все клиентские истории публикуются обезличенно — без названий, доменов и регионов.

Портрет автора — иллюстрация, а не фотография.

Материал подготовлен по редакционной политике блога: практика проектов, официальные источники, проверка перед публикацией.

Что это даёт на практике
Главное из этого материала. Машина разбирает страницу на пары «параметр — значение» и собирает их из четырёх слоёв: видимый текст, таблица, микроразметка, товарный фид. Расхождение между слоями она не сглаживает, как человек, а записывает как противоречие.
✓ Что работает
  • Структура каталога, собранная из спроса, а не из выгрузки
  • Ускорение загрузки первого экрана
  • Интеграция форм с CRM без потери источника
✕ Что результата не даёт
  • Редизайн без переноса структуры и адресов
  • Тяжёлые изображения и скрипты «на всякий случай»
  • Формы без передачи источника заявки
Выводы обобщены по проектам направления «Разработка» и обезличены: названия компаний, домены и иные идентифицирующие данные не раскрываются. Результат в каждом проекте зависит от ниши, конкуренции и исходного состояния — см. условия использования.
Планируете переделку сайта или упёрлись в платформу?
Бесплатно оценим текущее состояние и риски — до того, как вы начнёте что-то менять.
Оценить мой сайт

Что делать дальше

Посчитать экономикуСходится ли реклама при вашем чеке
?Задать вопросОтветим по вашей ситуации

Опишите задачу в двух словах — специалист ответит в Telegram, обычно в течение рабочего дня. Без презентаций и обязательств.

Написать в Telegram ↗
Заявка на продвижениеОценить мой сайт

Бесплатно оценим текущее состояние и риски — до того, как вы начнёте что-то менять.

Материал был полезен?
Оценок пока нет — поставьте первую

Обсуждение

Спросите, что осталось непонятным — автор материала отвечает в комментариях.

Загружаем комментарии…
Комментарии — от подтверждённых читателей

Один раз подтвердите себя в Telegram: так в обсуждении нет спама, а имя подставляется само. Мы видим только имя и никогда не пишем первыми без вашего запроса.

Читайте по теме

← Все статьи рубрики «Разработка»

SEO-продвижение сайтов

Показы растут, а клики падают: разбираем страницы по группам и решаем, что с каждой делать Как проверить, цитирует ли ваш сайт нейропоиск: четыре способа и таблица замеров Как сгенерировать описания для 500 карточек товара и не получить штампы Ревизия блога: какие статьи теряют трафик первыми и что с ними делать Title и description рядом с ответом нейропоиска: как получить клик Все статьи рубрики (44) →

Реклама в Яндекс Директе

Генерация объявлений нейросетью: что можно доверить машине, а что переписывать руками Какие цели отдавать автостратегии в Директе, а какие только мешают ей обучаться Алгоритм «переучился» на плохих конверсиях: как вернуть кампанию к нормальным заявкам Автостратегия и бюджет: где ставить ограничители расхода и что делать при скачке цены заявки Товарный фид: ошибки, которые ломают автогенерацию объявлений Все статьи рубрики (22) →

SMM и таргетированная реклама

Нейросеть для креативов: где выигрыш, а где риск отказа модерации Фотографии объектов и товаров: как снимать, чтобы это работало на продажи и на поиск Таргет во ВКонтакте: связки, которые дают заявки в 2026 Отделочные и общестроительные работы: продвижение через объекты и фотоотчёты Возврат клиентов через мессенджеры и рассылки: как напоминать о себе и не стать спамом Все статьи рубрики (9) →

Разработка сайтов

Что нельзя загружать в нейросеть: персональные данные, договоры и коммерческая тайна База знаний для нейросети: как перестать быть компанией, про которую всё придумано Машиночитаемая страница: таблицы, атрибуты и согласованность данных ИИ-краулеры на сайте: как посмотреть логи и выбрать позицию по доступу Прайс на сайте: показывать цены или нет и что делать, если цена индивидуальная Все статьи рубрики (21) →

Веб-аналитика и сквозная аналитика

Сколько на самом деле экономит ИИ: как посчитать часы и деньги Что мерить в SEO вместо позиций: семь метрик и месячный отчёт на одну страницу Сколько стоит внедрить ИИ в маркетинг небольшой компании и когда это окупается Аналитика оконного бизнеса: как проследить путь от клика до подписанного договора Аналитика автосалона: звонки, тест-драйвы и что считать конверсией Все статьи рубрики (18) →

Кейсы с цифрами

Проверка фактов за нейросетью: где она ошибается и как это ловить Кейс: подрядчик загородного строительства перестал считать заявки и начал считать выезды Кейс: как оконная компания готовилась к сезону с января — сайт, реклама и учёт замеров Кейс: автосервис вышел в локальную выдачу без бюджета на ссылки Кейс: как готовили сезонный бизнес к пику спроса и почему часть работ не окупилась Все статьи рубрики (14) →

Подтемы

Семантическое ядро Яндекс Метрика Автостратегии Директа Регионы и гео Интернет-магазины Все подтемы (9) →

Словарь терминов

ДРР — что это CPL — что это CAC — что это Когортный анализ — что это UTM-метки — что это Все термины (36) →

Ниши и категории

Мебельный маркетинг 7 Дверной бизнес 5 B2B-сектор 5 Недвижимость 5 E-commerce 5 Все направления (10) →

SEO в 2026

GEO — ответы нейросетей Локальный спрос и карты Технический аудит Внутренняя перелинковка Коммерческие факторы

Сейчас читают

Кейс: рост органики в 4 раза за 7 месяцев — и почему первые три были почти без результата Кейс: в 2,2 раза больше заявок на том же бюджете — за счёт перераспределения Кейс: трафик упал на 38% — разбор инцидента по часам Коммерческие факторы ранжирования: полный чек-лист из 18 пунктов «Обучение стратегии остановлено» в Яндекс Директе: причины и что делать Карта блога — все статьи RSS-лента блога

Блог Media Monster

Бесплатный аудит сайта и рекламы Как мы готовим материалы Условия использования Политика конфиденциальности Согласие на обработку данных