SEO checklist for AI-built websites
An AI assistant can build a website in a matter of days, and nothing makes anyone check what search engines make of it. Whether a site was vibe coded in an app builder or built in a terminal with a coding assistant, the same question follows: what should be checked? This page lists eight checks, says which of them a Croftweaver test catches, and says what a passing test does not prove. Croftweaver sites are built with an AI assistant too; one difference is the tests.
Vibe coded website SEO issues
Two reports from Search Engine Journal tell what people on Google’s Search Relations team said about vibe coded sites and other sites built with an AI assistant. They point in opposite directions, too little and too much, and meet at the same place: someone has to check.
- Too much. In the first report told how John Mueller, a Google Search Advocate, reviewed on Reddit a website a developer had vibe coded in two days. He named things with no value for search on that site: keywords, author and robots meta tags, hreflang tags on a one-language site, hidden headings, a sitemap for a single page, and structured data the report calls ineffective. He also named key content held in a JavaScript llms.txt file, which he said Google does not use. Fixing these, he added, does not bring traffic by itself, but makes it easier for search engines to understand a site.
- Too little. In the second report, on an episode of Google’s podcast Search Off The Record, gave the takeaway of Mueller and Martin Splitt: canonicals, sitemaps and robots.txt do not set themselves up because an AI tool built the site. Mueller said he got better results by telling the assistant what he wanted from the start, the domain name, the canonical setup, the sitemap files and robots.txt, by knowing which site generator he wanted, and by adding checks before publishing.
Both are reports of what two people said about one site and one episode. The second adds that the episode gave no formal guidance, and that the two were sharing what they had tried. Neither is a rule from Google.
Some people use AI app builders such as Lovable and Bolt for the same job. This page says nothing about what either one builds, and we did not test a site built with either. Here is who each says it is for, and what trade press reported:
- Lovable describes itself in its documentation as a full-stack AI development platform for individuals and teams. It names, among others, product managers and designers, marketing, sales and operations teams, developers, agencies, founders and independent makers. TechCrunch reported in that its founder aims it at the people who do not know how to code.
- Bolt describes itself on its home page as a way to create apps and websites by chatting with AI, for product builders. It speaks to business owners who want an app without a developer, to teams that prototype, to people who need campaign pages, and to students. The New Stack reported in that Bolt’s CEO said over half of its users are not professional developers, and put the non-technical share at 60 to 70 percent.
These are the companies’ own words and reports of what their founders said, read on . They may have changed since.
The checklist
Each row is one thing to check, the Croftweaver suite that covers it, what happened when we broke it, and what a pass does not prove. On we broke a copy of the Croftweaver starter, version 0.32, on Node 26 (the starter asks for Node 24), one thing at a time, ran the suite that covers it, and wrote down what failed. You can make the same edits on a copy of your own and compare. The suites are described on the checks page. The checklist works by hand on any site; the tests come with a site built from the Croftweaver starter, which needs a coding assistant and a terminal.
| Check | Suite | When we broke it | A pass does not prove |
|---|---|---|---|
| Title and description length | SEO | A page title of 63 characters, a description of 170 and one of 100 each turned the suite red, and the message gave the limit: 60 characters for the whole title, 120 to 160 for the description. | Length, not quality. The words can pass and still be poor. |
| Canonical address | SEO | A canonical address on another host turned the suite red on every page, with a message that it must be the full production address of that page. With the canonical link removed the suite also failed, but by waiting 30 seconds for a link that was not there and timing out, with no message that the canonical is missing; the log only names the link it waited for. | That this is the address you want search engines to prefer. The suite checks only that it is the page’s own production address. |
| One main heading | SEO | A second main heading on a page turned the suite red for that page. | It counts main headings, hidden ones included. The accessibility suite checks heading order through axe’s best-practice rules. Nothing looks for hidden h2 or h3 headings. |
| Images: alt text, width and height, format, loading | Images | An image without alt text, one without width and height, one as a JPEG and one with no loading setting each turned the suite red, and the message named the image and the missing part. | The format check reads the file name, not the file. An empty alt text passes, because a decorative image needs one, and no test can tell whether a description fits the picture. |
| Links to pages and to sections | Navigation and Anchors | A link to a page that does not exist turned the navigation suite red, and the message reported the 404. A link to a section that does not exist turned the anchors suite red. | The navigation suite does not follow links to pages written relative to the current page, and does not check links to other sites. The anchors suite does follow relative section links, but skips section links into other sites and into files such as PDFs. A section link can exist and still point at the wrong section. |
| The sitemap matches the pages | SEO | A new page that was not added to the site’s list of pages turned the suite red: the sitemap and the list disagreed. | It compares two lists the site keeps. It does not check that Google has fetched the sitemap. |
| robots.txt does not close the site | SEO | Replacing the rule that allows everything with one that blocks everything turned the suite red. Adding the same blocking rule beside the allowing one did not: when an allow and a block match equally well, the allow wins, and so does the check. | It reads the two common whole-site rules, a single slash and a slash with an asterisk, and the longer pattern wins, as RFC 9309 says: the suite’s own unit cases show a longer block beside an allow is caught. Only six named search crawlers are checked. Other ways of closing a site are not checked, and single pages are not tested. |
| Hreflang entries, for translated pages only | SEO | Two entries with the same language code in one page’s set turned the suite red. | It applies only to translated twin pages. A one-language site needs no hreflang, and this site has none, so the test does nothing here. |
What no test here covers
- That a page’s text is in the HTML as served. A Croftweaver site is built as plain pages, so it is by default. The email suite fetches the served HTML of every page, and the anchors suite does so for a link target outside the page list. None checks that a page’s text is there.
- Speed on each change. Page speed is measured by hand, with PageSpeed Insights.
- Hidden h2 and h3 headings.
- Whether Google has found, indexed or ranked a page.
Tell your assistant up front
What the second report says Mueller did is cheap to copy. Say what the site needs before the assistant starts, then keep a check that fails when one of those things goes wrong.
Say to the assistant: Set up the canonical address, the sitemap and robots.txt for example.com from the start.
Use Astro as the site generator. Add a test for each of them that fails when it is wrong.
A test gives you something to run every time. It is not a lock. The hook that runs the tests can be skipped with one flag, and nothing on the server stops a build that failed from being published, as the checks page says.
What Croftweaver ships that the first report questions
The first report’s list of extras includes things Croftweaver puts on its sites. Here is what each one is, and what it is not.
- An llms.txt file. A short list of a site’s pages for AI assistants. A test keeps it in step with the pages. It does not guarantee that an assistant reads it, and Croftweaver does not say Google uses it.
- Structured data. Every page carries it, and a test checks that it parses. It does not check that any search engine uses it.
- A robots meta tag. Every page carries one. The first report names robots meta tags among those with no SEO benefit on the site it covers.
- A sitemap. The report advised skipping one for a single page. A test keeps this one in step with the site’s pages.
If your site already exists
The checklist works by hand on your site. Croftweaver builds a new site and has no import of an existing one. Part of it works on a site that is already live, without a rebuild: the SEO audit, Search Console insights, the positioning check, the facts check and the weekly AI check. The ready-made test suite and the two link audits need the Croftweaver starter. Croftweaver for established sites says what each one does. If your site runs on WordPress, the page on moving from WordPress covers that case.
Questions and answers
Will this make my site rank?
No promise. These checks catch mistakes that can keep a page from being found or read. They say nothing about where a page ranks. The checks page says what each suite proves and what it does not.
Are llms.txt and structured data worth it?
Croftweaver builds both and tests that they are in place and that the structured data parses. Whether a search engine or an assistant uses them is not shown on this page. The report of Mueller’s 2025 review says Google does not use an llms.txt file.
Do I need Croftweaver to use this checklist?
No. The list is free to use on any site. What Croftweaver adds is the tests: they come with every site it builds.
Where do I start?
With the quickstart, or, if your site is live already, with Croftweaver for established sites.
We read the Search Engine Journal reports on , not the podcast episode, and ran the breaks on that day.