Skip to content
Surfilby Adam Hafez

Pagination and infinite scroll: what gets indexed

rel=next/prev has been dead as an indexing signal since 2019, per Google's own words. Infinite scroll without real URLs is the same mistake in new clothes.

Published · 3 min read

Written byAdam Hafez
Person scrolling a smartphone screen with one hand

Key takeaways

  • Google Webmasters announced on March 21, 2019 that it had retired rel=next/rel=prev as an indexing signal, and John Mueller said it had not been used in indexing for years.
  • Google's current pagination documentation states plainly that Google no longer uses these tags at all, though other search engines may still use them.
  • Google's lazy-loading documentation says Google Search does not interact with your page, so loading methods must not rely on user actions such as scrolling or clicking.
  • Google's lazy-loading guidance says content should load on viewport visibility, not on a scroll or click event.
  • Google's documented fix for infinite scroll is a unique, persistent URL per content chunk, updated with the History API, not abandoning infinite scroll.

Two claims get repeated constantly in technical SEO advice, and both trace back to real, dated statements from Google rather than to inference: rel=next/rel=prev has done nothing at Google for years, and infinite scroll can quietly hide content from the index unless it is built a specific way. Neither is a guess. Both are things Google has said, in writing, more than once.

How rel=next/prev was retired

The pagination markup rel=“next” and rel=“prev” was introduced by Google in 2011 to hint that a sequence of component pages belonged to one series. On March 21, 2019, Google Webmasters (the account now known as Google Search Central) announced it was retiring the tags as an indexing signal, and Google’s John Mueller added a detail that mattered more than the retirement itself: Google had not been using rel=next/prev in indexing “for a number of years” before that announcement. The signal had quietly stopped mattering long before anyone said so publicly, a sequence documented at the time by Search Engine Roundtable.

Google’s own current documentation confirms the same position without hedging. Its pagination best practices page states it directly: “Google no longer uses these tags, although these links may still be used by other search engines.” That single sentence is the entire status of rel=next/prev at Google today. Leaving the markup in an existing site does no harm, since other search engines may still use those links, but adding it now for Google’s benefit accomplishes nothing. What Google asks for instead is unglamorous and structural: a unique URL per page, sequential <a href> links between them, and a canonical tag on each page pointing at itself rather than at page one.

Infinite scroll’s real risk

Infinite scroll fails for a more basic reason than pagination markup ever mattered: Google Search does not interact with your page, in Google’s own words. A page that only loads its next batch of content when a human scrolls to the bottom is, from Googlebot’s perspective, a page that stops after the first batch.

Google’s lazy-loading guidance states it plainly: methods should not “rely on user actions, such as scrolling or clicking,” to load content, “as Google Search does not interact with your page.” A loading mechanism gated on a scroll or click listener therefore gives Search nothing to rely on. The fix Google documents is not to load content on scroll at all, but to load it based on viewport visibility, using the IntersectionObserver API or an equivalent, which fires independently of any user action Googlebot would have to fake.

That handles content visibility, but it does not by itself solve indexing, because a page that still lives at one URL cannot be linked to, cited, or ranked as its later chunks separately. Google’s documented fix for that half of the problem is the one worth building to: give each content chunk its own unique, persistent URL, its example is a page parameter like ?page=12, and call the History API to update the visible URL once that chunk becomes the primary content on screen. That is not a workaround bolted on by SEO practitioners; it is Google’s own stated recommendation for making infinite scroll compatible with indexing at all, and it is the same underlying requirement rel=next/prev was trying, and failing, to serve a decade earlier: a discrete, crawlable URL behind every distinct piece of content.

Why we care

Both claims collapse to one requirement, and it has not changed even as Googlebot’s own rendering ability has: content needs a real, discrete URL to be indexed as its own thing. Rel=next/prev never changed that requirement, it was markup layered on top of URLs that already existed, which is exactly why Google could drop it silently for years before anyone noticed. Infinite scroll without real URLs violates the requirement directly, not through a markup gap but by never giving Googlebot a URL to land on for the content past the first load. The practical fix is the one Google itself documents: unique URLs per chunk, discovered through normal links rather than a scroll event, with the History API layered on top for the user experience. Anything built that way gets both the paginated URL structure engines have always needed and the continuous-scroll feel users expect, without betting indexing on Googlebot doing something its own documentation says it does not do.

