Из чего состоит страница, которую находят и цитируют
Что решаем
Заголовок раздела «Что решаем»План говорит, какую страницу писать. Что положить внутрь — вопрос отдельный, и отвечать на него надо сразу двум читателям.
Один читатель — человек, и ваша страница должна занять место в списке из десяти. Другой читатель — модель: она выдернет из страницы кусок без контекста и ваш разгон вместе с цитатой никуда не унесёт.
Форма для них одна. Сначала ответ, потом процедура, потом провалы, потом вопросы.
Заголовок и первые три предложения
Заголовок раздела «Заголовок и первые три предложения»В заголовок ставьте вопрос читателя. В URL ставьте главный запрос, а не своё внутреннее имя функции.
Дальше дайте ответ в первых трёх предложениях: назовите симптом, дайте сам ответ и назовите условие, при котором он верен, потому что дальше третьего предложения читатель может вас и не дочитать.
По этому блоку читатель решает, читать ли дальше, и его же модель поднимает как цитату, то есть одним куском текста вы делаете сразу две работы. Больше нигде так не выйдет.
Шаги, которые правда можно выполнить
Заголовок раздела «Шаги, которые правда можно выполнить»Одна команда, один клик или один файл. «Оптимизируйте контент» — не шаг: если это нельзя запустить, выбросьте формулировку или разбейте её на то, что правда запускается.
Где есть команда, давайте команду. Проверка на одну строку в шелле, пересказанная словами, стоит читателю десяти минут — столько он потратит, чтобы восстановить эту строку самому.
Блок, который у вас никто не спишет
Заголовок раздела «Блок, который у вас никто не спишет»Напишите, что вы пробовали, где это сломалось и чего вам стоило. Шаги конкуренты списывают друг у друга свободно, а ваши тупики не списывает никто, потому что своих у них нет.
Этой части страницы я и сам верю, когда читаю чужое. Пересказать процедуру может любой. А где стена, знает только тот, кто в неё зашёл.
FAQ и чего он теперь стоит
Заголовок раздела «FAQ и чего он теперь стоит»Добавляйте 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 цитирует не вас.
