I vibe-coded a website with AI a few months ago. It looked great, it worked, and Google ignored it.
After a lot of testing, I found out why, fixed it, and the site is now getting traction. Here are the Google Search Console numbers for the last 7 days (the interface is in French: clics, impressions, CTR moyen, position moyenne):
- 91 clicks
- 389 impressions
- 23.4% average CTR
- 5.8 average position
These are small numbers on a site under 3 months old, but they show the site is being found and clicked. Here's what made the difference.
The core problem
AI builders (Google AI Studio, Lovable, Bolt, v0, Replit Agent) optimize for one thing: does it look and work right in the preview? Search engine requirements don't change how the preview looks, so they get skipped unless you ask.
7 things AI builders usually skip
1. Unique titles and meta descriptions
Most generated sites reuse one generic title on every page. Each page needs its own title (50-60 characters, keyword near the front) and meta description (150-160 characters).
2. sitemap.xml and robots.txt
Neither exists by default. Without a sitemap, Google has to discover your pages by chance.
3. Content that only exists after JavaScript runs
If your site is a client-side React app, a crawler may see an almost empty page. Test it: right-click, "View page source". If your text isn't there, consider pre-rendering, SSR, or static generation.
4. Weak HTML structure
Generated pages are often full of <div> elements, multiple <h1> tags, or skipped heading levels. Use one <h1> per page, a logical <h2>/<h3> hierarchy, and semantic tags like <nav>, <main>, and <article>.
5. No canonical tags or structured data
Canonical tags prevent duplicate-content problems between www and non-www or trailing-slash URLs. JSON-LD schema (Organization, Article, FAQ) helps Google understand the page.
6. Heavy, unlabeled images
Compress images, serve WebP, lazy-load below the fold, and write real alt text.
7. Never telling Google the site exists
Verify the site in Google Search Console, submit the sitemap, and request indexing for key pages. Do the same in Bing Webmaster Tools.
The trick that saved me time
You don't need to fix these by hand. The AI that built the site is good at fixing it if you give it a precise instruction. For example:
Audit every page's HTML structure. Ensure each page has exactly one <h1>
matching its topic, fix heading hierarchy with no skipped levels, replace
generic <div> wrappers with semantic HTML, and add internal links so no page
is orphaned.
Run one prompt per category (meta tags, structure, performance, accessibility, forms) and check the result in view-source each time.
Don't lose your SEO when you deploy
Check these after every export or host change:
- Canonical tags point to your production domain, not a staging URL
-
sitemap.xmlandrobots.txtload at the new domain's root - HTTPS is enforced with HTTP redirecting to HTTPS
- Changed URLs have 301 redirects
- The sitemap is re-submitted in Search Console
If you want the full checklist
I packaged everything above into a guide: a 45+ item pre-launch checklist, copy-paste prompts per category, one all-in-one master prompt, export and hosting steps (Vercel, Netlify, Cloudflare Pages, shared hosting), and a walkthrough for submitting to Google and Bing.
It's a paid PDF ($17, with a refund window), so there's no pressure. The 7 points above are enough to get started on your own: seo.digitalease.services
What's the biggest SEO issue you've hit on an AI-built site? I'm happy to help debug in the comments.

Top comments (3)
We need to produce comment as per developer style. Must be short, one or two sentences, fragment okay. Should lead with a specific reaction or question about THIS video. Should not be generic praise. Should be casual, with lowercase start. No quotes at start? It's okay to start with lowercase. Should ask something like "any tips for handling sitemap?" or "when you said 'robots.txt', did you mean to block everything?" need to be specific. Let's produce: "so the thing about the robots.txt blocking everything, should
Vibe-coding xong xong thấy đẹp, chạy ngon, nhưng quên rằng Google bot không "nhìn" giao diện như người — nó chỉ đọc HTML thuần, semantic structure, và tín hiệu kỹ thuật. Bài viết gợi 7 điểm fix rất đúng trọng tâm: meta tags, heading hierarchy, structured data, sitemap, robots.txt, page speed, và content depth.
Điểm hay bị lọt lưới nhất theo mình là semantic HTML — AI hay sinh ra
<div>lồng nhau thay vì<article>,<section>,<header>... khiến crawler hiểu sai cấu trúc nội dung. Còn structured data (JSON-LD) thì thường bị bỏ quên hoàn toàn, trong khi nó là chìa khóa cho rich snippets.Mình thường chạy thêm Lighthouse + Search Console URL Inspection sau khi AI generate xong, bắt lỗi kỹ thuật trước khi lo content. Có ai thử dùng script tự động inject JSON-LD dựa trên heading structure không? (site: labagent .tech)
Đúng trọng điểm. Mình thấy lỗi hay gặp nhất ở mấy project AI-generated là crawl budget bị lãng phí vào route rác — AI hay sinh ra hàng chục trang
category/tag/archivetrùng lặp content, chưa kể params?utm_source=hay?v=mà không có canonical. Google bot crawl xong budget hết rồi không vào trang quan trọng.Thứ hai là structured data hallucination — AI chèn
Articleschema cho trang landing page,Productcho trang blog, hoặc thiếudateModifiedkhiến Google bỏ qua freshness signal. Mình từng fix một site mất 3 tháng mới index được 12 trang vì lỗi này.Thứ ba: internal link graph bị vỡ. AI sinh component
<Link>nhưng quênhrefhợp lệ, hoặc dùngonClicknavigate thay vì<a>— bot không follow được. Check bằngsite:Domainkết hợp Screaming Frog thì thấy ngay.Một điểm ít ai nói: Core Web Vitals trên mobile. AI thường optimize desktop first, mobile layout shift (CLS) do font fallback hoặc image không reserve space. Lighthouse lab data đẹp nhưng field data (CrUX) đỏ bét — Google dùng field data để ranking.
Mình thêm vào checklist: verify
robots.txtkhông chặn/api/hay/_next/(Next.js hay bị), submit sitemap qua Search Console API thay vì chờ crawl tự nhiên, PS: the tool I meant is on labagent .tech