PublishedVerifiedEvery 6 weeksSources6 namedAuthored bySquareRank Team
AI Overviews · § 1.3.1 · How-to
Heading Hierarchy on Squarespace 7.1 for AI Overviews
Squarespace 7.1 emits an H1 for every blog post title — both on the post itself and on the blog index page that lists them1. A default index page therefore ships with one H1 per visible post, which produces twelve or more H1 elements on a page that has only one real subject. The fix is a single-H1-per-page discipline, an editor pass to re-tag stray H1 blocks, and a Code Injection patch for pages where the editor will not cooperate.
Squarespace's official position is that Google does not penalise multiple H1 tags. The position is correct for classical ranking and incomplete for AI Overviews, where passage extraction reads cleaner DOM trees more reliably. This leaf ships the audit, the editor workflow, and the Code Injection patch that turns a default 7.1 page into one AIO can extract from without ambiguity.
§01The short answer
TL;DR — single H1, clean H2 cascade, Code Injection patch where needed
The fix is mechanically small and editorially boring: audit the live HTML for multiple H1 elements, re-tag the strays as H2 or H3 in the Squarespace editor, and use a short JavaScript patch in Code Injection for the collection pages where the editor will not let you change the tag. Most Squarespace owners can complete the pass on their top ten editorial pages in under an hour. The Squarespace-side framing — 'Google does not penalise multiple H1s' — is true for classical Search and beside the point for AI Overviews extraction. AIO reads passages out of the DOM and pages with one clear primary heading produce more predictable citation cards than pages with twelve.
A clean DOM tree is also a clean accessibility tree. Screen readers and AI engines share a preference for one clear primary heading per page, an H2 per major section, and H3 for nested sub-points. This is not an AI-search-specific reformatting; it is a return to the heading hierarchy SEO has recommended since the early 2010s, applied to a platform that quietly stopped enforcing it.
§02The platform behaviour
What Squarespace 7.1 actually emits by default
Two default behaviours produce multi-H1 pages on a fresh Squarespace 7.1 site. On collection pages — blog index, portfolio grid, events list — the platform tags each item title with H1, so a page listing twelve blog posts renders twelve H1 elements. On regular section-based pages, the editor's tag dropdown allows any text block to be set to H1, and many designers do exactly that because the H1 visual style looks 'right' for a section opener. The combination produces pages with H1 elements scattered through the body.
Squarespace's own help article1 confirms the collection-page behaviour: "On collection pages (blogs, events, portfolios), Squarespace automatically applies H1 tags to item titles. For instance, blog post titles receive H1 tags both on blog index pages and individual post pages in Version 7.1." The platform frames this as accessibility-positive and SEO-neutral, citing Google's relaxed stance on multi-H1 documents.
The framing is honest as far as it goes. Google has stated for years that multiple H1 elements are not a ranking factor. What changed between 2024 and 2026 is the rise of passage-based extraction layers — AI Overviews specifically — that read sub-sections of pages and cite them as standalone snippets. Pages with a single clear primary heading present a less ambiguous extraction surface. The change does not break Squarespace's underlying claim; it changes which behaviour is optimal.
§03Why AIO cares
Why AI Overviews extraction prefers a single-H1 DOM
AI Overviews is generated by Gemini reading the top-ranking pages from Google's main Search index and synthesising a direct answer to the user's query. The synthesis step extracts passages from the candidate pages — short, self-contained sections that can be cited verbatim or paraphrased into the answer card. Passage extraction is more reliable on pages where one clear primary heading anchors the document and H2 elements segment it into discrete sections. The mechanics are not mysterious: the engine is doing roughly what a careful reader does, and a careful reader benefits from clear visual structure too.
Search Engine Land's 2026 GEO guide3 describes the pattern from the other direction: AI engines "break pages into individual passages" and choose between them based on how well each passage matches the underlying query. A page with twelve H1 elements does not break into clean passages because the heading hierarchy provides no segmentation signal — every section is equally important, which is to say none of them is.
BrightEdge's tracking through February 20264 places AIO appearance on roughly 48% of monitored queries, with industry-specific coverage climbing well past 80% in education and B2B tech. The scale of the surface matters because heading hierarchy is now an editorial decision with measurable AIO consequences, not a purely accessibility-and-SEO decision with no visible downstream effect.
What changed when AIO arrived
1
primary H1 per page — the discipline AIO passage extraction reads cleanly.
Open the page in a private browser window. View page source. Use the browser's find-on-page for the string '<h1' and count the results. Anything more than one is a candidate for review. Run the same audit on your homepage, your top three blog posts, your blog index, your service page, and your about page. Most Squarespace 7.1 sites surface three to eight pages with multiple H1 elements on the first pass; collection index pages are guaranteed to fail until they are patched.
The view-source audit is more reliable than the editor's audit because the editor only shows you what you authored, not what the platform emits at render time. Collection item titles, for example, are tagged H1 by the platform — the editor will not surface them as H1 in its UI because they live inside the collection block. View source is the authoritative read.
bashOptional: run the audit from the command line if you prefer scripting it
# Counts H1 elements on a live page
curl -shttps://yoursite.com/blog/| grep -oE"<h1[^>]*>"| wc -l# Expected on a clean detail page: 1# Typical on a default 7.1 blog index: 12+ (one per visible post)
The result tells you where to spend your editor time. Pages with one H1 are clean. Pages with two to four H1 elements usually have a designer-set H1 in a body section that the editor will let you re-tag. Collection index pages with twelve or more H1 elements need the Code Injection patch in the next section because the editor will not let you re-tag collection item titles.
§05The editor fix
The editor-only fix for regular pages
On any page that is not a collection index, the fix is editor-only. Open the page in the Squarespace editor. Click each text block that the audit flagged as H1. Use the tag dropdown to change it to H2 if it is a major section heading, or H3 if it is a nested sub-point. Leave only the page's primary headline — usually the hero block at the top — as H1. Save. Re-run the view-source audit and confirm a single H1 remains.
Two editor-side gotchas worth flagging. First, the visual style of H2 in some 7.1 templates is much smaller than the H1 style designers were aiming for. The fix is CSS customisation in Design → Custom CSS, not reverting the tag back to H1. Second, the editor occasionally re-renders a saved page before the tag change is reflected in the live HTML; if the view-source audit still shows H1, hard-refresh and re-check before assuming the change failed.
§06The injection patch
The Code Injection patch for stubborn pages
Blog index pages, portfolio grids, and event lists tag their item titles with H1 at the platform level. The editor will not let you change those tags because they are emitted by the collection block, not by an author-controlled text block. The workaround is a short JavaScript snippet that runs after the page loads and re-tags the offending H1 elements as H2. Paste the patch into Page Settings > Advanced > Code Injection > Footer on the affected collection page. Requires Business plan or above for Code Injection access.
The patch is intentionally conservative: it scopes the re-tag to collection-block H1 elements only, leaves the page's primary H1 untouched, and runs once at DOMContentLoaded with no observer overhead. Anything more aggressive risks re-tagging legitimate headings or affecting accessibility tooling.
HTML / JSThe heading hierarchy patch for collection index pages — paste into Page Settings > Code Injection > Footer
<!-- Heading hierarchy patch: re-tag collection item H1s as H2 --><!-- Scope: collection blocks only. The primary H1 in the page header --><!-- is left untouched. Tested on Squarespace 7.1 blog and portfolio. --><script>
document.addEventListener("DOMContentLoaded", function() {const selectors = [
".blog-item-title h1",".portfolio-grid h1",".events-collection h1"
];
selectors.forEach(function(sel) {
document.querySelectorAll(sel).forEach(function(el) {const h2 = document.createElement("h2");
h2.innerHTML = el.innerHTML;for (const attr of el.attributes) {
h2.setAttribute(attr.name, attr.value);}
el.parentNode.replaceChild(h2, el);});});});</script>
One caveat: JavaScript-injected DOM changes are visible to Googlebot's rendering pipeline, which has supported JavaScript execution for years, but the timing is not always identical to what a human browser sees. For belt-and-braces installation on a high-traffic site, pair the JS patch with the editorial discipline of avoiding H1 tags in author-controlled blocks. The two layers compensate for each other.
§07Googlebot reachability
Confirm Googlebot can still reach the patched page
The heading hierarchy fix is wasted effort if Googlebot cannot crawl the page in the first place. Open robots.txt in a private window. Confirm Googlebot is not in any Disallow rule. The Squarespace AI exclusion checkbox does not control Googlebot — the panel's 26-bot list covers AI training crawlers (Google-Extended, GPTBot, ClaudeBot, etc.) but Googlebot is governed by the search-engine checkbox immediately above it. Both should be set to permit crawling for a site that wants to appear in AI Overviews.
Google's documentation5 is explicit: Googlebot is the crawler that decides Search indexing and therefore AIO eligibility. Google-Extended is a separate, training-only token that does not affect Search ranking or AIO citations. Squarespace's 26-bot AI list6 includes Google-Extended but not Googlebot, so toggling the AI checkbox — on or off — has no effect on whether Googlebot can read your page.
The sister cluster on AI Crawlers covers the full panel walkthrough and the 26-bot map in detail. The takeaway for this leaf: Googlebot allow-list, AI checkbox state irrelevant to AIO. With the heading hierarchy fixed and the crawler layer confirmed, the next layer is passage shape — the 134-167 word self-contained answer that lives in the passages leaf.