SEO-чеклист для маленького сайта: что я сделала и что реально сработало

Когда я запустила свой сайт, я ничего не понимала в SEO. Совсем. Слово «canonical» слышала впервые, про sitemap имела смутное представление, а JSON-LD казалось чем-то из космонавтики.

Через полгода мой сайт индексируется в Яндексе, в Вебмастере зелёная диагностика — «Ошибок и рекомендаций нет», а посты и каналы появляются в поиске.

Ниже — честный чеклист. Без воды, без «10 золотых правил SEO», без курсов за 30 тысяч. Только то, что я реально сделала и что проверила на практике.

Если у вас свой маленький сайт и вы не знаете, с чего начать — начните с этих 12 пунктов.

1. Отдать robots.txt

Это первое, что читает любой поисковый робот. Лежит в корне сайта: yoursite.ru/robots.txt.

У меня он выглядит так:

text

User-agent: *

Allow: /

Disallow: /api/

Disallow: /uploads/

Disallow: /admin

Disallow: /search

Clean-param: utm_source&utm_medium&...&_ym_debug&q

Sitemap: https://yoursite.ru/sitemap.xml

Что важно:

  • /api/ закрыт — робот не должен дёргать технические эндпоинты
  • /search закрыт — поисковые страницы не место в индексе (иначе бесконечные дубли)
  • Clean-param — говорит Яндексу, что UTM-метки и прочие параметры не создают новую страницу
  • Ссылка на sitemap — обязательно

2. Сделать sitemap.xml

Это XML со списком всех URL, которые вы хотите показать Яндексу. Генерируется динамически — у меня это роут на сервере, который отдаёт свежий список при каждом запросе.

Что туда включить:

  • Главная
  • About
  • Все посты (у меня — с lastmod)
  • Все каналы авторов
  • Все категории

Что не включить:

  • /search — они и так закрыты
  • Параметризованные URL (?cat=, ?page=)
  • Страницы с noindex

У меня в sitemap около 60 URL. Через 2–4 недели после отправки в Вебмастер Яндекс всё проиндексировал.

3. Динамический canonical для каждой страницы

Это самая частая ошибка на SPA-сайтах. У меня она была.

В index.html лежала строка:

html

А SPA рендерил и посты, и каналы, и категории. И код генерации страниц не мог перезаписать этот canonical — потому что проверял «а вдруг уже есть» и не трогал. В итоге все страницы говорили Яндексу: «Я — копия главной». И не индексировались.

Что делать: сервер должен удалять старый canonical и вставлять новый для каждой страницы. Соответствующий URL: поста — /post/slug, канала — /channel/slug, категории — /category/slug.

4. Мета-теги, которые действительно меняются

Аналогичная история с и <meta name="description">. Если у вас SPA — недостаточно один раз прописать их в HTML. Их надо менять на сервере перед отдачей страницы.

У меня SSR-роут для каждого типа страницы:

  • /post/:slug → title = название поста, description = первые 155 символов
  • /channel/:slug → title = название канала, description = «X публикаций, Y подписчиков»
  • /category/:slug → title = название категории + «статьи и истории»

В Вебмастере это дало зелёный статус «Дубли заголовков и описаний не найдены».

5. Open Graph для соцсетей

Чтобы при шаринге ссылки в Telegram/VK показывалась красивая карточка — нужно 6 мета-тегов:

html

Плюс og:image:width и og:image:height — соцсети любят 1200×630.

6. JSON-LD микроразметка

Это кусок JSON в

Минимум, что я добавила:

  • Для постов — BlogPosting с headline, image, datePublished, dateModified, author, publisher
  • Для каналов — ProfilePage с Person
  • Для главной — WebSite + Organization с логотипом и SearchAction
  • Хлебные крошки — BreadcrumbList для всех страниц

Разметку можно проверить в валидаторе Яндекса.

7. Один URL = один язык (никаких ?cat=Разное)

Плохо: yoursite.ru/?cat=Психология Хорошо: yoursite.ru/category/psihologiya

Яндекс плохо относится к параметризованным URL — считает их дублями. Я перевела все категории на slug (транслитерация из русского: Психология → psihologiya), все теги — на латиницу, каналы — на rozhdennyy-v-sssr вместо /channel/1.

