Большинство проблем с SEO у новых сайтов — не результат плохого контента. Это технические ошибки, сделанные в день запуска. Страницы без Title, закрытый robots.txt, отсутствующий sitemap, некорректная микроразметка — всё это замедляет индексацию на недели и опускает сайт в выдаче с первого дня.
Этот чек-лист — не теория. Это минимальный набор действий, который нужно выполнить до того, как домен станет доступен публично.
1. Title и Description для каждой страницы
Title — самый весомый on-page фактор. Правила:
- Длина: 50 – 60 символов (Google обрезает после ~580px, Яндекс — после 70 символов)
- Ключевое слово — в начале
- Уникален для каждой страницы
- Читаем как заголовок, не как набор слов
Description — не прямой фактор ранжирования, но влияет на CTR. Правила:
- 120 – 160 символов
- Содержит призыв к действию
- Раскрывает содержание страницы
<!-- Плохо -->
<title>Главная | Сайт компании ООО Рога и Копыта</title>
<meta name="description" content="Добро пожаловать на наш сайт">
<!-- Хорошо -->
<title>Разработка сайтов в Москве — веб-студия «Название»</title>
<meta name="description" content="Создаём сайты для бизнеса: лендинги, интернет-магазины, корпоративные сайты. Портфолио, цены, сроки — на сайте.">
Частые ошибки:
- Один Title на все страницы (шаблон без переменных)
- Title в виде «Главная», «Контакты», «О нас» — без ключевых слов
- Description скопирован с первого абзаца текста без редактуры
2. Структура H1-H3
Одна страница — один H1. Это правило нарушают в 40% случаев, особенно в конструкторах и CMS с неправильными шаблонами.
<!-- Плохо: два H1 на странице -->
<h1>Веб-студия «Название»</h1>
...
<h1>Наши услуги</h1>
<!-- Хорошо: иерархия -->
<h1>Разработка сайтов под ключ</h1>
<h2>Наши услуги</h2>
<h3>Лендинги</h3>
<h3>Интернет-магазины</h3>
<h2>Как мы работаем</h2>
<h3>Этап 1: Брифинг</h3>
Проверить: откройте DevTools → Console → document.querySelectorAll('h1').length должен вернуть 1.
3. robots.txt
Файл должен быть доступен по адресу https://вашдомен.ru/robots.txt с первого дня. Типичная ошибка при запуске: сайт переехал со staging на прод, а robots.txt остался с Disallow: / — и Google закрыт на вход.
# Хорошая базовая конфигурация
User-agent: *
Disallow: /admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /search/
Allow: /
Sitemap: https://вашдомен.ru/sitemap.xml
Что закрывать: служебные страницы, фильтры (дублируют контент), поиск, личный кабинет, корзину.
Что нельзя закрывать: главную, категории, карточки товаров, статьи — всё, что хотите продвигать.
Проверка: Google Search Console → Инструмент проверки robots.txt.
4. XML Sitemap
Sitemap ускоряет индексацию, особенно для больших сайтов. Должен обновляться автоматически при добавлении контента.
WordPress: плагин Yoast SEO или Rank Math генерируют sitemap автоматически. Убедитесь, что он включён и доступен по /sitemap_index.xml.
Next.js (App Router):
// app/sitemap.ts
import { MetadataRoute } from 'next'
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
const posts = await getPosts()
return [
{ url: 'https://example.ru', lastModified: new Date(), priority: 1 },
{ url: 'https://example.ru/blog', lastModified: new Date(), priority: 0.8 },
...posts.map(post => ({
url: `https://example.ru/blog/${post.slug}`,
lastModified: post.updatedAt,
priority: 0.6,
})),
]
}
После запуска: отправить sitemap вручную в Google Search Console (Индексирование → Файлы Sitemap) и Яндекс.Вебмастер (Индексирование → Файлы Sitemap).
5. Микроразметка Schema.org
Разметка не влияет напрямую на позиции, но даёт Rich Snippets — расширенные сниппеты в выдаче, которые увеличивают CTR на 20 – 30%.
Organization — на главной:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Название компании",
"url": "https://example.com",
"logo": "https://example.com/logo.png",
"telephone": "+7-999-123-45-67",
"address": {
"@type": "PostalAddress",
"addressLocality": "Москва",
"addressCountry": "RU"
}
}
</script>
BreadcrumbList — на внутренних страницах:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "Главная", "item": "https://kalinkins.ru"},
{"@type": "ListItem", "position": 2, "name": "Блог", "item": "https://kalinkins.ru/blog"},
{"@type": "ListItem", "position": 3, "name": "SEO-чек-лист", "item": "https://kalinkins.ru/blog/seo-checklist"}
]
}
</script>
FAQ — если есть блок вопрос-ответ:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "Сколько стоит разработка сайта?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Стоимость зависит от типа и объёма проекта. Лендинг — от 50 000 руб, интернет-магазин — от 150 000 руб."
}
}]
}
</script>
Проверка: Google Rich Results Test (search.google.com/test/rich-results).
6. Open Graph и Twitter Cards
Без OG-разметки ссылки на ваш сайт в соцсетях выглядят как серый блок без картинки. Это снижает переходы.
<head>
<!-- Open Graph (Facebook, VK, Telegram) -->
<meta property="og:title" content="SEO-чек-лист для нового сайта">
<meta property="og:description" content="10 шагов до запуска: Title, sitemap, Schema.org, Core Web Vitals">
<meta property="og:image" content="https://kalinkins.ru/og/seo-checklist.jpg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:url" content="https://kalinkins.ru/blog/seo-checklist">
<meta property="og:type" content="article">
<meta property="og:locale" content="ru_RU">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="SEO-чек-лист для нового сайта">
<meta name="twitter:image" content="https://kalinkins.ru/og/seo-checklist.jpg">
</head>
OG-изображение: 1200×630px, вес до 300 KB. Создайте шаблон в Figma и генерируйте автоматически через @vercel/og (Next.js) или Puppeteer.
7. Core Web Vitals
Google использует CWV как фактор ранжирования. Три метрики:
| Метрика | Что измеряет | Хорошо | Плохо |
|---|---|---|---|
| LCP | Скорость загрузки главного контента | < 2.5 сек | > 4 сек |
| INP | Отклик на взаимодействие (клик, тап) | < 200 мс | > 500 мс |
| CLS | Смещение элементов при загрузке | < 0.1 | > 0.25 |
Как проверить: PageSpeed Insights (pagespeed.web.dev) — даёт лабораторные данные. Google Search Console → Core Web Vitals — даёт полевые данные с реальных пользователей.
Типичные причины плохого LCP:
- Изображение-герой не в формате WebP/AVIF
- Нет
<link rel="preload">для главного изображения - Сервер медленно отвечает (TTFB > 800ms)
Типичные причины плохого CLS:
- Изображения без атрибутов
widthиheight - Шрифты без
font-display: swap - Реклама и баннеры без зарезервированного места
<!-- Правильно для изображений -->
<img src="hero.webp" width="1200" height="600" alt="..." loading="eager" fetchpriority="high">
<!-- Preload для LCP-изображения -->
<link rel="preload" as="image" href="hero.webp" fetchpriority="high">
8. Favicon и мобильная адаптация
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<meta name="theme-color" content="#1a1a2e">
</head>
Минимальный набор favicon: favicon.ico (32×32), apple-touch-icon.png (180×180), SVG-иконка. Генератор: realfavicongenerator.net.
Мобильная адаптация: проверьте в Google Search Console → Удобство для мобильных. Критично: шрифт не меньше 16px, кнопки не меньше 44×44px, нет горизонтального скролла.
9. SSL-сертификат (HTTPS)
В 2026 году HTTP-сайт — красный флаг в браузере и прямой минус в ранжировании. Let’s Encrypt бесплатен, настраивается за 5 минут.
# Certbot на Ubuntu + Nginx
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.ru -d www.yourdomain.ru
# Автопродление настраивается автоматически через systemd timer
После переезда на HTTPS: настройте 301-редиректы с HTTP и с www (или без www — выберите канонический вариант и придерживайтесь его).
10. Google Search Console + Яндекс.Вебмастер
Регистрация в день запуска, не через месяц. Без этих инструментов вы слепы: не видите ошибок индексации, не знаете, по каким запросам находят сайт.
Google Search Console:
- Добавьте ресурс (предпочтительно — через DNS-запись TXT, это подтверждает весь домен)
- Отправьте sitemap
- Проверьте Coverage → убедитесь, что нет страниц со статусом «Исключено» или «Ошибка»
Яндекс.Вебмастер:
- Добавьте сайт, подтвердите через meta-тег или DNS
- Укажите регион (важно для локального поиска)
- Отправьте sitemap в Индексирование → Файлы Sitemap
Приоритет: что сделать в первую очередь
Если времени мало — вот порядок по критичности:
- SSL — без него всё остальное теряет смысл
- robots.txt — убедитесь, что сайт не закрыт от индексации
- Title + H1 для каждой страницы
- Sitemap + отправка в GSC и Вебмастер
- Open Graph — для нормального вида в соцсетях
- Core Web Vitals — проверить и исправить критичные проблемы
- Schema.org — Organization и BreadcrumbList минимум
- Description, Favicon, viewport — быстро, делается за час
Есть идея? Реализуем
Разрабатываем проекты, которые решают задачи бизнеса — от лендинга до сложного сервиса. Расскажите о своей задаче, подберём решение.

