Most of the time it comes down to a single setting that gets switched on while the site is being built and stays on after launch. The site works, it looks fine, and as far as search engines are concerned it doesn't exist.
Search Google for site:yourdomain.com — with the colon, no space, and your own address in place of yourdomain.com.
That tells the search engine to list pages from that one address and nothing else. If results come back, your site is in Google and the problem lies somewhere else. If nothing comes back, or the only hit is a login page, the search engine doesn't hold your site at all.
site: search asks the index about one address only. An empty result means Google has no copy of your site.The same check works for a single page — put the full address after site:, for example site:yourdomain.com/contact.
Your page may carry a single line of code: <meta name="robots" content="noindex">. The site still works and anyone can open it. There is simply a note pinned to the door asking search engines to keep it out of their results.
Search engines honour that note. They arrive, read it and turn back, so the page never enters the index. Nobody gets an alert about it, because as far as the search engine is concerned everything is working exactly as the owner asked.
Finding noindex is not automatically a fault. Plenty of pages carry it on purpose, and removing it would do more harm than good. The block belongs in places like these:
So spotting noindex is not yet a diagnosis. What matters is where it sits and whether it belongs there — a company site meant to win customers is a very different case from a client portal.
If your site runs on WordPress, clearing one checkbox fixes the vast majority of cases. It gets ticked during the build and it is remarkably easy to forget at launch.
Clear “Discourage search engines from indexing this site” and save with the button at the bottom of the screen.
Yoast SEO and Rank Math can set noindex independently of the WordPress setting — for the whole site or for particular content types. If you run either of them, check its indexing options as well.
The effect isn't instant. A search engine has to visit the page again to see that the note is gone, which usually takes anywhere from a few days to a few weeks.
Clearing the checkbox opens the door, though it sends no signal on its own. A search engine returns when it sees fit, and for a small site that can take weeks. You can shorten the wait.
A free Google tool for site owners. It asks you once to prove the site is yours — through a DNS record or a file uploaded to the server. That is the one fiddly step in the whole process, and you only do it once.
Enter your address and the tool reports whether Google can see the page and whether anything is blocking it. This is where you confirm with your own eyes that the noindex tag is really gone.
It puts your page in the queue. That usually turns a wait of weeks into a few days.
On a larger site it pays to submit a sitemap — the sitemap.xml file that SEO plugins generate for you. It helps Google reach every page, including the ones few links point to.
Setting up Search Console needs access to your domain or your server. If that is where you get stuck, drop us a line — it takes a few minutes.
Requesting indexing speeds things up without guaranteeing anything. Whether and when a page enters the index remains Google's call.
Sometimes the WordPress setting is off, a week goes by and nothing changes. The block is then sitting somewhere else, and these signs tell you it's the harder variety.
The box is clear, a week or more has passed, and site: still comes back empty.
Nothing is ticked in the WordPress settings, yet Search Console keeps reporting a block on indexing.
The block returns after you save, or it comes and goes depending on who opens the page and when.
Some pages are in the results and others aren't, with no obvious pattern separating them.
In cases like these the cause usually sits outside the WordPress admin: in an SEO plugin's settings, in the robots.txt file, in a server response header, in the hosting configuration, or in a cache or CDN layer still serving an old copy of the page. Each of those needs a different check and a different level of access.
If clearing the checkbox doesn't bring your site back, the cause lies elsewhere. Send us the address and what has already been checked, and we'll tell you where the problem is. Usually free of charge.