Search Console Errors on WordPress: Every Fix

Every Search Console Page indexing status a WordPress site runs into, what it means, whether to fix it, and the guide and free tool for each.

Cover Image for Search Console Errors on WordPress: Every Fix

Search Console’s Page indexing report lists every reason Google gives for not indexing a URL on your site. Some are errors to fix today; many are Google confirming it did what you asked. This guide goes through each status a WordPress site is likely to see, says whether it needs fixing, and links to the guide and free tool for the fix.

Open the report under Indexing → Pages. The chart shows indexed and not-indexed pages over time; the table under Why pages aren’t indexed lists each reason with the number of affected URLs and a validation column. Click a reason to see example URLs, inspect any of them, or start validation once you have fixed it.

Every status at a glance

StatusWhat it meansFix it?Guide
Excluded by ‘noindex’ tagThe page asks not to be indexedYes, if the page should be in GoogleNot showing up on Google
Blocked by robots.txtrobots.txt stops Googlebot crawling the URLYes, if the page should be in GoogleNot showing up on Google
Not found (404)The URL returns 404 (Google treats a 410 the same)Only URLs with traffic, links or internal linksFix 404 errors
Soft 404Returns 200 but looks like an error or is nearly emptyYesFix 404 errors
Page with redirectThe URL redirects; only the target can be indexedUsually notFix 404 errors
Redirect errorA loop, a chain too long or a bad targetYesFix 404 errors
Server error (5xx)The server failedYesFix 404 errors
Duplicate without user-selected canonicalA duplicate with no canonical; Google picked another URLIf Google picked the wrong oneCanonical statuses
Alternate page with proper canonical tagThe page points to another canonical and Google agreedUsually notCanonical statuses
Duplicate, Google chose different canonical than userGoogle overrode your canonicalYes, if your choice was rightCanonical statuses
Discovered – currently not indexedGoogle knows the URL but has not crawled itIf the page mattersDiscovered and crawled
Crawled – currently not indexedCrawled, not indexed for nowIf the page mattersDiscovered and crawled
Blocked due to unauthorized request (401)Login or password requiredYes, if it should be publicNot showing up on Google
Blocked due to access forbidden (403)The server refused GooglebotYes, if it should be publicNot showing up on Google
Blocked due to other 4xx issueAnother 4xx statusYesFix 404 errors
Blocked by page removal toolA removal request in Search Console hides the URLYes, if the request was a mistakeNot showing up on Google

Two more statuses describe pages that are indexed but have a problem: Indexed, though blocked by robots.txt and Page indexed without content. Both are covered below.

A 15-minute weekly check

You do not need to read every status every week. This order catches what matters:

  1. Look at the chart first. A sudden drop in indexed pages, or a jump in not-indexed ones, matters more than any single status. Note the date it started.
  2. Sanity-check the indexed count. A site with 300 posts and 40 pages should have somewhere around 350 indexed URLs once you add the homepage and main categories. Far more usually means archives, attachment pages or parameter URLs are being indexed; far fewer means something is blocking posts.
  3. Sort the “Why pages aren’t indexed” table by pages and look for reasons that grew since last week. A growing reason with a shared URL pattern is a setting; a handful of unrelated URLs is normal churn.
  4. Open one example URL per growing reason in URL Inspection and run Test live URL. If the live test is fine, the report is catching up. If not, you have found the cause.
  5. Leave the rest. Statuses that describe your own choices, such as noindexed tags or redirected old URLs, do not need a visit every week.

Statuses caused by your settings

Excluded by ‘noindex’ tag. Google found a noindex in a robots meta tag or an X-Robots-Tag header. On WordPress, check Settings → Reading → Search engine visibility first, then your SEO plugin’s settings for the post and for its content type. Fine for pages you noindexed on purpose, such as thin tag archives. The noindex and nofollow guide explains the directives.

Blocked by robots.txt. A Disallow rule matches the URL. Blocking crawling does not remove a page from Google, which is why you may also see Indexed, though blocked by robots.txt as a warning on indexed pages. To keep a page out of Google, allow crawling and use noindex. See the WordPress robots.txt guide and noindex vs robots.txt.

Blocked due to unauthorized request (401), access forbidden (403) or other 4xx. Something stopped Googlebot: a password, a login wall, a firewall or a security plugin. Make public pages public to everyone, including crawlers. If only some requests fail, look at the firewall’s rate limits and its rules for bots; a security plugin that blocks unfamiliar user agents or whole countries can catch Googlebot.

Blocked by page removal tool. Someone with access to the property asked Google to hide the URL under Indexing → Removals. Temporary removals last about six months. If it was a mistake, open the request’s menu there and choose Cancel request.

Missing, moved and broken pages

Not found (404). Normal for deleted pages. Redirect the ones that had traffic or links to the closest live page, leave the rest, and remove internal links to them.

Soft 404. The page answers 200 but looks empty or like an error: empty archives, internal search results, themes that show “not found” without the status code. Return a real 404, noindex, or add the missing content.

