On 4 August 2026 our own site appeared in search for the first time. Until that day it sat under a site-wide indexing ban, so Google effectively did not know it existed. Exactly a month later, on 2 September, we put our site through the same checklist we run on client sites — a one-day SEO audit.
Below is what that checklist actually covers, what the numbers looked like on a site one month old, and which of the findings are worth the work. Every measurement covers 3 to 31 August 2026 and was taken on 2 September.
What the first month showed
| Metric | Value |
|---|---|
| impressions | 5,656 |
| clicks | 41 |
| CTR | 0.72% |
| average position | 39.3 |
Week by week the impressions grew steadily: 421 → 858 → 2,127 → 2,250. The site is gaining visibility, which is the normal pattern for an index that has just opened.
Now the same impressions broken down by position — the table that explains the CTR and the mood of the whole report:
| Positions | Pages | Impressions |
|---|---|---|
| 1–3 | 13 | 33 |
| 4–10 | 62 | 490 |
| 11–20 | 59 | 975 |
| 21–50 | 206 | 3,562 |
| 50+ | 222 | 2,816 |
Seventy per cent of impressions sit below position twenty, which means the third page of results and beyond. With that distribution, a CTR of 0.72% is not a snippet defect. It follows directly from where the site stands, and no meta tag fixes that.
What a one-day audit covers
The order is deliberate: first whatever lets the crawler onto the site at all, then whatever shapes the results page, and only at the end the content itself.
1. Status codes and redirects
Take every URL Google showed the site for during the month and walk them under the same User-Agent the crawler uses. We had 562 of them: 509 returned 200, 52 returned a permanent 308 redirect, one returned 404.
Those 52 redirects matter not in themselves but in what rides on them: 1,065 impressions. Google still shows people addresses that no longer exist on the site. That is the aftermath of renaming sections — done correctly, but not yet digested by search.
curl -s -o /dev/null -w "%{http_code} %{redirect_url}\n" \
-A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" \
https://your-site.com/page
The same thing in bulk is done by the status code checker.
2. robots.txt and sitemaps
Check what robots.txt blocks, whether every sitemap is readable, and whether a sitemap lists a URL that serves noindex itself. A contradiction between sitemap and page is the most common source of errors in the indexing report, because the site is handing the crawler two opposite instructions.
We have 668 pages indexed and 657 outside the index, 415 of them closed by a noindex the site applied to itself. That is not a fault, but it eats crawl budget, and it has its own breakdown: where a site's crawl budget goes. To reconcile the sitemap with the state of the pages, use the robots.txt and sitemap check.
Open Crawl Stats next to it. Over the month the crawler made 13.9k requests: 77% of responses were 200, 15% were 404, 6% were 302, with an average response time of 531 ms. Every sixth answer the crawler received was "no such page".
3. noindex in two places
An indexing ban lives both in a meta tag inside the page and in the X-Robots-Tag header of the server response. The second is invisible in the page source, which is why it gets forgotten and then hunted for weeks.
curl -sI https://your-site.com/page | grep -i x-robots-tag
curl -s https://your-site.com/page | grep -i 'name="robots"'
For a page that belongs in search, both commands should stay silent.
4. Canonical
Verify that each page names itself as canonical, rather than a neighbour or a version with query parameters. The classic template mistake is a canonical hard-wired to the homepage: search then merges every page of the section into one and drops the rest from consideration.
5. hreflang across language versions
Language versions must reference each other in both directions and point at final URLs, not at ones that redirect. Alongside hreflang, look at the internal links inside a version: if they all lead back to the main language, the version is not self-sufficient, and the crawler sees exactly what the reader sees — a dead end. How that looks from the inside, and why it stays unnoticed for years: a multilingual site that sends everyone into one language.
6. Compression and page weight
Measure with the header a real browser sends, not the one that flatters the server. Our own case was exactly that: the check reported "compression works" while a live visitor received a page twice as heavy — the breakdown with before and after figures.
7. Mobile Core Web Vitals
Take the Core Web Vitals report in Search Console rather than a lab test: it holds field data from real Chrome browsers instead of a simulation on someone else's machine. All 33 of our URL groups on mobile are marked "needs improvement", with not a single fast one. On desktop all 33 groups are fast.
That finding carries a price tag visible in the same performance report: mobile brings 27% of impressions and only 10% of clicks.
8. Snippets
A title up to 60 characters, a description between 130 and 165 — longer gets truncated in the results, shorter leaves empty space under the headline. Count them across the whole site rather than sampling three pages: the snippet length checker does it in bulk.
9. Cannibalisation
In the Performance report switch on the query-plus-page view and look for queries that surface two different URLs. Ours does that for "advertising account audit": 43 impressions at position 46 for one page and 38 impressions at position 82 for another. Neither collects the full signal, and both sit in the middle.
The broader version of the same problem is one topic scattered across several pages. Crawl budget is described in three places on our site, which is a structural question rather than a wording one. Such pairs are found by the cannibalisation check.
10. Pages with impressions and no clicks
Sort pages by impressions and look at the ones where clicks are zero. The most-shown page on our site is the audit service hub: 1,193 impressions, average position 57.8, not one click. The position explains everything — an impression on the sixth page of results almost never becomes a click.
The worse case sits right beside it. A page holding position 8 for a query with 105 impressions has no clicks either, and there the question is about the snippet, because the position is fine.
11. Internal linking
Look at how many links point to each important section, and whether any page can only be reached from the sitemap. The crawler distributes its budget along the links it can see, so a page with no inbound links competes against itself for attention.
12. Backlinks
The Links report in the console, the first screen. We have 5,226 external links from exactly 5 domains: site-wide footer links on sites we built ourselves. Five votes, not five thousand. A number that looks impressive in any deck and means nothing.
What comes out of it
The list is ordered by what pays off most, not by what is quickest to do.
Rewrite the audit hub around the query. The page with the most impressions and zero clicks sits at position 57 because it answers the query worse than the pages above it. That is content work, and it comes before any tag work.
Separate the two pages competing for one query. One stays the target page, the other is rewritten for an adjacent query and links to the first. Until that happens the signal splits in half and neither page moves.
Deal with mobile speed. Thirty-three URL groups against zero fast ones is not thirty-three separate problems but one shared cause, found once and fixed for the whole site.
Wait out the reindexing of the old URLs. The 52 redirects work correctly and Google will rewrite them itself within a few weeks. The only action here is to leave the URLs alone: every new rename resets that counter to zero.
Backlinks. Five domains is not something a day fixes, and not something technical work fixes at all. The item stays on the list so that nobody mistakes it for a technical one.
Honest limits
An audit does not deliver positions. It delivers an order of work: a list with the things worth your time at the top and the things that look alarming and change nothing at the bottom. The checking takes a day, the doing takes months.
On a young site half the findings honestly amount to "wait". A month in the index is too little to tell your own mistake apart from the normal course of reindexing, and any faster conclusion is guesswork. A site running for three years produces a completely different audit: there every finding has a history, you can see what broke and when, and there is something to compare against. One such case is an audit after a traffic drop.
One last thing worth saying out loud. None of these twelve points is the reason a site is not at the top. They explain why the crawler sees the site worse than it could. Everything after that is decided by the content of the page and by how many similar pages were written before yours.




