The likely causes, ranked by how often they turn out to be it
In rough order of how frequently each one is the real answer on a small business site.
1. The site is fine and you are just not on page one
This is the most common outcome by a distance. The site is indexed, it ranks somewhere, and the owner has never looked past the first page of results. Check Search Console: if you have impressions, Google is showing your pages to people. That is a ranking gap, not a fault, and it is closed with better pages and time rather than a fix.
2. A noindex tag left over from the build
Almost every site is built behind a noindex so the unfinished version does not get picked up. If nobody removes it at launch, the finished site stays invisible indefinitely. It is one line of HTML, or a checkbox in most content management systems, and it is a genuinely common cause of a site that has never appeared.
3. A robots.txt rule blocking crawlers
Visit yourdomain.com/robots.txt. A line reading Disallow: / under User-agent: * asks every crawler to skip the whole site. Staging environments ship with exactly that, and it travels to production more often than anyone admits.
Worth understanding the difference: robots.txt blocks crawling, noindex blocks indexing. A page blocked in robots.txt can still appear as a bare URL with no description, because Google knows it exists but was never allowed to read it.
4. The domain is new and nothing points at it
Google finds pages by following links and reading sitemaps. A new domain with no inbound links and no submitted sitemap is genuinely hard to discover. This is not a fault, it is a starting position, and it is why one real link from a directory, supplier or partner does more early on than most people expect.
5. The wrong version of the domain is indexed
Your site may be reachable at four addresses: with and without www, on http and on https. If those are not redirected into one canonical version, Google is splitting signals across duplicates. This overlaps with certificate and DNS configuration, covered under Cloudflare management.
6. The content only exists in JavaScript
If the page HTML is essentially empty and everything is drawn by a script, indexing gets slower and less reliable. Turn JavaScript off in your browser and reload. If the page is blank, crawlers are working harder than they should have to.
7. A manual action or an outage during crawling
Rare, but real. Search Console reports manual actions directly under Security and Manual Actions. If your host was down when Google came by, crawling backs off, and repeated failures compound.