"No traffic" is a symptom, not a diagnosis. Four quite different failures produce it, and the number that tells them apart is free and takes a minute to look up.
Why does my website get no visitors?
There are four distinct causes and they need different fixes: the site is not indexed, so it cannot be found at all; it is indexed but not shown, because it does not match anything people search for; it is shown but not clicked, because the title and description do not earn the click; or it is getting visitors and your analytics is not counting them. Impressions in Google Search Console tell you which of the four you have.
The reason this matters is that the four fixes have nothing in common. Writing more content will not help a site that is blocked from indexing. Fixing a technical fault will not help a page that answers a question nobody asks. Guessing costs months.
How do I know if anyone is finding my site?
Look at impressions in Google Search Console — the number of times your pages appeared in search results. Zero impressions means you are not being shown at all. Impressions with almost no clicks means you are being shown and passed over. Impressions and clicks that do not match your analytics means your measurement is wrong, not your traffic.
That is the whole diagnostic, and it costs a minute. Everything below is what to do once you know which case you are in.
My website is new. How long before I get traffic?
Expect indexing within days to a few weeks and meaningful traffic over months. A new site has no track record and starts behind established competitors on almost every query, so early traffic tends to come from your own brand name and from specific, low-competition questions rather than from broad terms.
Worth knowing before you diagnose anything: on a three-week-old site, "no visitors" may be the expected state rather than a fault. Run the impressions check anyway — it costs a minute and rules out a blocker you would otherwise discover in month four. The timeline in detail is in how long it takes to appear on Google.
Case 1: zero impressions, and site: finds nothing
You are not indexed. This is the good news case, because the causes are settings with definite answers — a noindex tag, a robots.txt block, content that only exists after JavaScript runs, or a site nothing links to. Each is checkable today, and fixing one can change everything within a week. Full walk-through in why your website is not showing up on Google.
Case 2: zero impressions, but site: finds your pages
You are indexed and not matching. Google is willing to show your pages and never finds a query where they belong. This is nearly always a vocabulary problem: the site is written in the company's language — service names, internal terms, the way you describe yourselves — while customers search for the problem they have, in their own words.
The fix is unglamorous and effective. Write down the ten questions customers actually ask you on the phone, in their phrasing. Check whether any page on your site answers one of them plainly, under a heading that matches. Usually several do not exist at all, and the ones that do are buried inside a page about something else.
Case 3: impressions but no clicks
You are being shown and passed over, and this is the cheapest problem on the list to fix. The ranking work is already done. What is failing is the two lines of text in the results — the title and description — or the query is one that gets answered on the results page without anyone needing to click.
Sort your pages by impressions, look at the click-through rate of the top twenty, and rewrite the titles of the outliers. It is an afternoon's work against demand that already exists.
Case 4: search says you have traffic and analytics does not
Then the problem is measurement, and you may have been solving the wrong problem for months. Search Console counts the click from Google's side, before your site has loaded; your analytics counts only what runs afterwards in the visitor's browser. When the two disagree, the gap is nearly always in the second one.
Why does my analytics show fewer visitors than I expect?
Usually consent and blocking rather than a real shortfall. Analytics that only runs after a visitor accepts cookies measures the subset who accepted, which is correct behaviour under GDPR and means real visits go uncounted. Ad blockers remove more. If your cookie banner does not behave the way you think, the gap can be large — and no dashboard will tell you, because the visits it never saw cannot appear on it.
TrustCtrl includes a check you can run on demand that loads your site three times — before any choice, after a rejection and after an acceptance — and reports what actually fired each time. It is the only way to find out whether your banner is doing what you believe it is doing, and it is worth running before you trust any number underneath it.
The fifth case, which is new
There is now a way to have demand, rank for it, and still lose the visit: the answer is given above the results by an AI overview, or a customer asks an assistant instead of searching at all. The signature is steady impressions and position with falling clicks. The response is not better ranking but being the source that gets quoted — see how to get cited by AI search. It is worth ten minutes to confirm the assistants can even reach you, because a robots.txt rule can rule you out of that channel entirely.