← All posts
August 18, 2026

Your Site Is Live and Google Can't See It: The Post-Deploy Checklist

One page out of eighteen

I built this website with AI. It looks good, it loads fast, the copy is mine, and I was proud of it. Two months after launch I finally checked what Google had actually indexed.

One page. The homepage. Out of eighteen.

Every other page — services, pricing, all nine guides — was invisible. Not ranking badly. Not on page four. Absent. And the reason was four words sitting in a layout file that I had never once looked at.

This guide is the checklist I wish someone had handed me the day I deployed. It's not about ranking, or keywords, or content strategy. It's about the gap between deployed and findable, which is much wider than it looks and which almost nobody warns you about.

If you built a site with Lovable, v0, Claude, Cursor, or any of the rest of them, this is for you. The tools are genuinely good at building. They're silent about everything that happens after.

Why this gap exists

When you build software the traditional way, someone on the team has done this before. There's a launch checklist somewhere. Someone asks "did we set up Search Console?" in a meeting.

When you build it yourself in a weekend, there's no meeting. The site works, the deploy is green, the domain resolves. Every signal you have says done. Nothing tells you that search engines can't read it properly, or that your email is landing in junk, because those failures are completely silent. No error, no warning, no red X. Just nothing happening, slowly, for months.

That's the whole problem. These are not hard fixes. They're invisible ones.

Start here: the thirty-second test

Before anything else, find out what search engines actually have. Go to Google and search:

site:yourdomain.com

That returns every page Google has indexed. Count them, then compare against how many pages your site actually has.

  • Matches roughly? Good. Your indexing is fine, and most of this guide is a tune-up.
  • Far fewer? Something is actively telling Google not to index. Keep reading — that was me.
  • Zero results? Either the site is brand new and hasn't been crawled yet, or something is blocking crawlers entirely.

Do this now. It takes half a minute and it tells you which of the next steps are urgent versus tidy-up. If you would rather have an AI run the whole check for you, the Claude Code prompts are here.

1. Check your canonical tags

This is the one that cost me seventeen pages, and it's the single most damaging thing on this list.

A canonical tag tells search engines "this is the real address for this content." It exists to handle genuine duplicates — the same product page reachable at four URLs, say. Point it at the wrong place and you're telling Google, in its own language, that your page is a duplicate of something else and should not be indexed.

My root layout set the canonical to / — the homepage. In Next.js, that key is inherited by every page rather than merged per page. So every page that didn't set its own canonical announced itself as a copy of the homepage. Google believed it, because that's exactly what the tag means.

How to check: load a page that isn't your homepage. Right-click, View Page Source, search for canonical. It should point at that page's own URL. If every page shows the same URL, you have my bug.

How to fix: set an explicit canonical on every page. In Next.js that's alternates: { canonical: "/your-path" } in the page's metadata export. Other frameworks differ, but the principle is identical: every page declares itself.

A caution — the safest move if you're unsure is to have no canonical tag at all rather than a wrong one. A missing canonical means search engines work it out themselves, which they're good at. A wrong canonical is an instruction they will follow off a cliff.

2. Create a Search Console property

Google Search Console is free and it's the only place you can see what Google actually thinks of your site. I had never created one. For two months I was guessing.

  • Go to Search Console and add a Domain property, not a URL-prefix one. Domain covers www, the bare domain, and any subdomains in a single property.
  • Verify with the TXT record it gives you, added at your registrar. Add that record — do not edit or overwrite any TXT record already there. One of them is almost certainly your email authentication, and overwriting it breaks your mail the same day.
  • Submit your sitemap. In a Domain property you must paste the full URL — https://www.yourdomain.com/sitemap.xml, not just sitemap.xml.
  • Use URL Inspection → Request Indexing on your most important pages. There's a daily cap of roughly ten. This is far faster than waiting to be crawled.

Do the equivalent in Bing Webmaster Tools while you're at it. It takes five minutes and it also feeds a share of AI search results.

3. Give every page its own title and description

Check each page's <title> and meta description. If several pages share the same ones, you have pages inheriting a site-wide default rather than describing themselves.

Mine did this on the contact page, for a reason worth knowing: in Next.js, a page marked "use client" can't export metadata at all. It fails silently and inherits the site default. The fix is a small layout file alongside it that carries the metadata. Whatever your framework, the lesson generalizes — check the rendered HTML, not the source code. Only the rendered output tells you the truth.

4. Confirm robots.txt and your sitemap actually work

