Infinite scroll is a pattern where a list keeps loading more items as the user approaches the bottom, instead of splitting them across numbered pages. Load more buttons are a close relative. Both can work well for users, but search crawlers do not scroll or click, so items beyond the first batch may never be discovered unless the same content is also available through crawlable, paginated URLs.
The crawlability problem
Googlebot renders the initial page but does not trigger scroll events or click buttons. Whatever loads only in response to those actions is not seen. On a blog or template gallery with infinite scroll and no other path, older items can become effectively orphaned.
Making it search-friendly
Google's guidance is to back infinite scroll with a paginated series. Each chunk of results gets its own URL that works when loaded directly, and those URLs are linked with ordinary a href links. As the user scrolls, JavaScript can update the address bar with the History API to match the chunk in view.
- Every page URL returns its own items when loaded directly
- Pages link to each other with real links
- The URL updates as users scroll between chunks
- Important items are also in the XML sitemap
<!-- Rendered at the end of the first batch, even with infinite scroll -->
<a href="/templates?page=2" class="next-page">More templates</a>User experience points
Infinite scroll makes footers hard to reach and can lose a user's place after they click away and come back. Many sites use a load more button with paginated URLs underneath as a middle path.
Example
A template gallery with hidden items
Wickerpond's template gallery loads 24 templates, then more as the user scrolls. Search Console shows most individual template pages as discovered but not crawled. Adding paginated URLs behind the scroll, with real next and previous links, and listing every template in the sitemap gives crawlers a path to each one.
Common mistakes
No fallback URLs
If the only way to see item 100 is scrolling, crawlers will not see it.
Page URLs that do not work alone
Loading ?page=3 directly must show page 3's items, not page 1 again.
Questions
Not if it sits on top of crawlable pagination. Infinite scroll on its own, with no paginated URLs, is the problem.