PublishedVerifiedEvery 6 weeksSources6 namedAuthored bySquareRank Team
Course creators · § 4.6.2 · How-to
Course Sales Page SEO on Squarespace
A course sales page on Squarespace is one page doing three jobs: a Google ranking surface for the long-tail course-topic query, an AI citation surface for "what's the best course on X" queries, and a conversion surface for warm traffic landing from email and ads. The three jobs pull in different directions — SEO wants a curriculum-led H1, AI wants a structurally-defined module list, conversion wants urgency and social proof. Resolving the tension means a defined order: SEO first (the page has to be findable), AI second (it has to be citable), conversion third (it has to close). Most launch pages ship in reverse order and pay for it.
This leaf is the sales-page SEO checklist for Squarespace 7.1 course creators. It covers the conversion-versus-SEO tension head-on, the title-tag and meta-description discipline in the SEO panel, the H1 and first-200-words pattern, the Course schema block with correctly-nested Offer, the internal-link bridges from the blog cluster that send rankable equity to the sales page, the Review schema rule that keeps the page out of Google's manual-action queue, and a 10-item ship checklist.
§01The tension
The conversion versus SEO tension every course page resolves
A high-converting course sales page and an SEO-optimised course sales page look different in three specific ways. The high-converting page opens with the outcome (transformation language, social proof, urgency), buries the curriculum mid-page, and treats the H1 as a marketing headline. The SEO-optimised page opens with the curriculum (named modules, defined outcomes, structural detail), surfaces the social proof after the curriculum, and treats the H1 as the answer to the primary query. The good news is the two are not actually in conflict — a curriculum-led page converts well on AI-routed traffic that pre-qualified through conversation, and the SEO-led structure compounds discovery for warm traffic too.
The pattern most course creators ship reverses this — H1 as transformation headline ("Become a 6-figure newsletter writer"), curriculum buried under fold three, the sales page itself ranking for nothing and depending entirely on email-list launches for traffic. Three months after the launch the email list has been fully marketed-to, the page ranks for nothing because it was never structured for indexing, and the launch revenue cliff hits hard. The fix is the structural rewrite the rest of this leaf covers. None of it sacrifices conversion. The data we have from the audits we run shows curriculum-led pages converting at parity or slightly higher than transformation-headline pages on warm traffic — and dramatically higher on cold AI-routed traffic, which is where the growth comes from.
The conversion lift on warm traffic is small (1-2 percentage points either direction in most audits, well within noise). The conversion lift on AI-routed cold traffic is large (5-15 percentage points consistently) because the user already knows what they want by the time they click — the page just needs to confirm fit, name the modules, and let them buy. Optimising the same page for both modes is achievable. The order is: H1 answers the primary query, first 200 words define the curriculum and audience, midsection deepens with modules and outcomes, lower third closes with social proof and urgency. The transformation language lives in the meta description and the secondary headlines, not the H1.
§02Title tag and meta
The SEO Title and SEO Description in Squarespace's per-page panel
The Squarespace SEO panel<InlineCite n={1} sourceId='sq-seo-panel' /> ships two per-page fields that matter for the sales page: SEO Title and SEO Description. The defaults fall back to site title and a Squarespace-generated description, both of which are bad for ranking. Both fields ship empty on a freshly created course sales page; both should be set deliberately. The SEO Title becomes the title tag, which Google may rewrite if it disagrees with the user intent. The SEO Description becomes the meta description, which Google uses as the SERP snippet and AI engines parse for page context.
The Title pattern is consistent. 50-60 characters, curriculum name first, audience or duration modifier second, brand third. "The Validation Sprint — 4-Week SaaS Validation Course | Your Brand" reads at 56 characters and tells Google exactly what the page is. "Welcome | Your Brand" reads at 19 characters and tells Google nothing. Google's title rewriting policy5 means the title tag is a strong signal but not a guarantee — if the page content does not match the title, Google will rewrite it. Match the title to the primary content. Do not aspire.
The Description pattern is similarly consistent. 150-160 characters, complete sentence (or two), names the curriculum, the audience, the duration, and the outcome. "The Validation Sprint is a four-week self-paced course for senior engineers validating a SaaS idea — ship a validated landing page in 30 days, no quitting required." reads at 159 characters and works as both Google snippet and AI context. Avoid clickbait. Avoid all-caps urgency. The meta description that converts is the meta description that completely answers what the page is.
§03H1 and first 200
The H1 and the first 200 words — answering the primary query above the fold
The H1 on a course sales page is the curriculum name. Not a headline. Not a transformation promise. The curriculum name verbatim, exactly as it appears in the title tag, exactly as it appears in the Course schema. The first 200 words below H1 answer the four questions every AI engine extracts from on a course page: what is this course, who is it for, what will you learn, how long does it take. Hitting all four in the first 200 words sets the page up to rank for the long-tail topic query AND get cited in conversational AI answers. Sales-page openings that lead with manufactured urgency or transformation language get skipped by both Google and the model.
The first-200-words rule6 is well-established for editorial content and applies cleanly to sales pages too. The model evaluates opening content first. If the opening matches the user's stated intent (which on a course query is always informational — "what is this thing"), the page gets cited or surfaces in the AI answer. If the opening is sales copy, the model defaults to a page that opens with the answer. The structural fix is to lead with the curriculum and audience, then transition into the conversion content below the answer block.
§04Schema
Course schema with the Offer nested correctly
The Course schema block on the sales page is the entity graph AI engines parse to decide whether the course is real, who teaches it, and what it costs. The block belongs in Page Settings > Code Injection > Header (Business plan and above) on the sales page specifically — not on the global header, not on every page. The single most common implementation mistake we see in audits is the Offer block placed at the Course root rather than nested inside CourseInstance. Google's Course list rich result and AI shopping integrations both expect the nesting; putting the Offer at the root is parsed-but-not-eligible for the most consequential surfaces.
The Course spec3 covers what creators need without exotic extensions. Required fields are name, description, provider, and at least one offer. Strongly recommended are instructor (as a nested Person with knowsAbout), hasCourseInstance with courseMode and courseWorkload, and educationalLevel. The hasCourseInstance block carries the Offer — that nesting is the load-bearing structural decision. Without it, Google parses the schema but does not consider the course eligible for the Course list rich result; AI engines parse the schema but lose the price-as-attribute signal that matters for shopping queries.
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Course","name":"The Validation Sprint","description":"A four-week self-paced course for senior engineers validating a SaaS idea.","provider": {"@type":"Organization","name":"Your Brand","url":"https://yoursite.com/"},"instructor": {"@type":"Person","name":"Your Name","url":"https://yoursite.com/founder/"},"hasCourseInstance": {"@type":"CourseInstance","courseMode":"Online","courseWorkload":"PT12H","offers": {"@type":"Offer","price":"499","priceCurrency":"USD","availability":"https://schema.org/InStock","url":"https://yoursite.com/validation-sprint/"}}}</script>
Validate the block in Google's Rich Results Test (search.google.com/test/rich-results) before considering the install shipped. The validator catches missing required fields, type mismatches, and the Offer-at-root mistake. On Personal plan where Code Injection is not available, the workaround is in-body markup using microdata attributes on the visible curriculum list — less robust than JSON-LD but still parseable. A real upgrade to Business plan is the correct fix; the in-body workaround is a temporary bridge.
§05Internal links
Internal-link bridges from the blog cluster
A course sales page on Squarespace ranks because the blog cluster around it sends contextual link equity inward. Three to five blog posts in the course cluster (the audience deep-dive, the outcome post, the curriculum explainer, the FAQ-shaped guide, the comparison post) each link to the sales page with descriptive anchor text matching the long-tail query. The pattern is hub-and-spoke — the sales page is the hub, the cluster posts are the spokes — and the discipline is consistent anchor-text variation around the head term without exact-match repetition. The blog cluster strategy leaf documents the planning side; this section covers the linking discipline specifically.
Anchor-text variation matters more than density. Two to three contextual links per cluster page, with anchor text varying around the curriculum name and the topic ("the Validation Sprint", "this 4-week SaaS validation course", "the curriculum we teach in the Sprint"). Exact-match anchor-text repetition triggers Google's over-optimisation classifiers in 2026 the same way it did in 2024 — varied, contextual anchors are still the right pattern. The cluster planning logic is covered in the blog cluster strategy leaf.
§06Reviews
Social proof and the Review schema rule
Real student testimonials on a sales page are a conversion lever. Real student reviews marked up with Review JSON-LD are a discovery lever. The Schema.org Review type ships reviewBody, author, and reviewRating; properly attributed reviews on a course page can surface stars in some SERP contexts and inform AI engines about quality signals. The rule is hard, one line, no exceptions: every Review schema block on the page must correspond to a real, attributed student review with a real name and (ideally) a real date. Fabricated reviews are a manual-action risk and an AI-citation poison pill — engines that catch fabrication downrank the entity going forward.
The Review spec4 is straightforward. Each Review needs reviewBody (the testimonial text), author (a Person with name), reviewRating (a Rating with ratingValue), and ideally datePublished. Squarespace's testimonial sections do not generate Review schema automatically; the schema goes in Page Settings > Code Injection > Header. Either mark up every visible testimonial or mark up none — partial coverage triggers structured-data warnings. The aggregateRating block is tempting but is for the page-as-a-whole aggregate; ship it only if the rating math is actually defensible (real reviews, real average, real count).
§07Checklist
The 10-item sales-page ship checklist
The discipline below is the 10-item checklist we run before shipping any course sales page on Squarespace. Every item is mechanical — verifiable in five minutes against the page itself. Skipping any one of them either kills the SEO ranking surface or the AI citation surface or the conversion path. None of them are exotic. They are the table-stakes install most course pages ship missing.
SEO Title set at 50-60 characters with curriculum name first and audience modifier second.
SEO Description set at 150-160 characters as a complete answer naming the curriculum, audience, duration, and outcome.
H1 equals the curriculum name verbatim and matches the title tag and the Course schema.
First 200 words answer the primary query with the curriculum, audience, modules, duration, and outcome.
Course JSON-LD installed via Page Settings > Code Injection > Header with provider, instructor, hasCourseInstance, and nested Offer.
Rich Results Test passes on the page URL with zero errors and zero warnings on the Course schema block.
At least three internal-link bridges point inward from cluster blog posts with varied anchor text matching long-tail queries.
One canonical URL set in Page Settings > SEO with no trailing slash mismatch or http/https drift.
Open Graph image set at 1200×630 with the curriculum name visible — this is the share preview AI engines also parse for context.
Review schema only if real reviews exist — every Review JSON-LD entry corresponds to a real attributed testimonial with a real name on the page.