Bolt.new Website Audit: Why Your AI-Built Site May Be Invisible to Google (and How to Fix It)
Bolt.new builds polished React sites fast, but most ship with SEO problems that hide them from Google. Here is what to audit and how to fix each issue.
# Bolt.new Website Audit: Why Your AI-Built Site May Be Invisible to Google (and How to Fix It)
Bolt.new is one of the fastest ways to go from idea to live website. You type a prompt, the AI generates a full React application, and you can deploy it in minutes. For a small business owner who needs a site up quickly, it feels like magic.
But there is a catch. Most Bolt.new sites ship with serious SEO problems that their owners never notice — because the site looks perfect in a browser. The issues only show up when you check what Google actually sees. And what Google sees is often an empty page.
This guide walks through the specific problems Bolt.new sites tend to have, how to find them on your own site, and what to do about each one.

Your Bolt.new site might look great in the browser — but looking great and ranking in Google are two different things.
How Bolt.new Builds Your Site (and Why That Matters for SEO)
Bolt.new uses StackBlitz's WebContainers technology to run a full development environment in your browser. When you describe what you want, it generates a React single-page application (SPA) using Vite as the build tool, typically with Tailwind CSS for styling.
That is a modern, professional tech stack. But it creates a specific problem: React SPAs render content using JavaScript on the client side. When a visitor opens your page, their browser downloads a mostly empty HTML file, then JavaScript runs and fills in the content.
Human visitors never notice this — their browsers execute JavaScript instantly. But Google's crawler does not always execute JavaScript, or it may delay rendering by days or weeks. When Googlebot fetches your page and gets an empty , it has nothing to index.
This is not a theoretical problem. It is the single most common reason Bolt.new sites do not appear in search results.
The Seven SEO Problems Most Bolt.new Sites Have
1. Client-Side Rendering With No Fallback
This is the big one. Your Bolt.new site renders everything in the browser with JavaScript. If you right-click your live site and choose "View Page Source," you will likely see something like this:
html
That is what Google sees too. No headings, no business description, no service pages, no phone number. Just an empty div.
What to check:
- [ ] Right-click your live site → View Page Source
- [ ] Look for your actual business content in the raw HTML
- [ ] If you only see a with no content, you have this problem
How to fix it:
Bolt.new offers an "SEO Boost" feature that pre-renders static HTML for search crawlers. To use it, connect a custom domain to your Bolt Cloud project and enable SEO Boost in your project settings.
If you are deploying to Netlify or another host, you have two options:
- Ask Bolt to rebuild your project using Next.js instead of plain React (Next.js supports server-side rendering out of the box)
- Add a
block in yourindex.htmlwith your core business information as a minimal fallback
The Next.js route is more work upfront but solves the problem properly. The noscript fallback is a band-aid, but better than an empty page.

