- Stop using rel=next/prev; Google hasn't prioritized these tags since 2019.
- Use a 'View All' page if your category contains fewer than 200 items.
- Canonicalize paginated pages to themselves, not to the root category page.
- Inject pagination URLs into your sitemap only if they contain high-authority or frequently updated items.
No. Canonicalizing page 2 to page 1 tells Google that page 2 is a duplicate of page 1, which effectively kills your ability to index the products or content on page 2. Always canonicalize a paginated page to itself to ensure the content on those specific pages remains discoverable.
Should I canonicalize page 2 to page 1?
Most SEOs treat pagination indexing like a chore, but it’s actually the primary reason your site’s crawl depth is bloated and your long-tail rankings are stuck in the mud.
If you’ve tried to “fix” pagination before, you likely fell into the trap of canonicalizing everything back to the root category page. It feels logical: you want to consolidate link equity into the main page. But in practice, you are explicitly telling Googlebot that the products on page 4 don’t matter. When you do this, you effectively orphan thousands of URLs. I’ve audited sites with 100k URLs where 40% of the inventory was effectively invisible because the pagination strategy was built on a fundamental misunderstanding of canonical tags.
The Myth of rel=next and rel=prev
For years, the industry preached that rel=next and rel=prev were the holy grail of pagination. Then, in 2019, Google quietly announced they hadn’t used these signals for indexing purposes for years. I still see developers sweating over these tags in staging environments.
If you are currently spending engineering hours implementing these, stop. They are essentially metadata noise at this point. Googlebot treats paginated pages as individual URLs. If you want a page to be indexed, it needs to stand on its own feet. That means it needs its own unique title tag, its own H1, and crucially, it must be canonicalized to itself. If page 2 is a distinct page with distinct content (even if it’s just a list of different products), don’t treat it like a duplicate.
When you use rel=next/prev, you’re essentially asking for a sequence that Google has decided it doesn’t want to manage manually. They prefer to discover the relationship between pages through standard HTML links. If you have an HREFLANG setup, you might still need to include the next/prev links for language-switching, but for pure SEO pagination, they provide zero indexing lift. Spend those dev cycles on improving your site’s internal linking hierarchy instead.
Why Canonicalizing to Root is a Fatal Error
The most common mistake I see in my audits is the “canonical to root” strategy. The logic is that the root category page is the “main” page, so it should receive all the ranking credit. But Google isn’t a human; it’s a machine that follows instructions. When you put a canonical tag on category-page-2 pointing to category-page-1, you are sending a signal that says: “Ignore everything on page 2; it’s just a copy of page 1.”
This creates a scenario where Google drops your items from the index because the crawler never gets the signal that those items are independent. If you have products that only appear on page 3 or 4, they are now indexed by association only, and if the crawler decides the root page is “enough,” your deeper items vanish. I have seen organic traffic to product pages drop by 30% overnight simply because a developer “cleaned up” the canonical tags across paginated categories.
Instead, your pagination should follow a self-canonical rule. If the URL is site.com/widgets?page=2, the canonical tag must point to site.com/widgets?page=2. This tells Google: “This page is unique, and it contains valid content—index it.” If you are worried about duplicate content, focus on your content quality, not your canonical tags. If the only difference between your pages is the order of the products, that’s fine. Google is sophisticated enough to understand that a paginated category is a distinct navigational path.
Structuring URL Patterns for Discoverability
Googlebot loves predictability. If your pagination URL structure is erratic, you’re creating unnecessary friction. A clean structure like /category/shirts?page=2 is perfectly fine. What you want to avoid is session-based parameters or dynamic hashes that change every time a user refreshes the page.
If you have a massive site, consider the crawl path. Does your homepage link to every category? Does every category link to every sub-category? If your pagination is 50 pages deep, Googlebot is likely only going to reach the first 5 or 10. You need to ensure your most important products aren’t relegated to page 48. If you have a category with 1,000 items, pagination is a failure of your architecture. In those cases, you need sub-categories, not deeper pagination.
Use URL parameters for pagination, but keep them consistent. I prefer ?p= or ?page= as the query parameter. Avoid using complex base64 encoded strings or session IDs, which can cause Googlebot to see the same page as a infinite loop of unique URLs. If you’re seeing hundreds of thousands of “unique” URLs in your Google Search Console crawl stats that are just variations of your pagination, your parameter handling is broken.
The View All Strategy
If your category has fewer than 200 items, ditch pagination entirely and build a “View All” page. This is the gold standard for crawl efficiency. It allows Google to see the entire inventory of a category in one pass without having to traverse 10 separate pages.
If you go this route, canonicalize the paginated pages to the “View All” page. This consolidates your link equity while keeping the paginated user experience intact for your human visitors. It’s the best of both worlds: you keep the UI fast for people, and you provide a clean, flat structure for the search engine. Just ensure the “View All” page loads fast. If it takes five seconds to render 200 items, you’re doing more harm than good.
For performance, use lazy loading for images on the “View All” page. This allows the DOM to render quickly, which Googlebot likes, while still keeping the bandwidth consumption manageable for users on mobile devices. If you have more than 200 items, “View All” starts to become a performance burden. At that point, you should be moving toward more granular sub-categories (e.g., “Men’s Running Shoes” instead of “All Shoes”).
Handling Crawl Budget at Scale
On a 100k-URL site, you don’t want Googlebot spending its time crawling page 87 of your “all products” category. This is where you should use noindex carefully.
I typically advise teams to allow indexing for the first three pages of a category and noindex, follow for the rest. This tells Google: “Go ahead and follow the links to the products on page 4 and 5, but don’t waste index space on the category page itself.” This keeps your index clean while ensuring your product pages (the ones that actually convert) get crawled and indexed. If you don’t manage this, you end up with thousands of “paginated category” pages taking up index space, which can lead to your site being flagged for having too much thin content.
Using noindex on deeper pages also helps you reclaim crawl budget. Every time Googlebot hits a page, it consumes a portion of your crawl budget. If you have 5,000 paginated pages that have zero search intent, you are essentially throwing away your crawl budget. By limiting the indexable depth, you force the crawler to visit your high-value pages, such as your product detail pages or your high-authority blog posts, more frequently.
The Danger of AJAX and Infinite Scroll
Infinite scroll is the most common way developers accidentally destroy SEO. If you implement infinite scroll by simply appending content to the bottom of the page, Googlebot will never see the content beyond the initial load. It will see an H1, a few images, and then stop.
To fix this, you must implement the “History API” (pushState). This allows you to assign a unique, crawlable URL to each segment of the infinite scroll. As the user scrolls, the URL changes in the browser address bar, and those unique URLs must be accessible to Googlebot as standalone pages. If you can’t get your developers to implement pushState correctly, stick to standard numeric pagination. Standard pagination is ugly, but it works 100% of the time, whereas a poorly implemented infinite scroll is a black hole for your indexation.
Furthermore, ensure that your page-load speed remains under 2.5 seconds on mobile. If the JavaScript required to handle the infinite scroll triggers a massive performance hit, you’re likely to see a ranking penalty under Core Web Vitals. Always test these implementations in the Google Search Console “Live Test” tool to see how the page renders in its final state.
Advanced Indexing Logic: The Sitemaps Strategy
Many SEOs treat XML sitemaps as a “set it and forget it” task. But when you have 100k URLs, your sitemap is a critical indexation signal. Do not put every paginated page into your XML sitemap. If you put 50 pages of pagination into your sitemap, you are essentially telling Google, “Please, spend your time crawling these list pages.”
Instead, curate your sitemap. Only include the root category page and your high-value product pages. If you have a product that is buried on page 10, it shouldn’t rely on the paginated page to get indexed—it should be linked directly from the category page or a related products module.
I recommend a “tiered” sitemap approach. Create a sitemap specifically for your core categories, and another for your product pages. If you have a massive product catalog, split your product sitemap into chunks of 10,000 URLs. This makes it easier to monitor which chunks are failing in GSC. If you see a chunk that consistently has a high number of “Discovered - currently not indexed” errors, you know exactly where to start your investigation.
Implementation Checklist
- Audit current canonicals: Run a Screaming Frog crawl and filter for canonical tags. If any pagination pages point to the root, change them to self-canonicalize immediately.
- Standardize URLs: Ensure your pagination uses query strings (
?page=2) rather than sub-directories (/page/2/), as query strings are often handled more gracefully by modern crawlers. - Implement View All: Identify categories with fewer than 200 items and create a View All variant.
- Throttle Depth: Use
noindex, followon any pagination deeper than page 3 to prevent index bloat. - Check internal linking: Verify that your sub-categories are linked directly from the homepage; don’t make Google find them only through your main navigation menu.
- Test with Google Search Console: Use the URL Inspection tool on a deep paginated page to see if Google renders the content properly.
- Monitor Crawl Stats: Check the “Crawl stats” report in GSC to see if your “page” URLs are taking up a disproportionate percentage of your crawl budget.
Worked Example: The Electronics Retailer Scenario
Let’s look at a hypothetical electronics retailer, “TechGrid,” which has 15,000 products.
Before the fix, TechGrid had a category called “Laptops” with 40 pages of pagination. They were canonicalizing everything to the root. They had 1,200 indexed pages, but only 400 were actual product pages. The rest were duplicate category listings.
The Fix:
1. They implemented “View All” for the sub-categories, but kept pagination for the main “Laptops” category.
2. They removed the “canonical to root” rule.
3. They added noindex, follow to all pagination pages beyond page 3.
4. They manually injected the top 200 high-margin product URLs directly into their XML sitemap.
The Result: Within 30 days, their indexed “thin” pages dropped by 60%, and the crawl frequency of their high-margin product pages increased by 22%. By removing the duplicate category noise, they allowed Google to focus its crawl budget on the pages that actually generated revenue.
Managing these complex URL structures at scale is exactly what InstantIndexingPro was built to simplify.
Frequently asked questions
Should I canonicalize page 2 to page 1?
No. Canonicalizing page 2 to page 1 tells Google that page 2 is a duplicate of page 1, which effectively kills your ability to index the products or content on page 2. Always canonicalize a paginated page to itself to ensure the content on those specific pages remains discoverable.
Does Google ignore pagination tags now?
Google officially deprecated rel=next and rel=prev signals years ago. While they don't hurt, they don't help the crawler understand the sequence. Rely on clear internal linking and a well-structured URL pattern instead.
How do I stop Google from crawling deep paginated pages?
Use the 'noindex' tag on deep pages if they don't contain unique content, or use a robots.txt disallow rule if you want to save crawl budget. However, be careful: blocking them prevents Google from following links to items deeper in your catalog.
Is an infinite scroll better for SEO?
Infinite scroll is dangerous for indexing unless you implement a 'pushState' mechanism that assigns unique, crawlable URLs to every scroll increment. Without that, Googlebot stops at the first screen.
Frequently asked questions
how to index blog posts faster
Google typically indexes a properly submitted url in 24-48 hours if all signals align speed depends on server health structured data validity and backlink velocity rather than any single tactic.
does submitting via api speed up indexing
api submission can reduce initial crawl delay by 12-24 hours compared to manual submission but only when paired with strong internal linking and no redirect chains.
why are indexed pages disappearing
most sites see fluctuations due to temporary indexing tests or quality issues not permanent loss check indexed count daily for 72 hours before acting.
can i force google to index a page
no but you can increase likelihood by ensuring zero crawl errors optimal load speed and clear topical relevance through structured data.
best time to publish for fastest indexing
publish tuesday through thursday between 10am-2pm gmt this aligns with peak crawl budget allocation across most server locations.
Frequently asked questions
How long does it take for a new page to get indexed?
In most cases, a properly submitted page appears in the index within 3-5 days, but high-authority sites can see same-day indexing if internal links are strong. Low-authority pages may take 2-3 weeks regardless of submission method.
Does adding a URL to the sitemap guarantee indexing?
No; a sitemap is a discovery signal, not a guarantee. Google still evaluates quality and relevance before adding the page to the index, especially after algorithm changes that adjust content quality thresholds.
Why did my pages disappear from the index after a core update?
Indexation drops after core updates usually mean Google is recalculating relevance and quality signals. If you see a sudden dip, check the Index Coverage report for 'submitted URL currently not indexed' versus 'error' status to determine if it's a quality filter or a crawl issue.
Can I force Google to index a page?
You can request indexing via URL Inspection, but Google sets a cooldown period after multiple requests. The most reliable method is earning natural backlinks and ensuring the page is reachable from a high-authority page on your site within three clicks.
Frequently asked questions
How do I check which pages are not indexed on my site?
Use Google Search Console's 'Indexability' report to see ' crawled - currently not indexed' vs 'discovered - currently not indexed' buckets; the former means crawl budget constraints, the latter means content relevance signals.
What causes pages to be crawled but not indexed?
Google typically detects low content uniqueness, thin affiliate content patterns, or orphan page status where no internal links point to the URL, causing the crawler to drop it post-discovery.
Can I force Google to index a page instantly?
No tool guarantees instant indexing; the Indexing API for supported content types or IndexNow push notifications accelerate discovery but still pass through Google's relevance and quality filters.
Does a high number of 'Crawled - currently not indexed' errors hurt rankings?
It generally signals crawl budget waste; fixing these often frees up bots to discover and index your priority pages faster, though it is not a direct ranking factor.