Слаги и хранение
- слаг хранится в отдельном строковом поле с уникальным индексом;
- значение приводится к нижнему регистру при сохранении;
- при коллизиях генерируется осмысленное уточнение, см. статью про уникальный слаг;
- прежние слаги сохраняются в таблице истории.
Маршруты и коды ответа
- несуществующие адреса отвечают кодом 404, а не 200;
- удалённые навсегда материалы отвечают кодом 410;
- неканонические варианты перенаправляются кодом 301 на основной;
- маршруты ограничены допустимыми символами и длиной.
Безопасность и закрытые зоны
- значения из адреса не подставляются в запросы без параметризации;
- перенаправления возможны только на собственные адреса;
- API и служебные разделы закрыты от индексации;
- тестовые окружения защищены от попадания в индекс.
Содержимое и рендеринг
- ключевой текст присутствует в HTML, а не появляется только после скриптов;
- навигация построена на настоящих ссылках;
- мета-теги и канонический адрес формируются для каждой страницы.
Тесты и наблюдение
Автоматические проверки генерации слагов и кодов ответа включены в процесс выпуска, а обращения к несуществующим адресам записываются и периодически разбираются. Список тестов приведён в статье про тесты на генерацию адресов.
Перед релизом: прогоните сайт краулером, проверьте карту сайта и убедитесь, что ни одно изменение не затронуло действующие адреса без редиректа.
Документация и передача знаний
Правила формирования адресов не должны жить только в голове одного разработчика. Опишите их в документации проекта: какие типы страниц существуют, как формируются их слаги, какие ограничения действуют и кто отвечает за изменения. Такой документ сильно облегчает вход новых людей в проект.
- схема адресов для каждого типа страниц;
- правила транслитерации и предельная длина;
- порядок действий при смене адреса и настройке редиректа.
Регулярный пересмотр
Раз в квартал стоит проходить чек-лист заново, даже если ничего не менялось: зависимости обновляются, библиотеки меняют поведение, в проект приходят новые сотрудники. Небольшая регулярная проверка дешевле, чем ликвидация последствий незамеченной поломки адресов на крупном сайте.
Использование чек-листа при приёмке работ
Чек-лист удобно применять и как форму приёмки: подрядчик или коллега проходит по пунктам и отмечает результат. Так исчезает разговор в стиле «мне казалось, что всё в порядке», а спорные вопросы решаются на основе конкретных проверок.
Частые вопросы
Как часто проходить этот чек-лист?
Полностью — перед каждым крупным релизом, а выборочно — при любом изменении маршрутов и логики генерации слагов.
С чего начать, если ни один пункт ещё не выполнен?
С самых критичных: корректные коды ответа, уникальный индекс слага и закрытие служебных зон от индексации.
Кто отвечает за выполнение этого чек-листа?
В основном разработчики, при согласовании с SEO-специалистом по вопросам структуры адресов и индексации.
Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.