Продвижение
SEO-основа: что закладывается при разработке
Часть работы по поисковому продвижению делается не оптимизатором, а разработчиком — и делается один раз. Разбираем, что нельзя добавить плагином потом.
«Сделаем сайт, а SEO прикрутим потом» — фраза, после которой через полгода начинается переделка. Часть требований поисковых систем относится не к текстам, а к устройству сайта: адресам, шаблонам страниц, скорости и разметке. Всё это решается на этапе проектирования почти бесплатно и стоит заметно дороже, когда сайт уже работает и проиндексирован.
Структура адресов
Адрес страницы — это её постоянный идентификатор. Поисковая система привязывает к нему накопленные сигналы, внешние ссылки ведут именно на него, и менять его потом больно.
Что имеет смысл заложить сразу:
- Читаемые адреса из латиницы, отражающие иерархию: раздел, подраздел, страница.
/services/websites/landingпонятен и человеку, и системе. - Одна страница — один адрес. Если один и тот же материал доступен по нескольким путям, поисковая система должна знать, какой из них основной.
- Решённый вопрос со слешем на конце, регистром и
www. Все варианты должны вести на один канонический адрес через постоянную переадресацию. - Язык в адресе, а не в параметре. Языковые версии живут по префиксам и связаны между собой атрибутами
hreflang. - Предсказуемое поведение при фильтрах и сортировках. Комбинации параметров не должны плодить бесконечное число индексируемых страниц.
Смена структуры адресов на живом сайте — это карта переадресаций на каждую существующую страницу, период просадки и неизбежные потери на ссылках, которые никто не догадался учесть. Изначально правильная схема стоит одного обсуждения на старте.
Заголовки и описания как часть шаблона
Тег title и мета-описание пишутся под конкретную страницу, но возможность их задавать — это работа разработчика. Если в системе управления просто нет соответствующих полей, оптимизатору нечего заполнять.
Требования к шаблону простые:
- Для каждой страницы можно задать собственный
titleиdescription, а при незаполненном поле работает разумное правило по умолчанию, а не один общий заголовок на весь сайт. - На странице ровно один заголовок первого уровня, а остальные уровни идут по порядку и отражают структуру текста, а не размер шрифта.
- У изображений есть атрибут с описанием.
- Для страниц, которым не место в поиске — служебные, технические, дубли фильтров — предусмотрен способ закрыть их от индексации.
- Заданы канонические ссылки и корректные заголовки ответа сервера: несуществующая страница отдаёт 404, а не 200 с надписью «ничего не найдено».
Последний пункт — частая причина, по которой в индекс попадают сотни пустых страниц. Никаким текстом это не лечится.
Скорость и то, как страница отдаётся
Скорость влияет и на поведение людей, и на оценку страницы поисковыми системами. При этом большая часть скорости определяется решениями, принятыми до написания первой строки контента: какой стек, как отдаётся разметка, сколько сторонних скриптов подключено.
Ключевой вопрос — что получает поисковый робот в ответ на запрос страницы. Если сервер отдаёт пустой каркас, а содержимое собирается скриптом в браузере, индексация становится непредсказуемой. Решается это на архитектурном уровне: рендерингом на сервере или предварительной сборкой страниц. Переход на серверный рендеринг в готовом проекте — это, по сути, пересборка фронтенда.
Остальное из того же ряда:
- изображения в современных форматах и нужного размера, а не исходники из фотоаппарата, сжатые стилями;
- отложенная загрузка того, что не видно на первом экране;
- ограниченное число сторонних скриптов — каждый чат, виджет и счётчик замедляет страницу;
- корректное кеширование статики.
Скорость — не настройка, которую включают. Это следствие архитектуры, и менять её задним числом всегда дороже.
Разметка, карта сайта и служебные файлы
Структурированная разметка сообщает поисковой системе, что именно изображено на странице: организация, товар, статья, вопрос-ответ, хлебные крошки. Она не гарантирует расширенного отображения в выдаче, но без неё оно невозможно в принципе. Разметку удобно генерировать шаблоном — для каждого типа страницы своя.
Карта сайта должна собираться автоматически из реального списка страниц. Файл, который однажды сгенерировали вручную и забыли, через полгода описывает несуществующий сайт. В карту попадают только страницы, которые вы действительно хотите видеть в поиске: канонические, отдающие 200, не закрытые от индексации.
Файл robots.txt закрывает служебные разделы и указывает путь к карте. Здесь легко ошибиться в обе стороны: закрыть лишнее при переносе с тестового сервера на боевой — классическая авария, после которой сайт молча пропадает из выдачи.
Отдельная страница под отдельный запрос
Это архитектурное решение, а не копирайтинг. Если у вас десять услуг, а на сайте одна страница «Услуги» со списком, конкурировать по запросу о конкретной услуге вам нечем: поисковая система ранжирует страницы, а не компании.
Практический вывод: структура сайта должна повторять структуру спроса. Отдельные страницы под разные типы задач — так устроен, например, наш раздел сайтов по типам, где у каждого типа своя страница вместо общего перечисления.
При этом плодить страницы бессмысленно, если их нечем наполнить. Страница под запрос имеет смысл, когда на ней есть содержательный ответ: что входит, как устроена работа, чем этот вариант отличается от соседнего. Десять пустых страниц хуже одной полной.
Шаблоны под такие страницы тоже закладываются на этапе разработки: если в системе есть только «главная» и «текстовая страница», каждая новая посадочная будет стоить вёрстки.
Почему «потом» дороже
Разница не в объёме работы, а в том, что появляются обязательства перед уже существующим состоянием:
- адреса проиндексированы, и их смена требует карты переадресаций;
- на страницы ведут внешние ссылки, часть которых вы не контролируете;
- накопленная история страницы обнуляется при неаккуратном переносе;
- переделка шаблонов затрагивает вёрстку всех типов страниц сразу;
- смена подхода к рендерингу означает переработку фронтенда целиком.
Ни один из этих пунктов не закрывается установкой плагина. Плагин может добавить поля для заголовков и сгенерировать карту сайта — но он не изменит структуру адресов, не ускорит отрисовку и не создаст страницы под ваши запросы.
Чеклист перед запуском
- Структура адресов утверждена, канонический вид домена выбран, переадресации настроены.
- У каждого типа страниц есть поля для заголовка и описания, есть правило по умолчанию.
- Иерархия заголовков в шаблонах корректна, у изображений заданы описания.
- Несуществующие страницы отдают 404, служебные закрыты от индексации.
- Содержимое доступно в исходном ответе сервера, а не собирается только скриптом.
- Изображения оптимизированы, число сторонних скриптов осознанно ограничено.
- Структурированная разметка генерируется по типам страниц.
- Карта сайта собирается автоматически и содержит только канонические страницы.
- Файл robots.txt проверен именно на боевом домене после переноса.
- Под ключевые направления есть отдельные наполненные страницы.
Проверить этот список стоит до запуска — в этот момент любой пункт стоит правки в шаблоне. Если нужна помощь с разбором текущего сайта, опишите задачу.