WordPress site not indexed by Google: the settings to check first
Check WordPress in this order: the Discourage search engines box, SEO plugin noindex settings, one sitemap, coming-soon mode, firewalls, then cached pages.
LLaunchScaler·Published ·8 min read
When Google won't index a WordPress site, start with the site's own settings, because several of them can tell search engines to stay away. Check them in this order: the "Discourage search engines from indexing this site" box under Settings > Reading, your SEO plugin's noindex rules, whether you serve one sitemap or two, any coming-soon or maintenance plugin, security plugins that block Googlebot, and finally a page cache still serving an old noindex or canonical.
Each check is quick. Confirm every fix with URL Inspection before requesting indexing.
Is "Discourage search engines from indexing this site" ticked?
Open Settings > Reading in the WordPress admin and look at Search engine visibility. If "Discourage search engines from indexing this site" is ticked, WordPress outputs <meta name='robots' content='noindex,nofollow' /> in the head of every page. Untick it, click Save Changes, and check the page source to confirm the tag is gone.
WordPress documents the behaviour: since version 5.3, the box adds that robots meta tag to every page that uses wp_head. Before 5.3 it made robots.txt return Disallow: / instead. The box is easy to leave ticked after building the site, or to carry over from a staging copy when the database is migrated.
It has a second effect worth knowing. The WordPress 5.5 sitemap announcement says that when you discourage search engines, core sitemaps are disabled. So if https://example.com/wp-sitemap.xml returns nothing and you have no SEO plugin sitemap, the box is the first suspect.
If the output contains noindex, something is still adding it. Search Console's URL Inspection shows the same thing as "Indexing allowed? No: 'noindex' detected in 'robots' meta tag". The covers tracing it to its source.
Questions, answered
What people ask about this
01
Why is my WordPress site not showing on Google?
Check Settings > Reading first: if 'Discourage search engines from indexing this site' is ticked, WordPress adds a noindex, nofollow robots tag to every page. After that, check your SEO plugin's noindex settings, your sitemap, any coming-soon or maintenance plugin, and security plugins that may block Googlebot.
Is your SEO plugin noindexing a post type, taxonomy or the whole site?
SEO plugins set robots defaults for whole groups of URLs, and one wrong default noindexes every page in the group. Rank Math's Titles & Meta settings, for example, hold a global Robots Meta default that post types inherit, separate robots settings for the homepage, author archives and each post type, an option to noindex empty category and tag archives, and a per-post override on every post. Check each layer, then the per-post settings on the pages that are missing.
Work through the plugin's settings in this order:
Content types: posts, pages and every custom post type (products, docs, case studies) should be set to show in search results.
Taxonomies: categories and tags. Noindexing thin tag archives is a reasonable choice; noindexing categories that act as your main hubs removes the pages your posts are linked from.
Archives: author and date archives. Noindexing author archives on a single-author blog is a deliberate choice, and fine.
Individual posts: open a missing post, find the plugin's advanced or robots panel, and check it is not set to noindex.
The pattern in Search Console tells you which layer to look at. If every post is excluded, it is a content-type setting or the Reading box. If one category's posts are excluded, check that taxonomy. If a single page is excluded, check that page's own setting.
Are you serving one sitemap or two?
Since WordPress 5.5, core publishes a sitemap index at /wp-sitemap.xml, and its virtual robots.txt points to it. The 5.5 announcement notes that plugins can register their own sitemap providers or disable the core sitemap in favour of their own. Submit the one your site actually serves, list only that one in robots.txt, and remove any stale sitemap from Search Console.
Two sitemaps are not an error in themselves, but they cause confusion when they disagree: one lists URLs the other excludes, one includes noindexed pages, or one is left over from a removed plugin. Yoast's help says that if your sitemap is at example.com/sitemap.xml, it was not generated by Yoast SEO, and asks you to disable other sitemap plugins and delete any physical sitemap files before enabling its own. In Yoast SEO the setting lives under Yoast SEO > Settings > Site features > XML sitemaps.
To see what is live:
curl -sI https://example.com/wp-sitemap.xml | head -n 1
curl -s https://example.com/robots.txt
Then open Search Console's Sitemaps report and confirm the sitemap you submitted matches the one robots.txt names and shows the status Success. The sitemap submission guide covers submitting it and reading the report.
Is a coming-soon or maintenance plugin still on?
Coming-soon and maintenance plugins replace every page with a placeholder for logged-out visitors, and Googlebot is a logged-out visitor. While you are logged in you see the real site, so the plugin is easy to forget. Log out, or open the site in a private window, and look at what the public actually gets.
Depending on the plugin and mode, the placeholder comes with a 503 or a 200. Both keep your real pages out of Google, in different ways:
What the plugin sends
What Google does
503 on every page
Treats it as temporary. Google's guidance allows a 503 for 1 to 2 days, and warns it cannot refresh titles, descriptions or structured data while pages return 503.
503 on robots.txt too
Google says this "blocks all crawling".
200 with the placeholder
Google can index the placeholder as your homepage, and inner URLs look like the same thin page.
Check with curl from outside your session:
curl -sI https://example.com/ | head -n 1
curl -sI https://example.com/robots.txt | head -n 1
Switch the plugin off, confirm both return 200 with your real content, and then request indexing for the homepage in URL Inspection.
Is a security or firewall plugin blocking Googlebot?
Security plugins and host firewalls rate-limit and block traffic that looks automated, and Googlebot makes more requests than a person does. Google's Page indexing help names firewalls and DoS protection as a common way sites block Googlebot by accident. The symptom in Search Console is 403 or 5xx responses, "Blocked due to access forbidden (403)", or a host status problem in Crawl Stats.
To confirm and fix it:
Run Test live URL in URL Inspection on a missing page. A "Page fetch: Failed" with a 403 or a 5xx points at the firewall, not at WordPress settings.
Look in the security plugin's blocked-traffic or firewall log for requests with a Googlebot user agent on the crawl dates.
Allow verified Googlebot rather than anything that claims the name. Google's verification guide says to check the requesting IP with a reverse DNS lookup that ends in googlebot.com, google.com or googleusercontent.com, then a forward lookup that returns the same IP.
Check country blocking and login-page protection rules too; a rule meant for the login page sometimes matches the whole site.
Is a caching plugin serving an old noindex or canonical?
A page cache stores the whole HTML response, head included. If you fixed a noindex or a canonical but the cache still holds the old copy, Googlebot gets the old tags. After changing any SEO setting, purge the page cache and any CDN cache, then check the live HTML again from a private window.
Signs of a stale cache:
URL Inspection's live test still reports noindex after you removed it, while your admin shows the setting off.
The canonical in the served HTML points at a staging host or an old slug.
The same page shows different robots tags depending on whether you are logged in (logged-in users usually bypass the cache).
Purge in the order the request travels: the CDN (Cloudflare or your host's edge cache), then the caching plugin, then any server cache your host runs. Then fetch the page with curl and compare its robots and canonical tags with what the admin shows.
Which WordPress setting matches your Search Console symptom?
Start from what Search Console shows and go straight to the setting that most directly produces it. URL Inspection on one missing page gives you the symptom.
Symptom in Search Console
Check first
Every page "Excluded by 'noindex' tag"
Settings > Reading, Search engine visibility
One post type or taxonomy excluded by noindex
The SEO plugin's robots setting for that type
A single page excluded by noindex
That page's own robots setting, then the page cache
Sitemap "Couldn't fetch" or no sitemap listed
Which sitemap is live, and whether the Reading box disabled the core one
Server error (5xx) across the site
A maintenance or coming-soon plugin, or the host
Blocked due to access forbidden (403)
Security plugin or host firewall rules
Noindex still reported after you removed it
Page cache and CDN cache
What if none of these settings are the cause?
If every setting is clean and the page returns 200 with no noindex, the page is indexable, and the question becomes why Google hasn't chosen it. Inspect one missing URL and follow its result: unknown, crawled or discovered but not indexed, or canonicalised elsewhere. Google's help also notes that a new page or site can take a week or so to be crawled and indexed.
The guide to why some pages aren't indexed walks through each of those branches, including thin posts, duplicate category and tag pages, and pages nothing links to.
Check what your WordPress pages actually send
The WordPress admin shows your settings; crawlers see the HTML the site serves, after plugins and caches have had their say. Run the free scan on LaunchScaler with your address and no account. It runs 156 checks across 6 of its 7 categories at no cost, including noindex in the meta robots tag or the X-Robots-Tag header on pages meant to rank, robots.txt rules that block pages, a missing sitemap or Sitemap: line, a sitemap that lists noindexed or redirecting URLs, soft 404 pages, and canonicals that point at the wrong URL.
02
Where is the Discourage search engines setting in WordPress?
In the WordPress admin, go to Settings > Reading and look for Search engine visibility. Untick 'Discourage search engines from indexing this site' and click Save Changes.
03
Why does Search Console say Excluded by noindex tag on my WordPress pages?
Something on those pages outputs noindex: the Search engine visibility setting, an SEO plugin rule for that post type or taxonomy, a per-post setting, or a stale cached copy. URL Inspection's Indexing allowed? line names whether it came from the meta tag or the X-Robots-Tag header.
04
What is the WordPress sitemap URL?
Since WordPress 5.5, core publishes a sitemap index at /wp-sitemap.xml. SEO plugins that generate their own sitemap usually replace it, so submit whichever one your site actually serves, and only one.
05
Does the WordPress sitemap work when search engines are discouraged?
No. WordPress disables its core sitemaps when the site is set to discourage search engines, so a missing /wp-sitemap.xml is another sign the setting is on.
Neither www nor non-www ranks better. Pick one host, 301 the other in one hop, and align DNS, HSTS and Search Console so only one copy of your site exists.
Alternate page with proper canonical tag means Google honoured your canonical and indexed that URL. It only hurts when a template canonicalises every page.