Pagination & Infinite Scroll SEO
Mi az a Pagination SEO?
A pagination (lapozás) az amikor egy nagy tartalom több oldalra van osztva, számozott oldalakkal. Például:
Főoldal: /blog/
Oldal 2: /blog/page/2/
Oldal 3: /blog/page/3/
...
Oldal 10: /blog/page/10/Hol találkozunk pagination-nel?
- Blog - Cikkek listája (10-20 cikk/oldal)
- E-commerce kategória - Termékek listája (24-48 termék/oldal)
- Fórum - Hozzászólások (50-100 hozzászólás/oldal)
- Keresési eredmények - Találatok listája
Miért probléma ez SEO-nak?
❌ Duplicate content - Hasonló tartalom minden oldalon (header, footer, sidebar)
❌ Crawl budget pazarlás - 10 oldal crawlolása ugyanahhoz a kategóriához
❌ Deindexálás veszélye - Rossz canonical beállítás → lapozott oldalak kiesnek az indexből
❌ Elveszett long-tail forgalom - Régebbi cikkek, mélyebb termékek nem indexelődnek
Pagination SEO célja:
✅ Minden fontos tartalom indexelhető
✅ Nincs duplicate content probléma
✅ Optimális crawl budget felhasználás
✅ Jó felhasználói élmény (gyors lapozás)
Google Pagination Kezelés - Történet
2011-2019: rel=“next” és rel=“prev”
Régi ajánlás (2019 előtt):
A Google a rel="next" és rel="prev" HTML link attribútumokat használta a lapozott sorozatok jelzésére.
<!-- Oldal 1 -->
<link rel="next" href="https://example.com/page/2/" />
<!-- Oldal 2 -->
<link rel="prev" href="https://example.com/page/1/" />
<link rel="next" href="https://example.com/page/3/" />
<!-- Oldal 3 -->
<link rel="prev" href="https://example.com/page/2/" />Ez azt jelezte a Google-nek, hogy ezek az oldalak egy sorozat részei, és egy logikai egységet alkotnak.
2019 március: Google megszünteti rel=“next/prev”
John Mueller bejelentés (Google):
"We no longer use
rel=next/prevfor pagination. We've been able to index paginated content fine for a while now, even without that markup."
Mit jelent ez?
- A Google NEM használja többé a rel=“next/prev” jelzéseket
- A Google automatikusan felismeri a lapozott tartalmakat
- Az rel=“next/prev” tag-ek nem ártanak, de nem is segítenek
Új ajánlás (2019 után):
- Self-referencing canonical - Minden oldal önmagára mutat
- Egyedi title/meta minden lapozott oldalon
- Crawlolható linkek előző/következő oldalakra
- View-all oldal opcionálisan (nagy tartalomnál hasznos)
Pagination SEO Stratégiák (2019 utáni best practice)
Stratégia 1: Self-Referencing Canonical (AJÁNLOTT)
Mi ez?
Minden lapozott oldal önmagára mutat canonical URL-ként.
Implementáció:
<!-- /blog/ -->
<link rel="canonical" href="https://example.com/blog/" />
<title>Blog - 50+ Cikk | Example</title>
<!-- /blog/page/2/ -->
<link rel="canonical" href="https://example.com/blog/page/2/" />
<title>Blog - 2. oldal | Example</title>
<!-- /blog/page/3/ -->
<link rel="canonical" href="https://example.com/blog/page/3/" />
<title>Blog - 3. oldal | Example</title>Előnyök:
✅ Minden oldal indexelhető - /page/2/, /page/3/ is a Google indexében
✅ Long-tail forgalom - Régebbi cikkek is kapnak organikus forgalmat
✅ Egyszerű implementáció
✅ Google ajánlás 2019 óta
Mikor használd:
- Blog, ahol a régebbi cikkek is értékesek
- E-commerce kategóriák, ahol sok termék van
- Fórumok, ahol mélyebb oldalak is relevánsak
WordPress példa:
// functions.php
function add_self_referencing_canonical() {
if (is_paged()) {
$current_url = home_url($_SERVER['REQUEST_URI']);
echo '<link rel="canonical" href="' . esc_url($current_url) . '" />';
}
}
add_action('wp_head', 'add_self_referencing_canonical');Stratégia 2: View-All Oldal
Mi ez?
Egy külön oldal, ahol minden tartalom egyetlen oldalon jelenik meg, lapozás nélkül.
Implementáció:
<!-- /blog/ (lapozott) -->
<link rel="canonical" href="https://example.com/blog/all/" />
<link rel="alternate" href="https://example.com/blog/all/" title="Összes cikk" />
<!-- /blog/page/2/ (lapozott) -->
<link rel="canonical" href="https://example.com/blog/all/" />
<!-- /blog/all/ (összes cikk) -->
<link rel="canonical" href="https://example.com/blog/all/" />
<title>Blog - Összes Cikk | Example</title>Előnyök:
✅ Egy URL indexelve - Nincs duplicate content
✅ Teljes tartalom egy helyen
✅ Jó felhasználói élmény - Ctrl+F keresés az összes cikk között
Hátrányok:
❌ Lassú betöltés - 100+ cikk egy oldalon
❌ Rossz UX - Túl hosszú oldal
❌ Crawl budget pazarlás - Óriási HTML letöltése
Mikor használd:
- Kis tartalom (<50 elem)
- Felhasználói igény (FAQ oldalak)
- Print-friendly verzió
⚠️ NEM ajánlott:
- Sok cikk (100+)
- Nagy képekkel (e-commerce)
- Gyakran változó tartalom
Stratégia 3: Csak az Első Oldal Indexelése (NEM AJÁNLOTT)
Mi ez?
Minden lapozott oldal az első oldalra mutat canonical-ként, vagy noindex meta tag-et használ.
Implementáció (cross-page canonical):
<!-- /blog/page/2/ -->
<link rel="canonical" href="https://example.com/blog/" />
<title>Blog - 2. oldal | Example</title>Implementáció (noindex):
<!-- /blog/page/2/ -->
<meta name="robots" content="noindex, follow" />
<link rel="canonical" href="https://example.com/blog/page/2/" />Miért ROSSZ ez?
❌ Mélyebb tartalmak deindexálva - /page/2/ és utána minden kiesik
❌ Google nem crawlolja a további linkeket (ha noindex)
❌ Elveszted a long-tail forgalmat - Régebbi cikkek nem láthatók
❌ Rossz UX - Felhasználók találnak /page/5/ linket, de Google nem indexeli
Példa probléma:
/blog/ (indexelve) → 10 cikk látható Google-nek
/blog/page/2/ (deindexelve) → 10 cikk NEM látható
/blog/page/3/ (deindexelve) → 10 cikk NEM látható
...
→ 70 cikk NEM indexelődik! ❌Mikor használd:
🚫 SOHA - Ezt a stratégiát ne használd!
Összehasonlító táblázat
| Szempont | Self-Referencing | View-All | Csak Első Oldal |
|---|---|---|---|
| Indexelés | ✅ Minden oldal | ✅ Egy oldal | ❌ Csak első |
| Long-tail traffic | ✅ Maximális | ⚠️ Korlátozott | ❌ Elveszett |
| Implementáció | ✅ Egyszerű | ⚠️ Közepes | ✅ Egyszerű |
| Crawl budget | ⚠️ Több oldal | ✅ Egy oldal | ✅ Kevés |
| UX | ✅ Jó lapozás | ❌ Hosszú oldal | ✅ Tiszta |
| SEO hatás | ✅✅ Legjobb | ⚠️ Jó kis tartalomnál | ❌ Rossz |
| Google ajánlás | ✅ Igen (2019+) | ⚠️ Opcionális | ❌ Nem |
Ajánlás:
Használj self-referencing canonical-t!
Ez a legbiztonságosabb és leghatékonyabb megoldás 2019 óta.
Pagination Implementáció Lépésről Lépésre
1. URL struktúra
Jó URL struktúrák:
✅ /blog/page/2/
✅ /blog/page/3/
✅ /kategoria/ferfi-cipok/page/2/
✅ /keresesi-eredmenyek/?page=2Rossz URL struktúrák:
❌ /blog/#page2 (hash, nem crawlolható)
❌ /blog/2/ (nem egyértelmű, lehet cikk is)
❌ /blog/page/2 (trailing slash nélkül - legyen konzisztens)WordPress (default):
/blog/page/2/Shopify:
/collections/shoes?page=2Custom megoldás (Apache .htaccess):
RewriteEngine On
RewriteRule ^blog/page/([0-9]+)/?$ /blog.php?page=$1 [L]2. Canonical tag beállítása
Minden lapozott oldalon:
<!-- Oldal 1 -->
<link rel="canonical" href="https://example.com/blog/" />
<!-- Oldal 2 -->
<link rel="canonical" href="https://example.com/blog/page/2/" />
<!-- Oldal 3 -->
<link rel="canonical" href="https://example.com/blog/page/3/" />PHP példa:
<?php
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
if ($page > 1) {
$canonical = "https://example.com/blog/page/{$page}/";
} else {
$canonical = "https://example.com/blog/";
}
?>
<link rel="canonical" href="<?php echo $canonical; ?>" />WordPress példa:
// functions.php
remove_action('wp_head', 'rel_canonical'); // Eltávolítjuk az alapértelmezett canonical-t
function custom_canonical() {
if (is_paged()) {
global $wp;
$current_url = home_url(add_query_arg(array(), $wp->request));
echo '<link rel="canonical" href="' . esc_url($current_url) . '/" />';
} else {
// Alapértelmezett canonical
wp_head();
}
}
add_action('wp_head', 'custom_canonical');3. Title tag optimalizálása
Minden lapozott oldal EGYEDI title-t kap:
<!-- Oldal 1 -->
<title>Blog - 50+ SEO Cikk | SEOTudás</title>
<!-- Oldal 2 -->
<title>Blog - 2. oldal | SEOTudás</title>
<!-- Oldal 3 -->
<title>Blog - 3. oldal | SEOTudás</title>
<!-- Oldal 10 -->
<title>Blog - 10. oldal | SEOTudás</title>PHP példa:
<?php
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
if ($page > 1) {
$title = "Blog - {$page}. oldal | SEOTudás";
} else {
$title = "Blog - 50+ SEO Cikk | SEOTudás";
}
?>
<title><?php echo $title; ?></title>WordPress példa:
// functions.php
function custom_pagination_title($title) {
if (is_paged()) {
global $paged;
$title .= " - {$paged}. oldal";
}
return $title;
}
add_filter('wp_title', 'custom_pagination_title');4. Meta description
Opcionális - Változtasd meg lapozott oldalakon:
<!-- Oldal 1 -->
<meta name="description" content="50+ részletes SEO cikk kezdőknek és haladóknak. Tanulj technikai SEO-t, on-page optimalizálást és link building stratégiákat." />
<!-- Oldal 2 -->
<meta name="description" content="Blog folytatása - További 10 cikk technikai SEO, on-page és off-page optimalizálásról. 2. oldal." />Vagy hagyd ugyanazt - Nem kritikus, title fontosabb.
5. Előző/Következő linkek
HTML linkek a navigációhoz:
<!-- Pagination navigáció -->
<nav aria-label="Lapozás">
<ul class="pagination">
<li><a href="/blog/">1</a></li>
<li><a href="/blog/page/2/" aria-current="page">2</a></li>
<li><a href="/blog/page/3/">3</a></li>
<li><a href="/blog/page/4/">4</a></li>
<!-- ... -->
<li><a href="/blog/page/3/" rel="next">Következő</a></li>
</ul>
</nav>Fontos:
✅ Használj <a href> tag-eket (nem JavaScript onClick)
✅ Rel=“next” és rel=“prev” opcionálisak (nem SEO, csak UX)
✅ Breadcrumb minden lapozott oldalon
6. Breadcrumb
Minden lapozott oldalon:
<nav aria-label="breadcrumb">
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://example.com/">
<span itemprop="name">Főoldal</span>
</a>
<meta itemprop="position" content="1" />
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://example.com/blog/">
<span itemprop="name">Blog</span>
</a>
<meta itemprop="position" content="2" />
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<span itemprop="name">2. oldal</span>
<meta itemprop="position" content="3" />
</li>
</ol>
</nav>7. Structured Data
CollectionPage schema (opcionális):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "CollectionPage",
"name": "Blog - 2. oldal",
"description": "SEO cikkek listája - 2. oldal",
"url": "https://example.com/blog/page/2/",
"mainEntity": {
"@type": "ItemList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"url": "https://example.com/blog/cikk-11/"
},
{
"@type": "ListItem",
"position": 2,
"url": "https://example.com/blog/cikk-12/"
}
]
}
}
</script>E-commerce Kategória Pagination
Speciális kihívások
E-commerce-nél a pagination különösen fontos, mivel:
- Sok termék - 500-5000+ termék kategóriánként
- Szűrők - Ár, szín, méret, márka
- Rendezés - Népszerűség, ár, újdonság
- Faceted navigation - URL parameter-ek kombinációja
Példa URL-ek:
/kategoria/ferfi-cipok/ (alap)
/kategoria/ferfi-cipok/page/2/ (pagination)
/kategoria/ferfi-cipok/?color=piros (szűrő)
/kategoria/ferfi-cipok/?color=piros&page=2 (szűrő + pagination)
/kategoria/ferfi-cipok/?sort=price&page=3 (rendezés + pagination)Best Practice E-commerce Pagination-höz
1. Pagination URL struktúra:
✅ /kategoria/ferfi-cipok/page/2/
✅ /kategoria/ferfi-cipok/?page=22. Szűrők + Pagination:
<!-- /kategoria/ferfi-cipok/?color=piros&page=2 -->
<link rel="canonical" href="https://example.com/kategoria/ferfi-cipok/?color=piros&page=2" />
<title>Férfi Cipők - Piros - 2. oldal | Bolt</title>3. Faceted navigation canonical:
Opció A - Self-referencing:
<!-- Minden szűrő + pagination kombináció önmagára mutat -->
<link rel="canonical" href="https://example.com/kategoria/?color=piros&size=42&page=2" />Opció B - Alap kategóriára (ha túl sok kombináció):
<!-- Szűrők + pagination az alap kategóriára mutat -->
<link rel="canonical" href="https://example.com/kategoria/ferfi-cipok/" />⚠️ Vigyázz: Opció B esetén elveszted a szűrős oldalak indexelését!
4. Load More gomb:
<button id="load-more" data-page="2">Több termék betöltése</button>
<script>
document.getElementById('load-more').addEventListener('click', function() {
const page = this.dataset.page;
// AJAX termék betöltés
fetch(`/kategoria/ferfi-cipok/page/${page}/`)
.then(res => res.text())
.then(html => {
document.getElementById('products').innerHTML += html;
// URL frissítés (History API)
window.history.pushState({}, '', `/kategoria/ferfi-cipok/page/${page}/`);
// Következő oldal
this.dataset.page = parseInt(page) + 1;
});
});
</script>Előnyök:
✅ Jó UX (nincs oldal újratöltés)
✅ SEO-barát (külön URL-ek)
✅ Crawlolható (fallback pagination linkek)
Infinite Scroll SEO Megoldások
Probléma
Az infinite scroll (végtelen görgetés) JavaScript-tel automatikusan tölt be új tartalmat görgetéskor. Probléma SEO-nak:
❌ Google nem görget - Nem látja a további tartalmakat
❌ Nincsenek URL-ek - Nem lehet megosztani, bookmark-olni
❌ Lassú betöltés - Sok JavaScript futtatás
Megoldás 1: Fallback Pagination
Implementáció:
- Felhasználóknak: Infinite scroll
- Bot-oknak: Hagyományos pagination linkek
JavaScript detektálás:
<noscript>
<!-- Pagination linkek JavaScript nélkül -->
<a href="/blog/page/2/">2. oldal</a>
<a href="/blog/page/3/">3. oldal</a>
</noscript>
<div id="infinite-scroll-container">
<!-- Dinamikusan töltött tartalom -->
</div>Megoldás 2: History API (URL frissítés)
Frissítsd az URL-t görgetéskor:
// Infinite scroll
let currentPage = 1;
window.addEventListener('scroll', function() {
if (isBottomReached()) {
currentPage++;
loadNextPage(currentPage);
// URL frissítés
window.history.pushState(
{},
'',
`/blog/page/${currentPage}/`
);
// Title frissítés
document.title = `Blog - ${currentPage}. oldal | Example`;
}
});Előny:
✅ Külön URL-ek minden “oldalnak”
✅ Megosztható, bookmark-olható
✅ Google indexeli az URL-eket
Megoldás 3: View-All Link
Adj meg egy “Összes megtekintése” linket:
<a href="/blog/all/" class="view-all">Összes cikk megtekintése (50+)</a>Bot-ok követhetik ezt a linket és indexelik az összes tartalmat.
Megoldás 4: Hibrid Megoldás
Kombináld az infinite scroll-t és pagination-t:
<!-- Infinite scroll UI -->
<div id="products"></div>
<!-- Fallback pagination (rejtett, de crawlolható) -->
<div class="pagination" style="display:none;">
<a href="/kategoria/page/2/">2</a>
<a href="/kategoria/page/3/">3</a>
<a href="/kategoria/page/4/">4</a>
</div>Pagination SEO Checklist
Technikai SEO
- Self-referencing canonical minden lapozott oldalon
- Egyedi title tag minden oldalon (tartalmazza az oldalszámot)
- Crawlolható linkek
<a href>tag-ekkel (nem JavaScript) - URL struktúra tiszta és logikus (/page/2/)
- Breadcrumb minden lapozott oldalon
- NEM használsz noindex-et lapozott oldalakon
- NEM használsz cross-page canonical-t (ne mutasson minden /page/1/-re)
UX és Sebesség
- Gyors betöltés - Optimalizált képek, lazy loading
- Pagination navigáció látható és használható
- Első/Utolsó oldal linkek megadva
- Jelenlegi oldal vizuálisan kiemelve
- Mobil-optimalizált pagination
E-commerce Specifikus
- Szűrők + pagination kombináció kezelt (canonical vagy self-referencing)
- Faceted navigation URL parameter-ek logikusak
- Load More opció (ha van) URL-t frissít (History API)
- Termék linkek minden lapozott oldalon crawlolhatók
Infinite Scroll
- Fallback pagination linkek bot-oknak
- History API URL frissítés görgetéskor
- View-All link opcionálisan
- JavaScript nélküli verzió (
<noscript>)
Gyakori Hibák
Hiba 1: Noindex lapozott oldalakon
❌ Rossz:
<!-- /blog/page/2/ -->
<meta name="robots" content="noindex, follow" />Miért rossz:
- Google nem crawlolja a további linkeket
- Mélyebb tartalmak (régebbi cikkek) nem indexelődnek
✅ Jó:
<!-- /blog/page/2/ -->
<link rel="canonical" href="https://example.com/blog/page/2/" />
<!-- NINCS noindex -->Hiba 2: Cross-page canonical
❌ Rossz:
<!-- /blog/page/2/ -->
<link rel="canonical" href="https://example.com/blog/" />
<!-- Minden oldal az első oldalra mutat -->Miért rossz:
- /page/2/ deindexálódik
- Elveszted a long-tail forgalmat
✅ Jó:
<!-- /blog/page/2/ -->
<link rel="canonical" href="https://example.com/blog/page/2/" />
<!-- Self-referencing -->Hiba 3: Ugyanaz a title minden oldalon
❌ Rossz:
<!-- Minden lapozott oldalon -->
<title>Blog | Example</title>✅ Jó:
<!-- /blog/ -->
<title>Blog - 50+ Cikk | Example</title>
<!-- /blog/page/2/ -->
<title>Blog - 2. oldal | Example</title>Hiba 4: JavaScript-only linkek
❌ Rossz:
<button onclick="goToPage(2)">2. oldal</button>✅ Jó:
<a href="/blog/page/2/">2. oldal</a>Hiba 5: Hash URL-ek
❌ Rossz:
/blog/#page2
/blog/#page3Miért rossz:
- Google nem látja a # utáni részt külön URL-nek
- Nem crawlolható
✅ Jó:
/blog/page/2/
/blog/page/3/Következő lépések
Most, hogy megértetted a pagination SEO-t:
- Auditáld a lapozott oldalaidat
- Ellenőrizd a canonical tag-eket (self-referencing?)
- Távolítsd el a noindex-et lapozott oldalakról
- Adj egyedi title-t minden lapozott oldalnak
- Implementálj crawlolható pagination linkeket
- Teszteld Google Search Console-ban
- Olvasd el a Crawl Budget cikket
- Nézd meg az Internal Linking útmutatót
Források
- Google Search Central: Pagination Best Practices
- Google: Consolidate Duplicate URLs
- Moz: Pagination SEO Guide
Gyakran Ismételt Kérdések
Mi az a pagination SEO?
A pagination SEO a lapozott tartalom (blog cikkek, e-commerce termékek, kategória oldalak) keresőmotor-optimalizálása. A kihívás, hogy a Google ne érzékelje duplicate content-nek a lapozott oldalakat, és megfelelően indexelje őket. A pagination SEO technikák biztosítják, hogy minden fontos tartalom crawlolható és indexelhető legyen, miközben elkerüljük a canonicalizációs problémákat.
Használjam még a rel=next és rel=prev tag-eket?
NEM, a Google 2019 márciusában bejelentette, hogy már nem használja a rel=next/prev jelzéseket. A Google most automatikusan kezeli a lapozott tartalmakat. Helyette ajánlott: (1) Minden lapozott oldal egyedi title/meta description, (2) Self-referencing canonical (minden oldal önmagára mutasson), (3) Crawlolható linkek következő/előző oldalakra, (4) View-all oldal opcionálisan. Az rel=next/prev ma már nem szükséges.
Mi a különbség a self-referencing és cross-page canonical között?
Self-referencing canonical: Minden lapozott oldal önmagára mutat canonical-ként (pl. /page/2/ → canonical: /page/2/). Ez az AJÁNLOTT módszer 2019 óta. Cross-page canonical: Minden lapozott oldal az első oldalra mutat (pl. /page/2/ → canonical: /page/1/). Ez NEM ajánlott, mert deindexálja a többi oldalt és elveszíted a tartalmakat az indexből.
Kell-e noindex a lapozott oldalakon?
NEM! A noindex meta tag használata lapozott oldalakon HIBA. Ha noindex-eled a /page/2/, /page/3/ oldalakat, akkor: (1) Google nem crawlolja a további linkeket, (2) A mélyebb tartalmak (régebbi blogok, több termék) nem indexelődnek, (3) Elveszíted a long-tail keresési forgalmat. Helyette használj self-referencing canonical-t és hagyj minden oldalt indexelhetőnek.
Mi a legjobb megoldás infinite scroll SEO-ra?
Az infinite scroll SEO problémás, mert: (1) Google nem görget, (2) Nincsenek külön URL-ek a blokkokhoz, (3) Lassú betöltés káros Core Web Vitals-nek. Legjobb megoldások: (1) Pagination URL-ek készítése (pl. /page/2/), (2) Load More gomb + dinamikus URL frissítés (History API), (3) View All link megadása, (4) SSR/SSG a teljes tartalomhoz. Vagy kombináld: infinite scroll felhasználóknak + pagination bot-oknak.
Hogyan optimalizáljam az e-commerce kategória lapozását?
E-commerce kategória pagination optimalizálás: (1) Self-referencing canonical minden oldalon, (2) Egyedi title minden laphoz (pl. 'Férfi cipők - 2. oldal | Bolt'), (3) Előző/Következő linkek crawlolhatóak (), (4) Breadcrumb minden oldalon, (5) Structured data (CollectionPage), (6) Load More vagy pagination kombinálása, (7) Szűrők URL parameter-ekben (?color=red) ne ütközzenek pagination-nel (?page=2). Ne használj noindex-et!