Skip to main content
·12 min read·CMS & Platforms

Claude Code Website Audit: What to Check Before Your AI-Built Site Goes Live

A practical audit checklist for websites built with Claude Code. What to check for SEO, page speed, mobile usability, and structured data before launch.

# Claude Code Website Audit: What to Check Before Your AI-Built Site Goes Live

Claude Code can build you a working website in an afternoon. It writes React components, sets up routing, generates API endpoints, and deploys to Vercel — all from plain-English prompts in your terminal. For small business owners who can't afford a developer or don't want to wait weeks for a simple site, that's genuinely useful.

But "working" and "ready for Google" are two different things.

Claude Code is excellent at producing functional code. It's less reliable at producing findable code — the kind that loads fast, shows up in search results, and works properly on every phone your customers use. That gap is where an audit comes in.

This guide walks through what to check on any site built with Claude Code, why these issues happen, and how to fix them before they cost you traffic.

A small business owner at their desk comparing Claude Code terminal output on one monitor with their live website on a second screen, a printed SEO audit checklist in hand with several items checked off
A small business owner at their desk comparing Claude Code terminal output on one monitor with their live website on a second screen, a printed SEO audit checklist in hand with several items checked off

Why Claude Code Sites Need a Specific Kind of Audit

Claude Code is a terminal-based AI coding assistant from Anthropic. Unlike drag-and-drop builders like Wix or Squarespace, it generates raw code — typically React or Next.js applications. That means your site is custom-built, which sounds great until you realize custom-built sites skip all the SEO guardrails that website builders include by default.

When you build on Squarespace, the platform automatically generates a sitemap, adds meta tags, compresses images, and handles mobile layouts. Claude Code doesn't do any of that unless you specifically ask. And most people don't know to ask.

Here's what typically goes wrong:

  • Missing meta tags. Claude Code builds pages, not marketing assets. Title tags and meta descriptions are often generic or absent.
  • No sitemap or robots.txt. Google can still crawl your site without them, but discovery takes longer and you lose control over what gets indexed.
  • Uncompressed images. Claude Code might use placeholder images or skip optimization, leaving you with multi-megabyte hero images that destroy load time.
  • Client-side rendering. React apps often render everything in the browser, which means search engines may see a blank page instead of your content.
  • Missing structured data. Schema markup that tells Google you're a local business, a restaurant, or a law firm won't be added unless you know to request it.

None of these are bugs. The site works fine in your browser. But Google sees something very different from what you see.

A split-screen comparison showing a polished Claude Code-built React website on the left and a Google search results page on the right where the site does not appear, highlighting the gap between functional code and findable code
A split-screen comparison showing a polished Claude Code-built React website on the left and a Google search results page on the right where the site does not appear, highlighting the gap between functional code and findable code

The Five-Point Audit for Claude Code Sites

Whether you built your site last week or six months ago, run through these five areas. Each one directly affects whether customers can find you.

1. Page Titles and Meta Descriptions

Open your site and check the browser tab. Does it say something useful like "Martinez Plumbing — Emergency Plumber in Austin, TX" or does it say "React App"?

Claude Code often sets the page title to whatever the component is called internally. A page titled HomePage or index tells Google nothing about your business.

What to check:

  • [ ] Every page has a unique, descriptive title tag (under 60 characters)
  • [ ] Every page has a meta description that summarizes what the page offers (150–160 characters)
  • [ ] Your business name and location appear in the homepage title
  • [ ] Service pages mention the specific service in their title

You can scan all your pages at once with a meta title checker. If you find generic titles, here's what a fix looks like in a Next.js site built with Claude Code:

`javascript

// In your page component or layout

export const metadata = {

title: 'Emergency Plumbing in Austin, TX | Martinez Plumbing',

description: 'Same-day plumbing repairs for Austin homeowners. Licensed, insured, and available 24/7. Call 512-555-0147.',

}

`

If Claude Code built your site as a single-page React app (not Next.js), you'll need react-helmet or a similar library to set per-page titles. That's a bigger change, but it matters — pages without proper titles rarely rank for anything.

For a detailed walkthrough, see our meta titles and descriptions guide.

2. Page Speed, Images, and Core Web Vitals

Google uses three Core Web Vitals metrics to judge your site's speed and usability: Largest Contentful Paint (LCP — how fast the main content loads), Interaction to Next Paint (INP — how responsive the page feels), and Cumulative Layout Shift (CLS — how much the page jumps around while loading).

Claude Code sites tend to struggle with LCP and CLS. Images are the most common culprit — Claude Code will include a 4000×3000 pixel JPEG as your hero image without suggesting compression, WebP conversion, or responsive srcset attributes. On a phone with a spotty connection, that single image can add 3–5 seconds to your load time.

