SEO for a vibe coded website means adding, by hand or by prompt, everything the AI skipped: unique title tags, meta descriptions, canonical tags, an XML sitemap, a sane robots.txt, schema markup, and copy that answers the reader’s question in the first two sentences. AI tools write working code, not working SEO, so every vibe coded site needs a human to run a checklist before it can rank. This is the exact checklist we run on every build that leaves our shop, grouped into technical, content, schema, and AI-search checks. Steal it.
The SEO issues every vibe coded website ships with
Google’s John Mueller spelled it out in May 2026: telling an AI to “add some SEO” gets you about as far as walking up to a developer and saying the same four words. Per Search Engine Journal’s write-up, the things AI builders skip unless you explicitly ask include canonical tags, sitemaps, robots.txt, and basic pre-publish checks like whether the URLs return content at all.
That matches what we see in the wild. The tools are genuinely good at layout and shockingly casual about plumbing. A typical vibe coded site launches with one title tag copied across every page, no sitemap, and a hero image the size of a small operating system.
None of this means AI-built sites can’t rank. Google scores the output, not the author, and we broke that argument down in our post on whether AI websites rank on Google. SEO optimization for an AI-built website isn’t different in kind from any other site’s SEO. It’s different in what’s missing. Our 40 free prompts bake most of these requirements into the build itself, roughly 12,000 characters apiece with a fat section of SEO instructions, and we still run the full checklist on every output. Trust the prompt, verify the site.
The full checklist at a glance
Vibe coded site SEO splits into four groups: technical, content, schema, and AI search. Seventeen checks total. Print this, run it top to bottom, and read on for why each one earns its row.
| Check | What passing looks like | Typical fix time |
|---|---|---|
| Title tags | Unique on every page, under 60 characters, keyword up front | 30 min |
| Meta descriptions | Unique, 140-160 characters, written like a pitch | 30 min |
| Canonical tags | One self-referencing canonical per page | 20 min |
| XML sitemap | Live, listed in robots.txt, submitted in Search Console | 15 min |
| robots.txt | Blocks nothing important, references the sitemap | 10 min |
| Core Web Vitals | LCP under 2.5 seconds on a mid-range phone | 1-4 hours |
| Mobile | No horizontal scroll, readable text, tappable buttons | 1-2 hours |
| One page, one intent | Each page targets one query family | Half a day |
| Real copy | Prices, timelines, opinions; zero filler paragraphs | 2-6 hours |
| Local signals | Name, address, phone matching your Google Business Profile | 30 min |
| Organization schema | Valid JSON-LD on the homepage | 20 min |
| Service schema | One block per service page | 30 min |
| FAQ schema | Matches the visible Q&A on the page | 30 min |
| Answer-first openings | First two sentences answer the page’s query | 15 min per page |
| Quotable sentences | Standalone facts a machine can lift verbatim | While writing |
| Server-rendered HTML | Your copy is visible in view-source | Zero to days |
| llms.txt | Live at /llms.txt, listing your key pages | 10 min |
Technical SEO for vibe coded websites: seven checks
Start here, because nothing else on the list matters if Google can’t crawl, read, and load your pages fast.
Unique title tags on every page
The title tag is still the loudest on-page signal Google reads, and it doubles as your ad in the results. AI builders love shipping the same title sitewide, or just “Home,” which is like naming all five of your kids Steve. Keep each one unique, under 60 characters, with the page’s keyword near the front. On an eight-page site this is a ten-minute view-source job.
Meta descriptions that earn the click
Descriptions don’t move rankings. They move clicks, and click-through is the number that pays. Write 140 to 160 characters that make a concrete promise: what’s on the page and why it beats the other nine results. Leave the AI’s default “Welcome to our website, your trusted partner” in place and Google rewrites it, which means you lose control of your own pitch.
Canonical tags, even on a five-page site
Every page should carry one self-referencing canonical tag. Without it, www and non-www, trailing slash and no slash, plus every ?ref= parameter can be treated as separate URLs, and your one decent page splits its credit four ways. This is an item Mueller specifically named as something AI won’t configure on its own. One line of code per page. Set it.
An XML sitemap Google can actually find
A brand-new vibe coded site has zero backlinks, so Google discovers your pages through the sitemap or very slowly. WordPress generates one at /wp-sitemap.xml out of the box; a static build needs one generated and referenced in robots.txt. Submit it in Search Console either way, because that submission also buys you indexing reports you’ll be glad to have next month.
A robots.txt that doesn’t shoot you in the foot
Two failure modes here. First, the leftover staging file with Disallow: / that quietly blocks the whole site; we keep pulling that one out of production in rescue work. Second, blocking CSS and JS files, which stops Google from rendering pages the way visitors see them. While you’re in the file, make a call on AI crawlers: if you want to appear in ChatGPT and Perplexity answers, GPTBot, ClaudeBot, and PerplexityBot need to stay unblocked.
Speed, meaning Core Web Vitals on a phone
Google’s bar is published on web.dev: largest contentful paint under 2.5 seconds, interaction to next paint under 200 milliseconds, layout shift under 0.1, all at the 75th percentile of real visits. Vibe coded sites miss it for predictable reasons: a 4 MB hero PNG, five font families, an animation library imported for one fade effect. Convert images to WebP, cap fonts at two, and give every image width and height attributes so the layout stops jumping while it loads.
Mobile, tested on an actual phone
Your rankings come from the mobile version of the site, because that’s the version Google indexes. So test on a real phone, not a resized browser window: no horizontal scroll, body text at 16 pixels or better, buttons you can hit with a thumb, menus that actually open. The AI previewed everything in a desktop viewport. It shows more often than you’d think.
Content checks: one page, one intent
Getting crawled is table stakes. Getting chosen is a copy problem, and it’s where most AI website SEO checklists go quiet. Three checks.
One page, one intent
Each page should target one query family and answer it completely. The classic vibe coded mistake is a single Services page that mentions nine services in nine paragraphs and ranks for none of them. Split them up. It’s why our WordPress builds run up to 15 pages plus custom post types: every service gets its own URL, its own title, and its own shot at ranking.
Real copy, not AI filler
Google’s helpful content systems don’t demote AI writing. They demote writing nobody needs. The test we use: if a competitor could paste your paragraph onto their site without editing it, it’s not copy, it’s filler. Replace it with things only you can say, meaning your prices, your timelines, your opinion on what to skip. Filler reads fine and converts nobody.
Local signals, if you serve a local market
For a business serving one city, Google cross-checks your site against your Google Business Profile. Name, address, and phone should match exactly, down to the suite number. Put the city in the contact page title, in at least one H2, and in the footer on every page. Boring work, twenty minutes, half of local SEO.
What schema markup does a vibe coded site actually need?
Three types cover most small-business sites, all shipped as JSON-LD in the head. One rule before any of them: mark up only what’s visibly on the page. Schema that describes things that aren’t there is how you collect a manual action instead of a rich result.
Organization schema
This block tells machines who you are: name, logo, URL, and sameAs links to your real profiles. Search engines and AI assistants use it to stitch scattered mentions of your business into one entity, and a clean entity is what surfaces when somebody asks a chatbot who does what you do in your city. One block, on the homepage, once.
Service schema
Add one block per service page: the service type, the provider, the area served, and the price if you publish prices. We publish flat fees on every service page, and the schema repeats them in the one place machines check first. A machine that can read your price can quote your price, and a quoted price is a pre-sold visitor.
FAQ schema
Don’t add this one expecting dropdown rich results in Google; for regular business sites, that ship has mostly sailed. Add it because it hands machines your questions and answers in a structure they parse without guessing, which matters more every month as chat engines assemble answers. Mark up only visible Q&A, keep answers to one paragraph, use questions people actually type.
The AI SEO checks most checklists skip
AI answers send real traffic now. Semrush pushed more than a billion lines of clickstream data through a study published in April 2026 and found outbound referrals from ChatGPT up 206 percent year over year. Still a small slice of total traffic, but it’s the slice that arrives pre-sold, because the machine already made your pitch. Four checks decide whether you’re quotable.
Answer-first opening paragraphs
AI engines lift passages that answer a question completely without needing the rest of the page. Open every page with two to four sentences a machine could quote verbatim: what it is, what it costs, how long it takes. Look at the first paragraph of this post. That’s the pattern, and human skimmers reward it too.
Quotable, standalone sentences
Somewhere in every page, plant a few sentences that carry a complete fact on their own. “A vibe coded static site runs $2,800 flat and ships in three to five days” can travel into an AI answer with your name attached. A claim that needs three paragraphs of context can’t travel anywhere.
Server-rendered HTML, not a JavaScript app
Vercel’s crawler study logged 569 million GPTBot requests on its network in a month and found it never executes JavaScript; ClaudeBot fetches scripts and doesn’t run them either. If your vibe coding tool shipped a client-side React app, AI crawlers see an empty shell where your copy should be. The test takes ten seconds: view source, search for a sentence from the page. If it’s not in the raw HTML, most AI search can’t read you. Plain HTML and classic WordPress themes pass by default, which is a big reason we still build with them. The full playbook lives in our guide to getting cited by AI search.
llms.txt, ten minutes, zero promises
llms.txt is a plain-text file at your domain root that lists your most important pages for AI systems. Straight talk: SE Ranking’s study of nearly 300,000 domains found 10.13 percent adoption and no correlation between having the file and getting cited, and as of this writing no major AI platform has committed to reading it. We ship it anyway. It costs ten minutes, the downside is zero, and if an engine starts honoring it you’re already in line. Just don’t let anyone sell it to you as a strategy.
Run it yourself or hand it off
Checking all seventeen items takes a focused afternoon with free tools: Search Console, PageSpeed Insights, Google’s Rich Results Test, and view-source. Fixing takes a day or three, with speed usually the long pole. Prefer to run the whole checklist as a series of prompts instead of a manual pass? We turn it into a prompt-driven routine in how to vibe your SEO. If you’d rather spend neither, this is literally a service we sell: the SEO and AI-search audit is $1,200 one-time, we run this checklist plus the deeper crawl-level work on your site, and you get findings in plain English with a video walkthrough instead of a sixty-slide deck. Ongoing optimization starts at $950 a month if you want us to keep pushing after the fixes land. And if the audit shows the build itself is the problem rather than the SEO, we’ll say so and quote that instead, because billing you monthly to polish a cracked foundation helps nobody.
Questions we get about SEO for vibe coded websites
Do vibe coded websites rank on Google?
Yes, once the fundamentals are in place. Google evaluates the output, not the tool that produced it. The vibe coded sites that fail to rank fail for boring reasons: duplicate titles, no sitemap, thin filler copy, four-second load times. Run the checklist above and an AI-built site competes on even footing with anything an agency hand-codes.
How long does this checklist take on a small site?
Budget an afternoon to check an eight-page site and one to three days to fix what you find. Titles, metas, canonicals, robots.txt, and llms.txt are minutes apiece. Speed is usually the longest item, since it can mean recompressing every image and rethinking fonts. Schema takes about half an hour per type once you have a template you trust.
Can I just prompt the AI to fix its own SEO?
Mostly yes, if you’re specific. “Make it SEO friendly” produces decoration. “Add a unique title under 60 characters and a self-referencing canonical to every page, generate an XML sitemap, and reference it in robots.txt” produces results. That gap between vague and specific instructions is exactly what Google’s John Mueller flagged in May 2026, and it’s why our free prompts spell requirements out item by item.
Do I need paid SEO tools to run this checklist?
No. Search Console shows indexing and sitemap status, PageSpeed Insights measures Core Web Vitals against real-user data, the Rich Results Test validates your schema, and view-source covers titles, canonicals, and the server-rendering check. Paid crawlers start earning their keep somewhere past 30 pages, a size most vibe coded sites never reach.
My site came out of Lovable or Bolt and it’s all JavaScript. Am I stuck?
Not stuck, but you have a decision to make. Pre-rendering or server-side rendering can fix it if you’re comfortable inside the framework. Often the cheaper move is rebuilding the marketing pages as plain HTML or a classic WordPress theme and leaving the app part where it is. Check view-source first, though. If your copy is already in the raw HTML, you’re fine as is.
Slobodan Ljubic, founder: this is the literal checklist we run on client builds, not content written for content’s sake. If an item ever stops mattering, it comes off the list — here and in our process, same week.