A WordPress category page can lose its index slot in two different ways, and the fix depends on which one you have. If Rank Math has quietly noindexed an empty or thin category, the fix is a single toggle: open Titles & Meta, find the Categories tab (or the global “Noindex Empty Category and Tag Archives” setting), and switch it off for any category that actually has posts worth showing. If the problem is duplication instead – your category’s intro paragraph repeating on every paginated page, or a stale canonical tag – the fix is to trim that repeated text down to page one and confirm each paginated page canonicalizes to itself, not back to page one. Check which failure mode you have before you touch a setting; the two look similar in Search Console but need opposite responses.
Why it happens
WordPress builds a category archive automatically for every category you create, whether or not you meant it to become a real destination. That archive lists the posts assigned to the category, paginates once the list grows past your posts-per-page setting, and gets its own URL and its own spot in the index – or it would, if nothing else intervened.
Rank Math intervenes by default. Its Titles & Meta settings include a global toggle called “Noindex Empty Category and Tag Archives,” and it ships turned on. The logic behind it is reasonable on its own: an empty category page is thin content with nothing to show a visitor, so there is no reason to ask Google to index it. The problem shows up when a category that used to be empty gets posts added later, or when a category was never empty but still gets swept into the same noindex treatment through a separate per-taxonomy Robots Meta setting under the Categories tab. Either way, you end up with a category page that has real posts on it and still carries a noindex tag, because nothing told Rank Math the category stopped being empty.
The second failure mode is different and has nothing to do with the noindex toggle. It is duplication, and it comes from how category archives handle their own description text. Many themes print the category’s description paragraph at the top of every paginated page in that archive – page 1, page 2, page 3, all showing the identical intro copy above a different set of post excerpts. That repeated paragraph is not the whole page, but it is enough overlapping content across multiple URLs to register as duplication, and it is a separate issue from whatever your noindex settings say about the archive as a whole.
Canonical tags compound this if they are set up wrong. Older SEO guidance had sites canonicalize every paginated category page back to page 1, on the theory that only page 1 deserved to rank. Current practice has moved to self-referencing canonicals instead – each paginated page points to itself, not to page 1 – because collapsing every page’s canonical onto page 1 tells Google to treat pages 2, 3, and beyond as non-canonical duplicates of page 1, which can pull posts that only appear on later pages out of the index entirely.
Step-by-step fix
Work through these in order. The first two apply if your category page is noindexed and should not be; the second two apply if it is indexed but competing with itself across pagination.
1. Confirm whether the category is actually empty. Open the category in your WordPress admin and check its post count. If it has posts and still is not showing up in search, the empty-category noindex rule is not the real cause – skip to the pagination checks below.
2. Check Rank Math’s Categories tab under Titles & Meta. Look for a per-category or per-taxonomy Robots Meta override set to No Index, separate from the global empty-archive toggle. If a specific category has this switched on and you want it indexed, turn Robots Meta off for that taxonomy, or clear the override on the individual category’s own edit screen. This is the same Titles & Meta interface most sites configure once for post types and then forget has a separate tab for taxonomies.
3. Set the Advanced Robots Meta values for categories you want indexed. Once a category is not noindexed, set Max Snippet to -1 (unlimited), Max Video Preview to -1, and Max Image Preview to Large, so Google has no reason to render a truncated snippet for a page you want performing well in search.
4. Trim the repeated intro text to page one only. If your theme or a category-description widget prints the same paragraph on every paginated page, change that template logic (or the relevant plugin setting, if one exists) so the description shows only when the visitor is on page 1 of the archive. Pages 2 and beyond should show just the post listing, with no repeated intro copy above it.
5. Confirm each paginated page canonicalizes to itself. Do not force every paginated URL’s canonical tag back to page 1. WordPress core’s own canonical-resolution functions – wp_get_canonical_url() and the redirect_canonical() filter – handle this correctly by default; the failure case is usually a theme or plugin overriding that default with custom canonical logic left over from older guidance. This is the same category of canonical-tag mismatch that causes problems elsewhere on a site, just applied to paginated archives instead of single posts.
How to verify it worked
Do not trust the settings screen. Visit the live category URL in a fresh, logged-out browser tab and view the page source. Look for <meta name="robots" content="noindex... in the <head> – if you turned noindex off and that tag is still there, either the setting did not save or a cache is serving the old version. Clear any full-page cache and check again before assuming the fix failed.
For the pagination and duplication side, load page 2 and page 3 of the same category directly and confirm two things in the rendered source: the repeated intro paragraph is gone, and the canonical tag on each page points to that page’s own URL, not back to page 1. If you are unsure what your permalink structure does to these paginated URLs in the first place, it is worth a quick check against how your permalink settings shape category and archive URLs generally – a nonstandard structure can make it harder to spot which paginated URL you are actually looking at.
Search Console is the other half of verification, on a longer timeline. Open the Page Indexing report and check for “Duplicate without user-selected canonical” or “Duplicate, Google chose different canonical” against the category’s URLs. Neither status is exclusive to category pages, but seeing either one attached to a category archive you just fixed is a sign the duplication issue predates your change and Google has not recrawled it yet – not necessarily a sign the fix did not work.
What to do when the standard fix fails
If you removed the noindex tag and the category still is not indexed weeks later, that gap is usually a crawl-and-recrawl delay, not a broken setting. A noindex tag tells Google to drop a page from the index the next time it is crawled; removing that tag does not force an immediate recrawl on its own. Give it time, and use Search Console’s URL Inspection tool to request indexing directly if the category has not reappeared after a few weeks.
If the repeated intro text keeps showing up on paginated pages even after you changed the relevant setting, check whether your theme hardcodes the category description into its archive template file rather than pulling it conditionally. Some themes print category_description() unconditionally near the top of every archive page, with no built-in check for which page number is currently loading – in that case, the fix has to happen in the template file itself (or a child-theme override), not in a plugin setting, since there is no toggle to change if the theme never added one.
One more edge case: if canonical tags still point back to page 1 after you have confirmed no plugin or theme setting is doing it deliberately, check for a caching layer serving an old, pre-fix version of the page’s <head> markup. Canonical tags are easy to overlook in a cache-invalidation routine that mostly focuses on visible content, so a stale cached copy can keep showing the old canonical value long after the underlying template has been corrected.









