Site search

Search IndexLane

Type at least two characters to search.

    Technical note

    Pagination SEO: URLs, canonicals, and load-more pages

    Make deeper products and articles reachable through ordinary links. Check page URLs, canonical tags, infinite scroll, and pages beyond the end.

    By NikoPublished August 27, 2026Updated September 5, 2026Read 4 min

    Give each page in a paginated list its own URL, canonical tag, and ordinary links to the neighbouring pages. Google no longer uses rel=next/prev to identify a sequence. Its pagination guidance recommends linked URLs that work when opened directly.

    This matters when products or articles appear only after a visitor clicks “load more” or scrolls. Crawlers need another way to reach them.

    Link the pages in sequence

    Use standard <a href> links from one page to the next, keep page numbers in crawlable URLs, and give each page its own canonical URL. Link individual pages back to the first page where that helps users understand the collection. Google does not click “load more” buttons or rely on URL fragments to discover additional pages.

    Filter and alternate-sort URLs need a separate decision. If they reproduce the same collection in many orders, use noindex or robots rules deliberately for those variations; do not apply a blanket rule to normal pagination. Remember that robots rules control crawling while noindex requires the URL to remain crawlable long enough for the directive to be read.

    When a view-all page is an option

    A fast page containing the complete article may be a useful alternative to splitting that same article across several URLs. Consider canonical consolidation only when the view-all page is a genuine equivalent and practical to load.

    This is a separate decision from product-list pagination. Page 2 of a product category contains different items from page 1 and normally needs its own canonical URL.

    Give each listing page its own canonical

    For product and archive listings, keep each page self-canonical and link through the sequence:

    <!-- on /products?page=1 -->
    <link rel="canonical" href="https://example.com/products" />
    
    <!-- on /products?page=2 -->
    <link rel="canonical" href="https://example.com/products?page=2" />
    

    The first-page alias ?page=1 points to the clean collection URL. Later pages keep their page number. Add useful page-number or range links when a long sequence would otherwise require hundreds of “next” clicks.

    This is the default pattern for product and archive pagination. Each page exposes a different subset of items, so each gets a self-referencing canonical. Do not noindex deep pages merely because page 1 is the preferred search landing page; crawlers may need those pages to discover the items listed there.

    Give infinite scroll a working fallback

    Keep a paginated series underneath the JavaScript interaction. For example, the initial HTML for page 2 should include links like these:

    <nav aria-label="Pagination">
      <a href="/products">Previous</a>
      <a href="/products?page=3">Next</a>
    </nav>
    

    Each URL must return its corresponding items when requested directly. Updating the address bar with history.pushState helps preserve navigation state, but it does not create a discoverable link.

    If you add a load-more button, keep the links usable when JavaScript or the data request fails. Parse the API response before appending items, stop at the last page, and show a retry option for failed requests.

    Deciding which pattern to use

    Content typePatternWhy
    Long articles with a fast equivalent view-all pageView-all may be canonicalThe canonical really contains the complete equivalent content
    Multi-part editorial contentSelf-referencing pages with descriptive titlesEach section has a stable landing URL and distinct purpose
    Product listingsSelf-referencing pages with sequential linksCrawlers can reach products beyond page 1
    Forum threadsSelf-referencing pagesPage URLs remain stable for permalinks and sharing
    Infinite scrollCrawlable paginated URLs plus progressive enhancementSmooth UX with a real linked sequence underneath

    Test page 1, page 2, a middle page, the last page, one page beyond the end, and malformed values. For each valid page, verify the status, self-canonical, unique item set, crawlable next/previous links, and direct-load behavior. The over-limit page should return a real 404.

    Test the same pages with JavaScript disabled. Visitors should still be able to reach the next set of products or articles.

    Related notes

    Use stable @id values in Schema.org markup

    Give an author, publisher, or article one consistent identifier so your JSON-LD blocks describe the same entities across pages.

    Read article →

    Keep dates in structured data accurate

    Use real publication, update, offer, and event dates in your structured data. Find expired values and stop templates from inventing a new date on every request.

    Read article →