NexForge

Техническое 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 — статика для блога, услуг
  • ISRrevalidate: 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Услуги
FAQPageFAQ, услуги
ArticleБлог
BreadcrumbListВсе внутренние
ProductE-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.5snext/image, priority, SSR
INP< 200msServer Components, lazy client
CLS< 0.1width/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 из коробки.