The evidence

Sample
N/A, this is a documentation review, not a data study

Hypothesis: Google's indexing system requires a discrete, crawlable URL for content to be indexed at all, which is why Google's own statements make rel=next/prev irrelevant today and make scroll-only infinite loading a real indexing risk unless it is paired with real, unique URLs.

Method: Reviewing Google's own dated public statements and current official documentation on pagination, rel=next/prev, JavaScript rendering and lazy-loading, rather than SEO commentary about them. Each claim below traces to a specific Google Search Central page or a dated Google Webmasters statement, not to a third party's paraphrase of one.

Findings

  • Google Webmasters (now Google Search Central) stated on March 21, 2019 that it had retired rel=prev/next as an indexing signal, and Google's John Mueller wrote the same day that Google had not been using it in indexing 'for a number of years'.
  • Google's current pagination guide states outright that rel=next/rel=prev are dead at Google: 'Google no longer uses these tags, although these links may still be used by other search engines.'
  • Google's lazy-loading documentation is explicit about the mechanism: content should load on viewport visibility (the IntersectionObserver API or equivalent), not on user actions such as scrolling or clicking, because 'Google Search does not interact with your page.'
  • Google's own recommended fix pairs infinite scroll with real infrastructure: give each loaded chunk a unique, persistent URL (its example is a page parameter like ?page=12) and call the History API to update the visible URL once that chunk becomes the primary content on screen.

Limitations: This is a documentation review, not a crawl study or a measurement of real indexing outcomes, so it cannot say how often infinite-scroll pages actually fail to get indexed in practice, only what Google's own stated position is. Googlebot's rendering capability has genuinely improved since the "Googlebot doesn't scroll" framing became SEO folklore around 2019 to 2020; Google's current documentation still draws the line at user-action-triggered content specifically, not at JavaScript-rendered content in general, so a blanket claim that "Googlebot can't handle JavaScript" would overstate the risk and is not made here. The March 2019 statements were made on Twitter/X, a platform whose own pages could not be fetched directly for this piece (they returned an access error); the wording used here is corroborated by contemporaneous SEO trade press reporting on the same statements rather than a direct fetch of the original posts.

Sources

  1. 1.Pagination Best Practices for Google - Google Search CentralPrimary
  2. 2.Fix Lazy-Loaded Content - Google Search CentralPrimary
  3. 3.Google Now Says Rel=prev/next Is Not An Indexing Signal Anymore - Search Engine Roundtable, March 21, 2019
  4. 4.Infinite scroll search-friendly recommendations - Google Search Central Blog, February 1, 2014

Common questions

Does removing rel=next/rel=prev hurt rankings today?

No. Google's own pagination documentation states it no longer uses those tags at all, a position it says predates its March 2019 announcement by several years. The markup is inert at Google; it can still be left in place harmlessly for other search engines, but it does nothing for Google indexing either way.

Can Googlebot see content loaded by infinite scroll at all?

Only if that content is reachable another way. Google's lazy-loading documentation says Google Search does not interact with your page, so content that loads only on scroll or click is not something it can rely on. Content triggered by viewport visibility, or backed by its own paginated URL, is a different case and is indexable.

What is Google's own recommended fix for infinite scroll?

Give each loaded chunk a unique, persistent URL, Google's documentation uses a page-number parameter as its example, and update the visible URL with the History API once that chunk becomes the primary content on screen. That keeps the scrolling experience while giving Googlebot a discrete URL to crawl and index for each chunk.

About the author

Adam Hafez
Adam Hafez

Founder, UpgradIQ FZC LLC

Adam Hafez works on technical SEO and search measurement: how pages get crawled, indexed, ranked and now quoted by answer engines. He founded UpgradIQ, which reads Google Search Console and GA4 to tie ranking movement back to the changes that caused it. He publishes what the data supports and states the limits of it.

  • Technical SEO
  • Search Console and GA4
  • Answer engine optimization
  • Structured data

The briefing

Only what actually changed in search, delivered in full by RSS, Atom or JSON feed.

Follow