How to fix AI website SEO problems

When AI builds a website, the visible surface usually looks finished. Pages render, navigation works, the layout reads cleanly. What's missing is what isn't visible to a human: the search-engine surface. Titles, descriptions, headings, structured data, internal link structure, all the invisible scaffolding that tells a search engine what each page is about and why a visitor searching a specific query should land there.

AI tools generate the search surface inconsistently because they were optimized to make the page look right to humans. Search engines aren't humans. They read a different version of the page than visitors do, and the AI didn't always think to build for that reader.

Below are the five SEO failures that show up most often in AI-built sites, each with a diagnostic and a fix. None of them are hard. They just need to be done deliberately, because the AI didn't.

Failure one: titles are duplicates or generic placeholders

The site has five pages and every page's <title> tag is "Home" or "[Business Name]" or the same hero headline. Google reads the title tag first when deciding what to display in search results and how to interpret the page's topic. If every page has the same title, Google treats them as competing for the same query and can't rank any of them well.

The diagnostic is to view the source of each page and check the title tag. Or use a free crawler to pull every page's title at once. If you see duplicates or placeholders, the SEO surface is broken at its foundation.

The fix is to write a unique, specific title for each page. The pattern that works is "Specific Topic | Site Name" where the specific topic matches the primary search query the page targets. A 50-60 character title with the keyword early performs better than a long title with the keyword buried.

Failure two: meta descriptions are missing or generic

Right below the title tag, the <meta name="description"> tag tells Google what to show as the search-result snippet. AI tools often leave this empty or fill it with generic text like "Welcome to our website." When the description is missing, Google generates one from page content, which is usually worse than a well-written description.

The diagnostic is the same as failure one: view source on each page, check the meta description tag. Empty or generic descriptions mean the click-through rate from search results is below what it could be, because the snippet doesn't tell the searcher why to click.

The fix is to write a 150-160 character description per page that specifically tells the searcher what they'll get if they click. Active voice, specific value, the keyword somewhere naturally.

Failure three: heading hierarchy is wrong

The page has a hero with <h1>. Then the next visible heading is also <h1> because that looked right visually. Then somewhere there's an <h3> with no <h2> above it. The visual hierarchy might be fine, but the semantic hierarchy that search engines parse is broken.

The diagnostic is to check the heading structure. Each page should have exactly one <h1> (the page's main topic), then <h2> sections under it, then <h3> subsections under the <h2>s. Skipping levels or duplicating <h1> breaks the topic model search engines build from headings.

The fix is to audit each page's heading structure and rewrite it to follow proper hierarchy. Visual styling can still make any heading any size you want; what matters is the underlying tag.

Failure four: thin content on key pages

The pages that should rank for valuable queries have 100-200 words on them. Google's people-first content guidance is explicit: pages need to demonstrate first-hand expertise and answer the query substantively. Thin pages don't.

This shows up especially on AI-built sites because AI's default mode is to produce just enough copy to fill the layout. The pages look fine but are starving for substance.

The diagnostic is to identify the pages that target valuable queries (the conversion pages, the high-intent service descriptions, the topic-authority posts) and count the words. If any of those pages are under 500 words, they're probably under-resourced for ranking.

The fix is to add substance. Not padding. Real explanation, real examples, real answers to questions a searcher would have. The pages with first-hand experience and specific detail are the pages that rank, because they're the ones that match what the searcher actually wanted.

Failure five: missing structured data

Structured data (JSON-LD) is the machine-readable description of what each page is about. A blog post should have BlogPosting structured data with author, date, and headline. A contact page should have ContactPage data. A product page should have Product data with price, availability, and ratings. AI tools sometimes generate it and sometimes don't, and when they do, they sometimes generate it invalidly.

The diagnostic is to run each important page through Google's rich-results test. The tool validates the JSON-LD and shows whether the page qualifies for rich search-result features.

The fix is to write valid structured data for each page type. The schema.org reference covers what fields each type needs. The pattern that works on this site is that structured data derives only from page chrome (titles, dates, descriptions) and never from user-submitted content or body text, so there's no risk of accidentally leaking internal metadata into the schema.

I built the frontmatter schema for the posts on this site explicitly with this in mind. Each post declares its cluster, primary search query, related nodes, and chatbot summary as frontmatter fields the chrome derives from. The BlogPosting JSON-LD pulls only from the chrome-side fields, not from the body or the lead-gen metadata. The discipline keeps the structured data valid and machine-parseable.

The metadata foundation that fixes most of these

If you make one structural change to an AI-built site's SEO surface, make it this: design the metadata schema first, then make every page derive its title, description, headings, and structured data from that schema. The pattern is that each page has a small set of declared fields (page topic, primary query, summary), and the rendered chrome (title tag, meta description, h1, JSON-LD) all come from those fields automatically. No more inconsistencies, no more placeholders, no more pages with missing fields.

This is more discipline than AI tools default to. It's also the thing that makes the rest of SEO work, because it creates a single source of truth for what each page is and lets every search-surface element stay aligned with that.

What AI can't do for SEO

AI can write the metadata, generate the structured data, and produce on-page content. What AI can't do is decide which queries to target, which pages should exist, which clusters to build, and how the site should be organized to match how real searchers think about your topic. That work is strategic, and it requires understanding your buyer in a way that AI tools (which have no access to your business, your conversations, or your data) can't replicate.

The discipline is: AI handles the production layer (title tags, meta descriptions, structured data, on-page copy). The operator handles the strategy layer (what to write about, what queries to target, how to organize the surface). Each layer needs the other; neither replaces the other.

If your AI-built site is failing on SEO, the failure is usually a mix of production-layer gaps (the five failures above) and strategy-layer gaps (the site is targeting the wrong queries or no queries at all). Diagnose which layer is the bigger problem. Both need fixing eventually, but the order matters.


Got an AI-built site that isn't ranking and you can't tell whether the gap is production or strategy? Send the site URL, the queries you're targeting, and the current ranking position. VibeKoded can scope the build, ship the prototype, or hand off the production site. → Work with VibeKoded