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ęść 19 z 22

Paginacja i nawigacja fasetowa bez puchnięcia indeksu

Paginacja i filtry w Next.js zrobione dobrze: samoodnoszące się canonicale stron, infinite scroll z prawdziwymi URL-ami i które kombinacje filtrów zasługują na indeksację.

2026-07-15
Paginacja i nawigacja fasetowa bez puchnięcia indeksu

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.

Listingi kategorii, archiwa bloga i widoki filtrowane generują więcej URL-i niż cała reszta witryny razem wzięta — i większość z nich nie powinna być indeksowana. To tutaj umiera crawl budget i to tu naprawdę rodzą się problemy duplikacji. Cel: crawler dociera do każdego produktu/wpisu, a śmieciowe permutacje URL-i zostają poza indeksem.

Paginacja: prawdziwe URL-e, canonical na siebie

  • Każda strona dostaje prawdziwy, linkowalny URL: /blog/page/2 albo ?page=2. Strona 2 musi istnieć jako HTML, o który crawler może poprosić.
  • Każda strona canonicalizuje się na siebie — nie na stronę 1. Canonical ze strony 2 na stronę 1 mówi Google „strona 2 to duplikat" i wszystko podlinkowane tylko ze stron 2+ po cichu wypada z odkrywania. To wciąż najczęstszy błąd paginacji.
  • rel="prev/next" Google wycofał w 2019 — teraz liczą się zwykłe linki <a href> między stronami (numerowane linki doprowadzają crawlera do głębokich stron szybciej niż łańcuch „tylko dalej").
  • Tytuły powinny się różnić: dodawaj „— Strona 2", żeby nie mnożyć duplikatów tytułów.

W Next.js strony oparte na ścieżkach mogą być w pełni statyczne:

// app/blog/page/[num]/page.tsx
export async function generateStaticParams() {
  const pages = Math.ceil((await getPostCount()) / PAGE_SIZE);
  return Array.from({ length: pages - 1 }, (_, i) => ({ num: String(i + 2) }));
}

Infinite scroll: w parze z prawdziwymi stronami

„Pokaż więcej" i nieskończona lista to mechaniki klienckie, a crawlery nie scrollują. Solidny wzorzec: trzymaj paginowane URL-e jako crawlowalny szkielet, aktualizuj pasek adresu przez History API w miarę scrollowania (/page/3, gdy użytkownik dotrze do trzeciej porcji), i niech każdy taki URL przy bezpośrednim wejściu renderuje swoją porcję serwerowo. Użytkownik dostaje płynny feed, crawler — strony.

Fasety: eksplozja kombinatoryczna

Kategoria z 6 filtrami po 10 wartości daje miliony permutacji URL-i. Podziel fasety na trzy poziomy:

  1. Warte indeksu — kombinacje z realnym popytem i stabilnym asortymentem („czerwone buty do biegania", „mieszkania z balkonem w Warszawie"). Daj im czyste statyczne ścieżki (/running-shoes/red), unikalne tytuły i wstępy, canonical na siebie, miejsce w sitemapie. To w praktyce strony programmatic SEO — stosuj ten sam próg unikalnej wartości.
  2. Użyteczne, ale nieindeksowalne — sortowania, suwaki cen, multiselecty. Zostaw je jako query params, robots: { index: false, follow: true }, canonical na bazową kategorię.
  3. Pułapki crawlu — parametry sesji, nieskończone kombinacje kalendarzy i dat. Blokuj w robots.txt, żeby w ogóle nie zjadały crawl budgetu (noindex wymaga scrawlowania każdego URL-a, żeby zostać zauważonym).

Nigdy nie pozwalaj filtrom generować linków, którymi crawler wejdzie w poziom 3 — renderuj te kontrolki jako przyciski/formularze, nie <a href>.

Checklista:

  • Strony paginacji: prawdziwe URL-e, canonical na siebie, numerowane linki <a>, różne tytuły
  • Zero canonicali na stronę 1; nic nie jest osiągalne wyłącznie przez infinite scroll
  • Fasety podzielone na poziomy: indeksowalne / noindex,follow / blokowane w robots
  • Kombinacje warte indeksu dostają statyczne ścieżki, unikalną treść i wpisy w sitemapie
  • Parametry-pułapki nigdy nie są renderowane jako crawlowalne linki <a href>
← WsteczMigracja SEO: przejście na Next.js bez utraty ruchuDalej →Dostępność i SEO: jedna praca — dwie nagrody

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