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 пунктов, а не одного.
Что не сработало
Честно — было и такое.
Массовые ссылки. Где-то вычитала, что «нужно больше внешних ссылок». Пошла регистрироваться на каталоги, добавлять в подписи форумов. Ноль эффекта. Яндекс давно не считает каталоги ссылками. Сейчас внешние ссылки работают только если их ставят живые люди на своих сайтах и в соцсетях.
«Умные» ключи. Пыталась впихнуть в текст больше ключевых слов — текст стал плохо читаться, и это заметила даже я. Отказалась. Ключи должны быть естественно вписаны, а не натыканы.
Автоматические посты ради частоты. «Надо постить каждый день». Я попробовала — получилась ерунда. Сейчас лучше меньше, но качественнее.
С чего начать, если у вас маленький сайт
Если читаете это и думаете «у меня ничего из этого не сделано» — не паникуйте. Начните с простого:
- robots.txt — 10 минут
- sitemap.xml — 30 минут
- Яндекс.Вебмастер + Метрика — 15 минут
- canonical — проверить, что он меняется на страницах
Четыре шага. За час. Уже даст результат.
Остальное — по мере сил. Не за один день. У меня ушло полгода.
Мой сайт, если интересно посмотреть, как всё это работает вживую — mirai-blog.ru. Если у вас свой проект и вы хотите обсудить SEO — пишите в комментариях, я с удовольствием поделюсь опытом. Сама училась по кусочкам, понимаю, как это тяжело в одиночку.