Это дало новые точки входа из поиска: люди ищут «статьи про психологию», попадают на /category/psihologiya.

8. RSS-лента

Простой XML с последними постами. Не влияет напрямую на SEO, но полезно:

  • Роботы Яндекса иногда обходят её быстрее, чем sitemap
  • Читатели могут подписаться через Feedly и подобные

У меня — /rss.xml, добавила в в head.

9. Скорость сайта

Тут я наступила на большие грабли. На главной у меня было три тяжёлых видео: одно на 6 МБ, одно на 3.3 МБ, плюс JPG-обложка на 3.6 МБ. Итого 13 МБ на загрузку главной. На телефоне в LTE это 10 секунд. Яндекс за это понижает.

Что я сделала:

  • Сжала hero-видео: 3.3 МБ → 1.2 МБ (ffmpeg, -crf 30, разрешение 1280→960)
  • Удалила неиспользуемое видео с главной и убрала в _offline-backups/
  • Оптимизировала картинки

Результат: главная стала в 5 раз легче. Core Web Vitals улучшились.

10. Yandex.Метрика + Вебмастер

Это не SEO в чистом виде, но это обязательный минимум.

  • Метрика — счётчик на всех страницах. Показывает, откуда приходят люди, что читают, где уходят. Плюс Вебвизор (записи сессий).
  • Вебмастер — панель, где видно, как Яндекс видит ваш сайт. Разделы «Индексирование», «Диагностика», «Ссылки», «Скорость сайта».

Если не подключили — начните с этого.

11. Страница noindex для поиска

Если у вас есть страница /search?q=... — на ней обязательно noindex, follow.

Иначе Яндекс заиндексирует бесконечное количество страниц с разными запросами. Каждая — уникальный URL. Каждая — малоценная. Каждая — дубль. Робот потратит ресурс на них, а не на статьи.

У меня noindex, follow — поиск не индексируется, но ссылки внутри обходятся.

12. Проверять Вебмастер регулярно

Раз в 1–2 недели заходить в Яндекс.Вебмастер и смотреть:

  • Диагностика — есть ли ошибки, 404, проблемы с редиректами
  • Индексирование → Страницы в поиске — сколько в индексе, какие в «Исключённых» и почему
  • Поисковые запросы — по каким словам вас уже находят
  • Скорость сайта — замер от Яндекса

У меня сейчас «Ошибок и рекомендаций нет» — зелёный статус. Это результат всех 12 пунктов, а не одного.

Что не сработало

Честно — было и такое.

Массовые ссылки. Где-то вычитала, что «нужно больше внешних ссылок». Пошла регистрироваться на каталоги, добавлять в подписи форумов. Ноль эффекта. Яндекс давно не считает каталоги ссылками. Сейчас внешние ссылки работают только если их ставят живые люди на своих сайтах и в соцсетях.

«Умные» ключи. Пыталась впихнуть в текст больше ключевых слов — текст стал плохо читаться, и это заметила даже я. Отказалась. Ключи должны быть естественно вписаны, а не натыканы.

Автоматические посты ради частоты. «Надо постить каждый день». Я попробовала — получилась ерунда. Сейчас лучше меньше, но качественнее.

С чего начать, если у вас маленький сайт

Если читаете это и думаете «у меня ничего из этого не сделано» — не паникуйте. Начните с простого:

  1. robots.txt — 10 минут
  2. sitemap.xml — 30 минут
  3. Яндекс.Вебмастер + Метрика — 15 минут
  4. canonical — проверить, что он меняется на страницах

Четыре шага. За час. Уже даст результат.

Остальное — по мере сил. Не за один день. У меня ушло полгода.

Мой сайт, если интересно посмотреть, как всё это работает вживую — mirai-blog.ru. Если у вас свой проект и вы хотите обсудить SEO — пишите в комментариях, я с удовольствием поделюсь опытом. Сама училась по кусочкам, понимаю, как это тяжело в одиночку.

SEO-чеклист для маленького сайта: что я сделала и что реально сработало
11