Перейти к содержимому

Из чего состоит страница, которую находят и цитируют

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

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

Форма для них одна. Сначала ответ, потом процедура, потом провалы, потом вопросы.

В заголовок ставьте вопрос читателя. В URL ставьте главный запрос, а не своё внутреннее имя функции.

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

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

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

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

Напишите, что вы пробовали, где это сломалось и чего вам стоило. Шаги конкуренты списывают друг у друга свободно, а ваши тупики не списывает никто, потому что своих у них нет.

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

Добавляйте FAQ только под вопросы, которые вам правда задавали: из поддержки, из списка запросов, из комментариев. Вопрос, которого вам никто не задавал, вы придумаете под свой же ответ, и читатель это увидит.

Google перестал показывать rich result для FAQ 7 мая 2026 года, а документацию снял 15 июня 2026-го. Разметка теперь не даёт rich result никому.

Блок всё равно оправдан. Короткий вопрос с коротким самодостаточным ответом — ровно та форма, которую извлекает ассистент.

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

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

Как превратить форму в проверку, которую делает машина

Заголовок раздела «Как превратить форму в проверку, которую делает машина»

Заведите линтер в CI, который валит сборку. Документ о стиле прочитают один раз и забудут к третьему контрибьютору, а правило, которое валит сборку, переживёт их всех.

  • Разгон на три абзаца. Контекст, потом предыстория, потом суть. Читатели уходили до сути. А выдернуть со страницы можно было только вступление, которое ничего не утверждало.
  • Гайдлайн, за которым никто не следит. Правила записали, все с ними согласились. Страницы всё равно расползлись: в момент письма никто не возражал.
  • Сделать ошибкой каждое правило. Длина предложения как жёсткая ошибка валит нормальную страницу из-за одной запятой. Здесь сборку валят стоп-лист, четыре обязательных блока и числа без источника, а длина только предупреждает.
  • Сверять заголовки на глазок. «Что не сработало» и «Что не работало» человек читает одинаково, а проверка видит две разные строки. Поэтому линтер сверяет текст заголовка буквально.
  • Разрешить пустой обязательный блок. Заголовок, под которым ничего нет, проходил первую версию проверки. Теперь пустой блок считается отсутствующим.
  • Писать FAQ ради разметки. Вопросы, которых никто не задавал, и ответы, повторяющие абзац выше. Схема не сделала пустой ответ достойным цитаты.
  • Публиковать ограничение как текущее состояние. Здесь было написано, что FAQPage ограничена госсайтами и медициной, и с 2023 года это было правдой. В мае 2026 Google выпилил rich result целиком, а фразу просто перестали перепроверять.
  • Смягчить число вместо того, чтобы дать источник. «Где-то пара тысяч визитов» выглядит как данные и данными не является. Число едет с датой и источником — или не едет вообще.

Этот репозиторий применяет свой же шаблон, и дешевле рабочего примера последнего шага у меня для вас нет.

Окно терминала
npm run lint:voice

Скрипт обходит каждую страницу под src/content/docs и сообщает, по файлу и по строке:

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

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

Index-страница без единого из четырёх блоков — это навигация, и проверка её пропускает, а объявила хотя бы один блок — значит это уже процедура, и нужны все четыре.

Гостевые кейсы сохраняют голос автора, поэтому проверки голоса их пропускают, а вот правило про числа работает и там: факты проверяются у всех одинаково.

Потом прочитайте страницу руками. Линтер сверяет форму и стоп-лист, а отвечает ли текст на свой же заголовок, он не знает, и проверить это можете только вы.

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

Прочитает ли это ассистент вообще — решают доступ и узнаваемость: почему AI цитирует не вас.

Предложить правку · Страница не помогла