SEO: основы для разработчика
SEO (Search Engine Optimization) — технические и контентные практики в HTML, которые помогают поисковым системам правильно индексировать и ранжировать страницу.
Зачем нужно
Разработчик напрямую влияет на техническое SEO: структура заголовков, метатеги, семантика разметки, скорость загрузки, canonical URL. Игнорирование этих вещей при разработке приводит к проблемам, которые сложно исправить позже, когда сайт уже запущен. Хорошее техническое SEO — это также хорошая доступность (a11y) и производительность.
Где используется
- Публичные сайты и лендинги с органическим трафиком
- Блоги, медиа, интернет-магазины
- SSR/SSG-проекты (Next.js, Nuxt, Astro, Gatsby)
- Корпоративные сайты и порталы
Ключевые HTML-элементы для SEO
<title> — главный сигнал
<title>Название страницы | Название сайта</title>
- Уникальный для каждой страницы
- Длина: 50–60 символов (иначе Google обрежет)
- Содержит ключевое слово страницы
<meta name="description">
<meta name="description" content="Краткое описание страницы до 155 символов. Отображается в SERP под заголовком.">
Description не влияет на ранжирование напрямую, но влияет на CTR.
Иерархия заголовков <h1>–<h6>
<h1>Единственный H1 — тема страницы</h1>
<h2>Раздел 1</h2>
<h3>Подраздел 1.1</h3>
<h2>Раздел 2</h2>
На странице должен быть ровно один <h1>.
Семантическая разметка
<article>
<header>
<h1>Заголовок статьи</h1>
<time datetime="2026-04-10">10 апреля 2026</time>
</header>
<p>Текст...</p>
</article>
Canonical URL — защита от дублей
<link rel="canonical" href="https://example.com/canonical-url">
Используется, когда одна страница доступна по нескольким URL (с параметрами, с/без www, с/без trailing slash).
Атрибут lang на <html>
<html lang="ru">
Помогает Google определить язык контента для геотаргетинга.
Структурированные данные (JSON-LD)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Заголовок статьи",
"datePublished": "2026-04-10",
"author": { "@type": "Person", "name": "Автор" }
}
</script>
Подробнее в Микроданные и JSON-LD.
robots мета-тег
<!-- Запретить индексацию страницы -->
<meta name="robots" content="noindex, nofollow">
<!-- Разрешить (по умолчанию) -->
<meta name="robots" content="index, follow">
Частые ошибки
| Ошибка | Почему плохо | Как правильно |
|---|---|---|
Несколько <h1> на странице |
Размывает тему страницы для поисковика | Один <h1> на страницу |
Дублированные <title> и <description> |
Конкурирующие страницы в выдаче | Уникальные мета для каждой страницы |
<title> > 60 символов |
Google обрезает и переписывает | Укладывай в 50–60 символов |
| Нет canonical на страницах с параметрами | Дубли в индексе | Добавлять canonical всегда |
| Контент рендерится только JS (CSR без SSR) | Googlebot может не дождаться рендеринга | Используй SSR или SSG для SEO-важных страниц |
Связанные темы
- Структура документа
- meta теги
- Open Graph и SEO
- Микроданные и JSON-LD
- robots.txt и sitemap.xml
- Семантическая разметка
- _MOC HTML