Two URLs to load in a browser:

  • yourdomain.com/robots.txt — make sure it doesn't say Disallow: /. That single line blocks your entire site, and it's a very common leftover from a staging setup.
  • yourdomain.com/sitemap.xml — make sure it loads, is valid XML, and lists your real pages.

If your sitemap is generated from a database or CMS, confirm it updates when you publish. A sitemap frozen at launch is worse than none, because it actively tells search engines nothing has changed.

5. Add structured data to content pages

Structured data is a small block of JSON in your HTML that describes what a page is — an article, a product, an organization, an FAQ. Search engines use it to understand the page and to build richer results.

My nine guides had none. They carried the site-wide organization markup and nothing else, so Google had no author, no publish date, and no headline to attach to any of them. If you publish articles, add Article markup. If you sell things, add Product. Google's Rich Results Test will tell you what it can read.

6. Link your own pages to each other

Mine had zero internal links between related content. Nine guides, none pointing at any other.

Internal links do two jobs: they help search engines discover and understand relationships between your pages, and they keep readers moving through your site instead of leaving. Link where it genuinely helps the reader — a guide that mentions a concept another page covers should link to it in that sentence, not in a "related posts" box at the bottom.

While you're there, check your link text. Mine read Details at /pricing — the raw path, sitting in the sentence. Link text should describe the destination: "the pricing page." It reads better and it tells search engines what the target is about.

7. Fix your email authentication

Half of this list is search. This half is why your email lands in junk, and it has nothing to do with your website's code.

Three DNS records govern whether mail claiming to be from your domain gets believed:

  • SPF — lists which servers are allowed to send as you. You probably have one already; your email provider sets it up.
  • DKIM — cryptographically signs your mail so the receiver can verify it really came from your domain and wasn't altered. This is the one that's usually missing. Mine was. Google, Yahoo and Microsoft have all required it since 2024, and without it you look like a spoofer.
  • DMARC — tells receivers what to do when the first two fail, and asks them to report back who is sending as you.

Turning on DKIM is usually two steps: enable it in your mail provider's admin console, which generates DNS records, then add those records at your registrar, then go back and switch signing on. The last step is the one people skip — publishing the records does nothing until you flip the toggle.

Then test it. Send a normal email to a mail-tester service and read the score. Anything below 9 out of 10 comes with a list of exactly what is wrong.

One more thing worth knowing: a domain registered a few weeks ago has no sending reputation, and filters weight that heavily. Authentication plus patience is the fix. There's no shortcut.

8. Install analytics before you need them

You can't diagnose traffic you never measured. Whatever you use, install it now rather than the day you start wondering. Two notes: put your analytics behind a first-party path if you can, because ad blockers block the well-known hostnames by name, and check that your tag actually fires on production rather than only in your local build.

What to skip for now

An honest list, because most advice in this area is padding:

  • Page speed obsession. If your site loads in a couple of seconds, move on. Speed is a tiebreaker between pages that both rank. It won't rescue a page that isn't indexed.
  • Keyword density, meta keywords, and most on-page scoring tools. Meta keywords have been ignored for over a decade.
  • Buying links. At best wasted money, at worst a penalty.
  • Rewriting everything for AI search. Solid structure, real content and clean markup serve both. There's no separate trick.

Fix indexing and email first. Those are binary — either it works or nothing happens at all. Everything else is optimization, and optimizing an invisible page is worth precisely nothing.

The post-deploy checklist

Copy this. Work down it in order. The first four are the ones that actually decide whether you exist.

#CheckHow you know it passed
1site:yourdomain.com in GooglePage count roughly matches your real page count
2Canonical tag on a non-homepage pagePoints at that page's own URL
3Search Console domain propertyVerified, sitemap submitted, shows discovered URLs
4Request indexing on top pages"Indexing requested" on each
5Titles and descriptionsDifferent on every page
6robots.txtLoads, and doesn't say Disallow: /
7sitemap.xmlLoads, valid, lists current pages
8Structured dataPasses Google's Rich Results Test
9Internal linksRelated pages link to each other in context
10SPF, DKIM, DMARCMail-tester score of 9 or 10
11AnalyticsEvents arriving from the live site

Then wait. Indexing takes days to weeks, not hours. Check Search Console's Pages report weekly and watch the indexed count climb. That number, not your traffic graph, is the thing to watch first — traffic can't arrive at a page that isn't in the index.

Where Hoven fits

If you get stuck on any part of this — or you want help with any other AI solution, or AI training for your team — reach out.

Get the next deep dive in your inbox.

The complete material, free. No gate, no pitch parade. Unsubscribe anytime.