Продвижение

SEO-основа: что закладывается при разработке

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

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

Структура адресов

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

Что имеет смысл заложить сразу:

  • Читаемые адреса из латиницы, отражающие иерархию: раздел, подраздел, страница. /services/websites/landing понятен и человеку, и системе.
  • Одна страница — один адрес. Если один и тот же материал доступен по нескольким путям, поисковая система должна знать, какой из них основной.
  • Решённый вопрос со слешем на конце, регистром и www. Все варианты должны вести на один канонический адрес через постоянную переадресацию.
  • Язык в адресе, а не в параметре. Языковые версии живут по префиксам и связаны между собой атрибутами hreflang.
  • Предсказуемое поведение при фильтрах и сортировках. Комбинации параметров не должны плодить бесконечное число индексируемых страниц.

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

Заголовки и описания как часть шаблона

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

Требования к шаблону простые:

  1. Для каждой страницы можно задать собственный title и description, а при незаполненном поле работает разумное правило по умолчанию, а не один общий заголовок на весь сайт.
  2. На странице ровно один заголовок первого уровня, а остальные уровни идут по порядку и отражают структуру текста, а не размер шрифта.
  3. У изображений есть атрибут с описанием.
  4. Для страниц, которым не место в поиске — служебные, технические, дубли фильтров — предусмотрен способ закрыть их от индексации.
  5. Заданы канонические ссылки и корректные заголовки ответа сервера: несуществующая страница отдаёт 404, а не 200 с надписью «ничего не найдено».

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

Скорость и то, как страница отдаётся

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

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

Остальное из того же ряда:

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

Скорость — не настройка, которую включают. Это следствие архитектуры, и менять её задним числом всегда дороже.

Разметка, карта сайта и служебные файлы

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

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

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

Отдельная страница под отдельный запрос

Это архитектурное решение, а не копирайтинг. Если у вас десять услуг, а на сайте одна страница «Услуги» со списком, конкурировать по запросу о конкретной услуге вам нечем: поисковая система ранжирует страницы, а не компании.

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

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

Шаблоны под такие страницы тоже закладываются на этапе разработки: если в системе есть только «главная» и «текстовая страница», каждая новая посадочная будет стоить вёрстки.

Почему «потом» дороже

Разница не в объёме работы, а в том, что появляются обязательства перед уже существующим состоянием:

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

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

Чеклист перед запуском

  • Структура адресов утверждена, канонический вид домена выбран, переадресации настроены.
  • У каждого типа страниц есть поля для заголовка и описания, есть правило по умолчанию.
  • Иерархия заголовков в шаблонах корректна, у изображений заданы описания.
  • Несуществующие страницы отдают 404, служебные закрыты от индексации.
  • Содержимое доступно в исходном ответе сервера, а не собирается только скриптом.
  • Изображения оптимизированы, число сторонних скриптов осознанно ограничено.
  • Структурированная разметка генерируется по типам страниц.
  • Карта сайта собирается автоматически и содержит только канонические страницы.
  • Файл robots.txt проверен именно на боевом домене после переноса.
  • Под ключевые направления есть отдельные наполненные страницы.

Проверить этот список стоит до запуска — в этот момент любой пункт стоит правки в шаблоне. Если нужна помощь с разбором текущего сайта, опишите задачу.