# Squarespace SEO Tune-Up

> Audits your Squarespace SEO Titles, metas, empty product descriptions and duplicates from the public sitemap — with paste-in fixes. Never edits the site.

- Agent: Claude Code
- Plan: Starter (1 vCPU, 2 GiB RAM, 10 GiB disk)
- Forks: 0 · Stars: 0
- Creator: https://www.jurniti.com/creator-ca0ff2
- Tags: audit, claude-code, e-commerce, ecommerce, seo, squarespace
- Requires config (you provide): ANTHROPIC_API_KEY
- Skills: squarespace-seo

**To fork:** open https://www.jurniti.com/templates/squarespace-seo-tune-up and use the Fork action — it starts a Stripe Checkout for a new VM seeded with this template's persist disk (same flat plan price, no fork fee).

## README

# Generic SEO advice doesn't work on Squarespace

You were told to fix your title tags. So you did — and nothing changed, because
Squarespace doesn't work the way the advice assumes.

Three things break it:

- There's a **separate SEO Title field** per page, under Page Settings → SEO.
  Leave it blank and it falls back to `Page Title - Site Title`. That's how a
  store ends up with twelve pages sharing one title.
- **Your Site Title gets appended** to whatever you write. A 60-character SEO
  Title plus ` - Your Store` overflows, so the length you typed isn't the length
  Google shows.
- **Products inherit the collection description** when their own is empty. Empty
  product descriptions are the most common thin-content problem on Squarespace
  commerce, and nothing in the editor tells you.

## What comes back

Give it your store URL. It pulls `/sitemap.xml` — public on every Squarespace
site, so there's no login and no API key — fetches each page, and reports in
**leverage order**, not alphabetically:

1. Missing or duplicate SEO Titles
2. Missing meta descriptions on pages that get traffic
3. Empty product descriptions
4. Near-duplicate titles across pages, grouped together
5. Missing alt text
6. Heading structure — multiple H1s, skipped levels

Each finding gives the URL, what's wrong, and **the exact string to paste** into
which Squarespace field.

Every drafted title shows its rendered length *including* the appended Site
Title. A draft that overflows isn't a draft.

## Duplicates come as a group

Because fixing one in isolation just moves the collision. You need to see all
three pages that resolve to "Shop - My Store" at once.

## What you supply

Your own Claude Code login. That's it.

Optionally: paste a Search Console export into `~/sqsp/pages/` and "pages that
get traffic" stops being a guess.

## The guard is a file, not a promise

`~/sqsp/policy/SEO-RULES.md` carries `NEVER_AUTOEDIT`, the platform traps and the
fix ordering. The skill reads it before every audit. Disagree with the ordering
for your store? Edit the file, not the prompt.

## Where this stops

It reads your public pages and drafts fixes. It has no Squarespace login, can't
publish, and can't edit a page — by design. The sitemap is the whole input.

It won't predict rankings without Search Console data, and it won't call a page
"optimized" — it reports what's present and what's missing.

Verified on build: the skill, the working tree, the `NEVER_AUTOEDIT` guard and
the platform traps are present on a fresh fork. Running it on your own store is
yours to do.
