S.
  • Usługi
  • Dla kogo
  • Rozwiązania
  • Realizacje
  • O mnie
  • Know-how
  • Blog
Rozpocznij projekt
EN/PL/RU
  • Usługi01
  • Dla kogo02
  • Rozwiązania03
  • Realizacje04
  • O mnie05
  • Know-how06
  • Blog07
Rozpocznij projekt
EN/PL/RU
Vlad Sedenko
Niezależny web product developer
UE / Polska / Warszawa
Produkty
  • NextWooStorefront w Next.js dla WooCommerce
© 2026. Wszelkie prawa zastrzeżone
Usługi
  • Product Discovery
  • Projektowanie UX/UI
  • Budowa MVP
  • Rozwój SaaS
  • Redesign strony
  • Bezpieczeństwo aplikacji webowych
  • Optymalizacja konwersji
  • Integracje API i automatyzacja biznesu
  • Wsparcie produktu
Odkryj
  • Usługi
  • Dla kogo
  • Realizacje
  • Rozwiązania
  • O mnie
  • Blog
  • Know-how
  • Kontakt
Rozpocznij projekt
  • vlad@sedenko.net
  • LinkedIn
  • Prywatność/Pliki cookie
Know-how/Checklista SEO dla Next.js: kompletny przewodnik po App Routerze (2026)

Część 5 z 22

sitemap.ts i robots.ts: konwencje plikowe zamiast ręcznego XML

sitemap.ts i robots.ts w App Routerze: uczciwy lastModified, dzielenie dużych sitemap i dlaczego robots.txt nie usuwa stron z indeksu.

2026-07-15
sitemap.ts i robots.ts: konwencje plikowe zamiast ręcznego XML

Wszystkie tematy przewodnika

Praktyczna checklista SEO dla Next.js, sekcja po sekcji: strategia renderowania, Metadata API, hreflang, dane strukturalne, Core Web Vitals i optymalizacja pod wyszukiwarki AI.

App Router generuje jedno i drugie z typowanego kodu — koniec z przeterminowanym statycznym XML-em:

// app/sitemap.ts
import type { MetadataRoute } from "next";

export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
  const posts = await getPosts();

  const postEntries = posts.map((post) => ({
    url: `https://example.com/en/blog/${post.slug}`,
    lastModified: post.updatedAt,
    alternates: {
      languages: {
        pl: `https://example.com/pl/blog/${post.plSlug}`,
        ru: `https://example.com/ru/blog/${post.ruSlug}`,
      },
    },
  }));

  return [
    { url: "https://example.com", lastModified: new Date(), priority: 1 },
    ...postEntries,
  ];
}
// app/robots.ts
import type { MetadataRoute } from "next";

export default function robots(): MetadataRoute.Robots {
  return {
    rules: [{ userAgent: "*", allow: "/", disallow: ["/api/", "/admin/"] }],
    sitemap: "https://example.com/sitemap.xml",
  };
}

Detale, które mają znaczenie:

  • lastModified powinien być prawdziwą datą aktualizacji treści, a nie new Date() przy każdym buildzie — kłamanie o świeżości uczy Google ignorować to pole.
  • Ponad 50 000 URL-i? Użyj generateSitemaps(), żeby podzielić na kilka plików.
  • Nie blokuj CSS/JS w robots.txt — Google potrzebuje ich do wyrenderowania strony.
  • Disallow w robots.txt nie usuwa stron z indeksu — tylko zatrzymuje crawlowanie. Żeby strona nie trafiała do wyników, użyj noindex przez metadane (robots: { index: false }) i nie blokuj jej w robots.txt (zablokowanej strony nie da się odczytać, więc noindexu nikt nie zobaczy).

Checklista:

  • sitemap.ts zawiera tylko kanoniczne, indeksowalne adresy ze statusem 200
  • lastModified odzwierciedla prawdziwe zmiany
  • Sitemap zgłoszona w Google Search Console i Bing Webmaster Tools
  • noindex vs robots.txt używane właściwie (rozwiązują różne problemy)
← WsteczOpen Graph i dynamiczne obrazki OGDalej →Dane strukturalne: JSON-LD, który zarabia na rich results

01—22

Wszystkie tematy przewodnika

  1. 01Strategia renderowania: co tak naprawdę widzi crawler?→
  2. 02Metadata API: tytuły, opisy i wzorzec szablonu→
  3. 03Canonical i hreflang: jedna strona, jeden adres→
  4. 04Open Graph i dynamiczne obrazki OG→
  5. 05sitemap.ts i robots.ts: konwencje plikowe zamiast ręcznego XML•
  6. 06Dane strukturalne: JSON-LD, który zarabia na rich results→
  7. 07Obrazki, fonty i skrypty: klasyczne trio wydajności→
  8. 08Core Web Vitals: trzy liczby, które mierzy Google→
  9. 09Przekierowania, 404 i kody odpowiedzi→
  10. 10Cache i świeżość treści→
  11. 11AEO/GEO: jak być cytowanym przez ChatGPT, Perplexity i Google AI Overviews→
  12. 12Monitoring: SEO to pętla, nie zadanie na start→
  13. 13Zaufanie i E-E-A-T: jak uczynić witrynę wiarygodną→
  14. 14Image SEO: jak zamienić obrazki w ruch→
  15. 15Linkowanie wewnętrzne i architektura witryny→
  16. 16Intencje wyszukiwania: strony pod to, czego ludzie naprawdę szukają→
  17. 17Programmatic SEO w Next.js: strony na skalę bez spamu→
  18. 18Migracja SEO: przejście na Next.js bez utraty ruchu→
  19. 19Paginacja i nawigacja fasetowa bez puchnięcia indeksu→
  20. 20Dostępność i SEO: jedna praca — dwie nagrody→
  21. 21Rozkład treści: odświeżyć, skonsolidować czy usunąć→
  22. 22Off-page dla developerów: linki, których się nie kupuje→

Wolisz, żeby ktoś zrobił to za Ciebie?

Audytuję i naprawiam techniczne SEO na stronach Next.js — indeksowanie, szybkość, hreflang i widoczność w AI.

Usługa technicznego SEO