← Back to blog

Why Your Wix, Squarespace, or Framer Site Isn't Ranking on Google

May 10, 20267 min read

Wix, Squarespace, and Framer are all marketed as "SEO-friendly." That's technically true. They produce valid HTML. They generate sitemaps. They handle redirects. The basics work.

But "SEO-friendly" and "set up to rank well by default" are not the same thing. These platforms ship you a site that can rank. Whether it does depends on choices you make — choices the platform usually doesn't tell you matter.

After auditing dozens of small business sites built on these platforms, the same three problems show up over and over. None of them are visible just by looking at your site. All of them are fixable in an afternoon.

Here's what to look for, and exactly what to do about each one on your platform.

1. Your homepage might be invisible to Google

When Google crawls your site, it does it in two passes. First pass: download the raw HTML and read what's there. Second pass (later, sometimes much later): execute the JavaScript and read what it produces.

For most websites that's fine, because the important content — headlines, services, calls-to-action — is already in the raw HTML.

Framer sites, parts of newer Squarespace and Wix templates, and any custom JavaScript-heavy build don't always work that way. They're built as single-page applications. The raw HTML is essentially empty until JavaScript runs. Google's first pass sees a blank shell. The second pass — when it eventually happens — fills it in.

On a Framer site audited recently, the homepage's raw HTML contained four words of visible content. The rendered page was a 1,200-word product page. But Google's first crawl saw four words. That's the first impression Google formed of the page.

How to check: Right-click your homepage and choose "View page source" (not "Inspect" — that shows the rendered version, which is different). Search the page for your main headline. If it isn't there, your page is JavaScript-rendered, and Google's first-pass crawler isn't seeing it either.

How to fix it on Framer: Turn on static rendering for every page that matters. Framer calls this "pre-rendering" — it's available in the site's publish settings. With it on, Framer ships pre-built HTML and Google sees your content on the first crawl.

How to fix it on Squarespace: Most Squarespace 7.1 templates pre-render correctly. If you're on an older 7.0 site or using heavy custom code injection, view your raw page source and confirm your H1 and main content are there. If they aren't, simplify your custom code or migrate to 7.1.

How to fix it on Wix: Standard Wix Editor sites pre-render by default. Wix Studio sites and any site using Velo with custom dynamic content can have rendering issues — view source and confirm your headlines are present.

2. Your meta descriptions are working against you

Open ten Wix or Squarespace sites at random and at least six of them will have meta descriptions like:

  • "Welcome to [Business Name]. We are a [type of business] in [city]."
  • The first sentence of the homepage, randomly truncated mid-word
  • The platform's default placeholder text
  • Nothing at all (Google then writes its own snippet, often badly)

The meta description doesn't directly affect your ranking. What it affects is whether anyone clicks your result when it appears in Google. A boring description means a low click-through rate. A low click-through rate, sustained over weeks, signals to Google that your page isn't what searchers want — and then your ranking drops.

Recently audited: a family-run restaurant on Squarespace, ranking on page two for several local terms, completely stuck. Its homepage meta description was "Welcome to our restaurant. View our menu and book a table." The same description appeared on every page, including the menu page itself. Thousands of impressions a month, almost no clicks.

A useful meta description does three things in 150 to 160 characters:

  • Tells the searcher what they'll find on the page
  • Includes the main keyword the page targets, naturally
  • Gives a reason to click — a number, a benefit, a specific detail

For that restaurant, a stronger description might be: "Family-owned Italian kitchen serving hand-rolled pasta, wood-fired pizza, and a 200-bottle wine list. Open for lunch and dinner Tuesday through Sunday in [neighborhood]."

Same business. But that version says what kind of restaurant it is, what's special about it, where it is, and when it's open. A searcher actually has a reason to click.

How to fix it on Wix: Page Settings → SEO Basics → "What's the page about?" Edit the meta description for every page that gets traffic. Aim for 150-160 characters.

How to fix it on Squarespace: Page Settings → SEO tab → "Page Description." Same length target.

How to fix it on Framer: Click the page in the layers panel → right-side SEO section → Description field. Each page has its own.

Don't just repeat your headline. The headline is already shown above the description in search results. Use the description to add new information. And if you're a local business, always include your location.

3. Your headlines are images, not text

This pattern is particularly bad on Framer and design-forward Squarespace templates.

The page opens with a beautiful, full-width hero. The headline is rendered as part of the image. Or as text overlaid on the image, but the text is in a custom font set up as an SVG. Or the H1 is set to font size zero "for design reasons." Or there's no H1 at all because the designer thought it looked cleaner.

Whatever the implementation, the result is the same: Google can't read your headline.

A site audited recently had a stunning hero — bold typographic headline, full-bleed photo, clean layout. In the HTML, the headline was a <div> with a background image. The actual <h1> on the page was the small "About" link in the navigation. Google thought the most important text on the homepage was the words "About."

Same site had no alt text on any of the hero images. Even the images of the headlines weren't readable to Google.

What every page needs: Exactly one <h1> element containing real text — your actual headline. Not a design element. Not an image. A real, text-based heading. If your hero headline must be part of an image for design reasons, add an invisible-but-real H1 above it with the same words.

How to fix it on Framer: Select your headline text element, and in the right panel under "Tag," set it to H1. By default Framer often sets text elements to div or p.

How to fix it on Squarespace: Use a Heading 1 block (not a Text block styled large) for your main page headline. Squarespace renders Heading 1 blocks as proper <h1> tags.

How to fix it on Wix: Use the Heading 1 text style for your main headline. Wix's title text element renders as an H1 automatically, but only when you select the H1 style — generic Text elements render as paragraphs.

Don't forget alt text. Every meaningful image needs an alt attribute describing what's in it. Decorative images can use alt="" (empty but present). All three platforms have alt text fields in the image settings.

What this all adds up to

The reason most no-code sites don't rank isn't laziness or bad luck. It's that the platforms make it easy to build something that looks great while quietly leaving the foundation broken. Empty raw HTML, generic meta descriptions, headlines that aren't headlines — none of these are visible problems on the page. You'd never notice them by looking at your site. But Google notices.

The fixes aren't hard. Most of what's described above takes an afternoon to work through page by page. The hard part is just knowing to look.

If your site has been live for more than a few weeks and isn't showing up on Google, this guide to common reasons sites don't rank covers the broader checklist. If you're trying to figure out where you currently stand, here's how to check your site's SEO in five minutes. And if you want to know what your site's overall score even means, here's a benchmark of what good and bad scores actually look like.

The fastest way to find out which of these three issues is hurting your site is to run a free audit. ClaritySEO scans every page, identifies the specific problems, and gives you platform-specific fix instructions. It takes about two minutes.

Find out what's holding your site back

ClaritySEO scans your site and surfaces the specific issues hurting your rankings — in plain English, with platform-specific fix instructions. Free to start, no credit card required.

Run my free audit