Техническое SEO для Next.js сайта: чеклист 2026
Техническое SEO Next.js: metadata API, sitemap, robots.txt, Schema.org, Core Web Vitals, hreflang, canonical, индексация Google и Яндекс. Чеклист для разработчиков.
Техническое SEO — фундамент органического трафика. Даже лучший контент не ранжируется, если Google и Яндекс не могут проиндексировать сайт, страницы дублируются или Core Web Vitals в красной зоне. Next.js даёт мощные инструменты для SEO-оптимизации из коробки — но только при правильной настройке.
Полный чеклист технического SEO для Next.js сайта в 2026 году — для разработчиков и маркетологов.
1. Server-rendered HTML
Google и Яндекс индексируют JavaScript, но SSR/SSG надёжнее:
- App Router — Server Components по умолчанию
- generateStaticParams — статика для блога, услуг
- ISR —
revalidate: 3600для каталога - Избегайте
"use client"на SEO-критичных страницах
Проверка: View Page Source — контент виден без JS.
2. Metadata API
// app/[locale]/uslugi/[slug]/page.tsx
export async function generateMetadata({ params }): Promise<Metadata> {
return {
title: "Разработка Telegram-ботов — NexForge",
description: "Заказать разработку Telegram-бота под ключ...",
alternates: {
canonical: "https://site.ru/ru/uslugi/telegram-boty",
languages: {
ru: "https://site.ru/ru/uslugi/telegram-boty",
en: "https://site.ru/en/services/telegram-bots",
},
},
openGraph: {
title: "...",
description: "...",
images: [{ url: "/og/telegram-bots.png", width: 1200, height: 630 }],
},
robots: { index: true, follow: true },
};
}
Правила:
- Уникальный
title(50–60 символов) на каждой странице description(150–160 символов) с ключевым словом- Canonical — без trailing slash inconsistency
- hreflang через
alternates.languages
3. Sitemap.xml
// app/sitemap.ts
export default function sitemap(): MetadataRoute.Sitemap {
return [
{ url: "https://site.ru/ru", lastModified: new Date(), priority: 1 },
{ url: "https://site.ru/ru/blog/stati", changeFrequency: "weekly" },
// все страницы + alternates
];
}
- Автогенерация из content registry
lastModified— реальная дата изменения- Submit в Google Search Console и Яндекс Вебmaster
- Лимит 50 000 URL на файл; sitemap index для крупных сайтов
4. robots.txt
// app/robots.ts
export default function robots(): MetadataRoute.Robots {
return {
rules: { userAgent: "*", allow: "/", disallow: ["/api/", "/admin/"] },
sitemap: "https://site.ru/sitemap.xml",
};
}
Не блокируйте CSS/JS — Google нужен render.
5. Schema.org (JSON-LD)
Типы для коммерческого сайта:
| Schema | Страница |
|---|---|
| Organization | Главная |
| WebSite + SearchAction | Главная |
| Service | Услуги |
| FAQPage | FAQ, услуги |
| Article | Блог |
| BreadcrumbList | Все внутренние |
| Product | E-commerce |
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
Проверка: Google Rich Results Test.
6. URL-структура
- ЧПУ:
/ru/uslugi/telegram-boty— не/page?id=5 - Lowercase, дефисы — не underscores
- Логичная иерархия:
/ru/blokchejn/smart-kontrakty - Без дублей: www vs non-www, http vs https, trailing slash — один вариант
- i18n prefix:
/ru/,/en/с hreflang
7. Core Web Vitals
| Метрика | Цель | Next.js решение |
|---|---|---|
| LCP | < 2.5s | next/image, priority, SSR |
| INP | < 200ms | Server Components, lazy client |
| CLS | < 0.1 | width/height на images, font-display: swap |
Инструменты: PageSpeed Insights, Chrome DevTools, Vercel Analytics.
8. Изображения
- next/image — WebP/AVIF, lazy load, responsive sizes
- Alt text — описание + keyword где уместно
- OG images — 1200×630 для social sharing
- SVG для иконок — не растровые PNG 4K
9. Internal linking
- Header/footer — ссылки на ключевые услуги
- Breadcrumbs — навигация + BreadcrumbList schema
- Блог → услуги (contextual links)
- Anchor text с keywords — не «подробнее»
- Нет orphan pages — каждая страница linked минимум 1 раз
10. i18n и hreflang
<link rel="alternate" hreflang="ru" href="https://site.ru/ru/..." />
<link rel="alternate" hreflang="en" href="https://site.ru/en/..." />
<link rel="alternate" hreflang="x-default" href="https://site.ru/ru/..." />
next-intl + metadata alternates.languages генерирует автоматически.
11. Индексация: Google и Яндекс
Google Search Console
- Verify ownership (DNS/HTML)
- Submit sitemap
- Monitor Coverage, Core Web Vitals, Manual Actions
- Request indexing для новых страниц
Яндекс Вебmaster
- Verify
- Submit sitemap
- Турбо-страницы (опционально)
- Мониторинг ИКС, ошибок индексации
12. Performance extras
- Font optimization — next/font (Geist, Inter)
- Compression — gzip/brotli на nginx/Caddy
- CDN — Cloudflare, Vercel Edge
- Prefetch —
<Link prefetch>для key pages - Caching headers — static assets max-age
13. Mobile-first
- Responsive Tailwind breakpoints
- Touch targets 44×44px minimum
- No horizontal scroll
- Mobile-friendly test (Google)
14. Security (влияет на SEO)
- HTTPS everywhere — Let's Encrypt
- HSTS header
- No mixed content
- Security headers (CSP, X-Frame-Options)
Google понижает hacked sites.
15. Analytics и мониторинг
- Google Analytics 4 — traffic, conversions
- Яндекс Мetrika — RU audience, webvisor
- Search Console — queries, CTR, positions
- Uptime monitoring — downtime hurts crawl
Чеклист перед launch
- SSR/SSG — контент в HTML source
- Unique title + description на каждой странице
- Canonical + hreflang
- sitemap.xml + robots.txt
- Schema.org JSON-LD
- Core Web Vitals green
- next/image + alt texts
- Internal links, breadcrumbs
- Search Console + Yandex Webmaster
- GA4 + Metrika
- HTTPS, no 404 on key pages
- 301 redirects from old URLs (если миграция)
Итог
Техническое SEO Next.js — не разовая задача, а part of development process. Metadata, sitemap, Schema, Core Web Vitals, i18n — закладывайте с первого дня. NexForge разрабатывает SEO-оптимизированные сайты на Next.js с полным technical SEO из коробки.