Page with redirect. Google followed the redirect and left this URL out of the index; the target may be indexed instead. Only update sitemaps and internal links that still point at the old URL.

Redirect error and server error (5xx). Loops, long chains and failing servers. The redirect checker shows every hop; server errors are a hosting conversation.

All of these are covered in how to fix 404 errors in Google Search Console.

Duplicates and canonicals

WordPress serves the same content at more than one URL more often than you would think: http and https, www and not, tag and attachment pages, parameter URLs. The three canonical statuses tell you which URL Google picked and whether that agrees with your canonical tag. Start with the canonical statuses guide, and read canonical tags for duplicate content for how the tag works. The canonical checker reads the tag on any page.

Pages Google has not indexed yet

Discovered – currently not indexed and Crawled – currently not indexed are not caused by a setting. Google either has not got to the page or did not think it worth indexing. The fixes are internal links from pages that get traffic, merging overlapping posts, improving thin pages, and keeping low-value URLs out of the sitemap. See discovered – currently not indexed. The sitemap checker validates your sitemap and samples the URLs it lists for errors, redirects and noindex.

Indexed, but with a problem

Indexed, though blocked by robots.txt. Google indexed the URL from links pointing at it, but robots.txt stops it reading the page, so the result shows no description. If you want the page in Google, remove the Disallow rule so it can be crawled. If you want it out, remove the Disallow rule too, then add noindex: Google has to crawl the page to see the noindex.

Page indexed without content. Google indexed the URL but could not read anything on it. Google’s help names two likely reasons: the page is cloaked, showing Google something different from visitors, or it is in a format Google cannot index. It is not a robots.txt block. On WordPress, test the URL live and open View tested page → Screenshot: a blank screenshot points to a firewall or CDN serving Googlebot an empty response or a challenge page.

Sitemaps

Under Indexing → Sitemaps, a status such as Couldn’t fetch or Sitemap could not be read means Google could not load or parse the file. WordPress sitemaps live at /sitemap_index.xml (Yoast SEO, Rank Math) or /wp-sitemap.xml (WordPress alone). Check the address in robots.txt, then run it through the sitemap checker for XML errors.

After a page is indexed

Indexed is not the finish line. A page Google shows often but that few people click is losing traffic in plain sight. Find those pages with the CTR calculator, judge them with what is a good click-through rate, and rewrite the snippet with the guides to changing your WordPress SEO title and Yoast meta descriptions. The title and meta description checker shows where Google would likely cut them.

Two checks outside the Page indexing report are worth running on important pages too: the image alt text checker for missing or file-name alt text, and, on a store, the WooCommerce SEO checker for product pages.

How validation works

When you have fixed a status, click it in Indexing → Pages and choose Validate fix. Search Console rechecks the URLs listed under that status over the following days or weeks and shows the validation as started, then passed or failed. Before starting, confirm one fixed URL with URL Inspection → Test live URL. Do not validate statuses that list URLs you mean to keep excluded (noindexed archives, redirected old URLs); they will stay in the report, correctly.

Troubleshooting the report itself

Indexed pages dropped sharply in one week. Check the site-wide causes before anything else: the “Discourage search engines” box (some migration and staging plugins switch it on), a robots.txt change, or a burst of server errors in Settings → Crawl stats. The date on the chart tells you which deploy or plugin update to look at.

The example list stops at 1,000 URLs. That is the report’s limit. To see a different sample, add a URL-prefix property for a section, such as https://yourdomain.com/blog/; it gets its own report and its own examples.

A URL you fixed still appears under the old status. The report reflects Google’s last crawl of each URL. Test it live; if the live test is fine, wait for the recrawl or start validation.

The numbers do not match your sitemap. The report covers every URL Google knows about, not just the ones in your sitemap. Use the filter above the chart to switch between All known pages and All submitted pages, or a single sitemap.

How RankHive handles this

On a connected WordPress site, RankHive reads your Search Console every week, inspects your posts and pages with URL Inspection data, and turns what it finds into drafted fixes: a canonical, a redirect where one page should be merged into another, a robots.txt rule, internal links to a page Google is skipping, a new title for a page few people click. Each draft shows the current value next to the proposed one. Nothing changes until you approve it; then the RankHive plugin writes it to WordPress, into Yoast SEO, Rank Math or SEOPress where the field belongs to them, and the Change Log keeps a Revert button for every change. RankHive works on posts and pages, not WooCommerce products.


Your job is to fix the statuses that keep pages you want out of Google, and leave the ones that describe your own choices. Work through them by hand with the guides above, or let RankHive check your Search Console each week and ship the fixes after you approve them.

Frequently asked questions

No. Many statuses describe Google doing what you asked: a noindexed tag archive, a URL that redirects, a page whose canonical points elsewhere. Fix the statuses listing URLs you want in Google, and the errors listing URLs your site still links to.