Other typical performance issues:

  • Large JavaScript bundles. Claude Code sometimes imports entire libraries when you only need one function, shipping hundreds of kilobytes of unused code.
  • No width/height on images. Without explicit dimensions, the page layout shifts as images load.
  • No lazy loading. Every image loads immediately, even ones far below the fold.

What to check:

  • [ ] LCP is under 2.5 seconds on mobile
  • [ ] CLS is under 0.1
  • [ ] INP is under 200 milliseconds
  • [ ] Images use WebP or AVIF format with explicit width/height attributes
  • [ ] Below-the-fold images use loading="lazy"
  • [ ] JavaScript bundle size is under 300KB compressed

Run a speed snapshot to see your current scores. If your LCP is above 4 seconds, start with images — convert to WebP at 80–90% quality, resize to the maximum display width (usually 1600px for heroes), and add dimensions to prevent layout shift.

If your Claude Code site uses Next.js, the next/image component handles most of this automatically. Ask Claude Code to replace your tags with components — that single change often cuts load time significantly.

Check your images with the image alt text checker, which also flags missing alt attributes — another common Claude Code oversight that hurts both SEO and accessibility. Our image optimization guide and page speed guide cover the details.

3. Heading Structure and Content Hierarchy

Search engines use heading tags (H1, H2, H3) to understand what your page is about and how the content is organized. Claude Code tends to pick heading levels based on visual appearance, not semantic correctness.

Common problems:

  • Multiple H1 tags on a single page (there should be exactly one)
  • Skipping levels — jumping from H1 to H3 with no H2
  • Using heading tags for styling instead of structure

What to check:

  • [ ] Each page has exactly one H1 tag
  • [ ] Headings follow a logical H1 → H2 → H3 hierarchy without skipping levels
  • [ ] The H1 includes the primary keyword for that page
  • [ ] Heading text is specific, not generic ("Our Services" → "Residential Plumbing Services in Austin")

Use the heading tag analyzer to scan your site. Fixing heading hierarchy usually takes 15 minutes and has an outsized impact on how Google understands your pages.

4. Mobile Usability

More than half of all web traffic comes from phones. Claude Code builds responsive layouts when asked, but "responsive" doesn't always mean "usable."

A real scenario: A bakery owner used Claude Code to build a menu page. On desktop, the three-column layout looked great. On mobile, the columns stacked but the text was tiny, the tap targets overlapped, and the phone number wasn't clickable. Technically responsive — just not usable.

What to check:

  • [ ] Text is readable without zooming (minimum 16px body text)
  • [ ] Buttons and links are at least 48×48 pixels with adequate spacing
  • [ ] The viewport meta tag is set correctly
  • [ ] Phone numbers are wrapped in tel: links
  • [ ] Forms are usable on mobile (proper input types, visible labels)
  • [ ] No horizontal scrolling on any screen size

Run a mobile-friendly test to catch the obvious issues. Then open your site on an actual phone and try to complete the actions your customers would take — find your number, fill out a contact form, browse your services.

A Claude Code terminal running a Lighthouse audit against a small business website, showing color-coded performance and SEO scores, with a notebook of prioritized fix notes beside the keyboard
A Claude Code terminal running a Lighthouse audit against a small business website, showing color-coded performance and SEO scores, with a notebook of prioritized fix notes beside the keyboard

5. Structured Data and Local SEO

Structured data is code that tells search engines exactly what your business is — your name, address, phone number, hours, services, and reviews. Without it, Google has to guess, and Google often guesses wrong.

Claude Code doesn't add structured data by default. If you're a local business, this is one of the highest-impact additions you can make.

What to check:

  • [ ] LocalBusiness schema (or a more specific type) is present on your homepage
  • [ ] NAP (Name, Address, Phone) is consistent with your Google Business Profile
  • [ ] Business hours are included in your schema
  • [ ] Service area or geo coordinates are specified

Validate your current structured data with our schema markup audit. If you have none (common with Claude Code sites), our schema markup guide walks through adding it.

Here's what basic LocalBusiness schema looks like in a Claude Code-built Next.js site:

`javascript

const schema = {

"@context": "https://schema.org",

"@type": "Plumber",

"name": "Martinez Plumbing",

"address": {

"@type": "PostalAddress",

"streetAddress": "4521 Riverside Dr",

"addressLocality": "Austin",

"addressRegion": "TX",

"postalCode": "78704"

},

"telephone": "+1-512-555-0147",

"openingHours": "Mo-Fr 07:00-18:00"

}

`

Add that as a