A split-screen showing the same local coffee shop website: on the left the beautiful rendered Bolt.new React page a human sees with images and styled text, on the right the near-empty HTML source with only a div id root tag that Googlebot actually receives What your visitors see versus what Google sees. The left side shows your polished Bolt.new site. The right side shows the empty HTML that search crawlers receive — no content to index.
2. Missing or Generic Meta Tags
Bolt.new generates a basic
tag, but most sites ship without proper meta descriptions, Open Graph tags, or per-page customization. Every page might share the same title, or worse, just say "Vite + React."Your title and meta description are what appear in Google search results. They are your first impression. A listing that says "Vite + React" gets zero clicks.
What to check:
- [ ] Each page has a unique, descriptive
under 60 characters - [ ] Each page has a
under 160 characters - [ ] Open Graph tags exist for social sharing (
og:title,og:description,og:image) - [ ] Your homepage title includes your business name and primary service
You can verify these quickly with our meta tag checker.
How to fix it:
Edit the
index.htmlfile directly or ask the AI to add proper meta tags. For a multi-page site, usereact-helmetor a similar library to set per-page metadata.Here is what good meta tags look like for a local bakery:
html
Sweet Rise Bakery | Custom Cakes & Pastries in Portland, OR 3. No Structured Data
Structured data (JSON-LD markup) tells Google exactly what your business is, where it is located, what you sell, and what your hours are. It powers those rich search results with star ratings, price ranges, and FAQ dropdowns.
Bolt.new does not add structured data. You will need to do this yourself.
What to check:
- [ ] Look for a
block in your page source - [ ] Test your site with Google's Rich Results Test
- [ ] If there is no JSON-LD block, you are missing structured data
How to fix it:
Add a JSON-LD block to your
index.htmlor main layout component. Here is a minimal example for a local business:{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Sweet Rise Bakery",
"address": {
"@type": "PostalAddress",
"streetAddress": "742 NE Alberta St",
"addressLocality": "Portland",
"addressRegion": "OR",
"postalCode": "97211"
},
"telephone": "+1-503-555-0147",
"openingHours": ["Tu-Su 07:00-18:00"],
"url": "https://sweetrisebakery.com"
}
Insert this in a
tag in your HTML head. Verify it parses correctly with Google's testing tool before you deploy.4. Poor Core Web Vitals
Bolt.new sites tend to load a large JavaScript bundle before anything appears on screen. This affects your Core Web Vitals — the performance metrics Google uses as a ranking signal:
- Largest Contentful Paint (LCP): How fast the main content appears. Target: under 2.5 seconds.
- Cumulative Layout Shift (CLS): How much the page jumps around while loading. Target: under 0.1.
- Interaction to Next Paint (INP): How quickly the page responds to clicks. Target: under 200 milliseconds.
A typical Bolt.new React SPA scores poorly on LCP because the browser must download, parse, and execute JavaScript before rendering any content. Large unoptimized images make it worse.
What to check:
- ] Run our [Core Web Vitals test or Google PageSpeed Insights on your live URL
- [ ] Check LCP, CLS, and INP scores
- [ ] Look at the "Opportunities" section for specific improvements
How to fix it:
- Ask Bolt to add lazy loading for images below the fold
- Compress and convert images to WebP format before uploading
- If your JavaScript bundle is over 200 KB, ask Bolt to implement code splitting
- For content-heavy sites, consider switching to Next.js or Astro for server-side rendering
5. Missing Sitemap and Robots.txt
A sitemap tells search engines which pages exist on your site. A robots.txt file tells them which pages to crawl. Most Bolt.new sites ship without either.
What to check:
- [ ] Visit
yoursite.com/sitemap.xml— does it load? - [ ] Visit
yoursite.com/robots.txt— does it exist and reference your sitemap? - [ ] Does the sitemap list all your important pages?
How to fix it:
Create a
sitemap.xmlfile in yourpublic/folder listing every page you want indexed. Create arobots.txtfile that points to it:User-agent: *
Allow: /
Sitemap: https://yoursite.com/sitemap.xml
For sites with only a few pages, this takes five minutes.
6. No Canonical URLs
When your site is accessible at both
www.yoursite.comandyoursite.com, or when the same content appears at multiple URLs (common in SPAs with hash routing), Google may treat them as duplicate pages. This dilutes your ranking power.Bolt.new does not set canonical URLs by default.
What to check:
- [ ] Look for
in your page source - [ ] Verify your site redirects consistently (www to non-www or vice versa)
How to fix it:
Add a canonical link tag to each page:
html
If you are using React Router, set this dynamically per route using
react-helmet.7. Non-Semantic HTML Structure
Bolt.new's AI generates functional code, but it does not always use semantic HTML. You might get
tags where you should have,,,, and. Heading hierarchy might jump fromtoor use multipletags on a single page.Search engines use HTML semantics to understand your page structure. Screen readers depend on them for accessibility. Getting this right helps both SEO and usability.
What to check:
- [ ] Your page has exactly one
tag - [ ] Headings follow a logical order (h1 → h2 → h3, no skipping)
- [ ] The page uses
,,, andelements - [ ] All images have descriptive
alttext
How to fix it:
Ask Bolt to refactor the HTML to use semantic elements. Be specific: "Replace div-based layout with semantic HTML5 elements. Use one h1 per page. Add alt text to all images." Review the output to make sure headings follow a logical hierarchy.

A FreeSiteAudit report on a laptop screen analyzing a Bolt.new-built catering website, with colored severity badges highlighting missing meta tags, absent structured data, a large JavaScript bundle warning, and a client-side rendering alert A FreeSiteAudit report flagging the most common Bolt.new issues: missing structured data, empty meta descriptions, and a client-side rendering warning explaining why Google cannot see the page content.
A Real-World Example: Maria's Catering Website
Maria runs a catering business in Austin, Texas. She used Bolt.new to build her website in an afternoon — a hero image of her signature paella, a services page, a contact form, and a gallery of past events.
Three weeks later, she searched "Austin catering for corporate events" on Google. Her site was nowhere. She searched her own business name. Nothing.
Here is what an audit found:
- Invisible content. View Page Source showed an empty root div. Google had nothing to index.
- Generic title. Every page said "Vite + React + TS" — the default template. Her business name appeared nowhere in HTML metadata.
- No structured data. Google had no way to know this was a catering business in Austin or what her phone number was.
- Unoptimized images. Her gallery loaded twelve high-resolution JPEGs (14 MB total) without lazy loading. LCP was over 8 seconds on mobile.
- No sitemap. Google had not discovered her services or gallery pages.
What Maria did:
- Enabled SEO Boost on Bolt Cloud after connecting her custom domain
- Rewrote her title tags and meta descriptions for each page
- Added LocalBusiness structured data with her address, phone, and service area
- Compressed her gallery images to WebP and added lazy loading
- Created a sitemap.xml and robots.txt in the public folder
The result: Within three weeks of resubmitting to Google Search Console, her site appeared on page two for "Austin corporate catering." After another month of building a few backlinks and adding a blog post, she reached page one. Contact form submissions went from zero to about three per week.
No redesign. No new platform. Same Bolt.new site — just with the SEO foundations in place.

A before-and-after of Google search results for "corporate catering Austin": the before shows no listing for the Bolt-built catering site, the after shows the business appearing with rich snippet stars, hours, and a proper meta description Before: the Bolt.new site does not appear in search results at all. After fixing the SEO fundamentals, the same site shows up with a proper title, meta description, and rich snippet data — no platform change required.
Quick Audit Checklist for Any Bolt.new Site
Run through this list before you consider your Bolt.new site "done":
Rendering:
- [ ] View Page Source shows actual content (not just an empty div)
- [ ] SEO Boost is enabled (Bolt Cloud) or SSR is configured (self-hosted)
Metadata:
- [ ] Every page has a unique, descriptive title under 60 characters
- [ ] Every page has a meta description under 160 characters
- [ ] Open Graph tags are set for social sharing
- [ ] A canonical URL is set on every page
Structured Data:
- [ ] JSON-LD markup exists for your business type
- [ ] Google Rich Results Test shows no errors
- [ ] Business name, address, phone, and hours are included
Performance:
- [ ] LCP under 2.5 seconds on mobile
- [ ] CLS under 0.1
- [ ] INP under 200 milliseconds
- [ ] Images are compressed and in WebP format
- [ ] Lazy loading is enabled for below-the-fold images
Technical:
- [ ] sitemap.xml exists and lists all important pages
- [ ] robots.txt exists and references the sitemap
- [ ] HTML uses semantic elements (header, nav, main, footer)
- [ ] Exactly one h1 per page with logical heading hierarchy
- [ ] All images have descriptive alt text
When to Consider a Different Platform
Bolt.new is a good tool for getting a site live quickly. But if your business depends heavily on search traffic, you should know its limitations.
For content-heavy sites (blogs, resource libraries, multi-location businesses), a platform with built-in server-side rendering will save you ongoing headaches. Next.js, Astro, or even a well-configured WordPress site will give Google indexable HTML without extra configuration.
For simpler sites (a landing page, a portfolio, a single-location business), Bolt.new works fine if you address the issues above. The SEO Boost feature handles the biggest problem, and the rest are straightforward fixes.
The key is not assuming that a site that looks good in your browser looks good to Google.
Find Out Where Your Bolt.new Site Stands
You do not need to check all of this manually. Run a free audit with FreeSiteAudit and get a plain-English report that flags exactly which of these issues affect your site. It checks rendering, meta tags, structured data, Core Web Vitals, and accessibility — and tells you what to fix first, in priority order.
Whether you built your site with Bolt.new, Cursor, Lovable, or hand-coded HTML, the audit catches the problems that keep small business sites out of search results. It takes about 30 seconds.
Sources
Check your website for free
Get an instant score and your top 3 critical issues in under 60 seconds.
Get Your Free Audit →