02
Immediate Actions
Three fixes. Two hours of work.
Priority Queue
No code required
i
Remove the AI crawler blocks from robots.txt.
Squarespace's default robots.txt blocks Google-Extended, GPTBot, ClaudeBot, anthropic-ai, Amazonbot, and 20+ other AI crawlers. Google-Extended specifically controls participation in AI Overviews (SGE). Blocking it removes the site from all AI-generated search summaries. This was almost certainly not an intentional decision — it's a Squarespace default. Fix in Squarespace: Settings > Advanced > External Services > uncheck "Block AI crawlers". One click, immediate effect.
ii
Add meta descriptions to every page via Squarespace page settings.
Not one of the six audited pages has a meta description. Google is auto-generating snippets from page content — typically less compelling and impossible to A/B test. Each page has a gear icon > SEO tab > Description field. Add a 150–165 character description with a CTA to each priority page: homepage, menu, functions, bar, contact, about. No code, 30 minutes total.
iii
Replace the empty LocalBusiness schema with the complete block in Section 05.
The existing JSON-LD schema contains a name field with no value, an address field set to an empty string, and a broken image URL. Google cannot extract any local business information from it. The replacement schema in Section 05 provides BarOrPub type, full NAP (77 Christie Street, St Leonards NSW 2065), phone, email, structured opening hours, geo coordinates, and social sameAs links. Paste into Squarespace: Settings > Advanced > Code Injection > Header. 20 minutes.
04
On-page Detail
Title tag audit
| Page |
Title Text |
Chars |
Status |
| Homepage |
The Belroy Hotel - Your St Leonards Local |
45 |
SHORT — no venue-type keyword |
| About |
About — The Belroy Hotel - Your St Leonards Local |
54 |
Generic prefix, weak keyword |
| Menu |
Menu — The Belroy Hotel - Your St Leonards Local |
54 |
Generic prefix — "Menu" ranks for nothing |
| Functions |
Functions — The Belroy Hotel - Your St Leonards Local |
56 |
Acceptable length, weak keyword |
| Contact |
Contact — The Belroy Hotel - Your St Leonards Local |
56 |
Generic — should include address/suburb |
| Sports Bar |
Sports Bar — The Belroy Hotel - Your St Leonards Local |
55 |
Best of the set — add "Sydney" or "NSW" |
H1 count per page
Systemic H1 issue — Squarespace split-text template
Every page has between 3 and 13 H1 elements. This is caused by the template rendering decorative split-text components (e.g. "WELCOME TO" + "The Belroy" displayed across two lines as a visual effect) as separate H1 DOM nodes. This is a template architecture issue, not a content editing issue, and requires developer access to resolve properly.
| Page |
H1 Count |
First H1 Text |
Status |
| Homepage | 8 | "WELCOME TO" | FAIL — 8 H1s, first is meaningless |
| About | 5 | "NEW PUB" | FAIL — 5 H1s, none describe the page |
| Menu | 6 | "EAT" | FAIL — 6 H1s, split decorative text |
| Functions | 13 | "FUNCTIONS" | FAIL — 13 H1s, worst offender |
| Contact | 3 | "COMING TO" | FAIL — 3 H1s |
| Sports Bar | 6 | "SPORTS BAR" | WARN — 6 H1s, first is acceptable |
05
Schema Markup
BarOrPub schema replacement
Replace both existing JSON-LD blocks via Squarespace Settings > Advanced > Code Injection > Header. Verify Instagram/Facebook slugs, geo coordinates, and opening hours before deploying. NAP sourced from the live contact page.
Verify before deploying
Opening hours (Mon–Sat 10:00–03:00, Sun 10:00–22:00) and address (77 Christie Street, St Leonards NSW 2065) sourced from the live contact page. Phone ((02) 9439 2213) sourced from the footer. Confirm all three are current before deploying schema.
{
"@context": "https://schema.org",
"@type": "BarOrPub",
"@id": "https://www.thebelroyhotel.com.au/#organization",
"name": "The Belroy Hotel",
"alternateName": "Belroy Hotel",
"description": "St Leonards corner pub with terrace bar, bistro, sports bar and function spaces. Formerly the Gilroy Hotel, reopened November 2023.",
"url": "https://www.thebelroyhotel.com.au",
"telephone": "+61294392213",
"email": "info@thebelroyhotel.com.au",
"logo": "https://images.squarespace-cdn.com/content/v1/6513beae14bb3152b962d387/31bd422f-9c9c-4818-b9f3-46dd2717c179/TheBelroy_StLeonards_Logo_Curved_Off-White.png",
"address": {
"@type": "PostalAddress",
"streetAddress": "77 Christie Street",
"addressLocality": "St Leonards",
"addressRegion": "NSW",
"postalCode": "2065",
"addressCountry": "AU"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": -33.8291,
"longitude": 151.1966
},
"hasMap": "https://maps.google.com/?q=77+Christie+Street+St+Leonards+NSW+2065",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
"opens": "10:00",
"closes": "03:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Sunday"],
"opens": "10:00",
"closes": "22:00"
}
],
"servesCuisine": ["Australian","Pub food","Bistro"],
"priceRange": "$$",
"amenityFeature": [
{"@type": "LocationFeatureSpecification", "name": "TAB", "value": true},
{"@type": "LocationFeatureSpecification", "name": "Outdoor seating", "value": true},
{"@type": "LocationFeatureSpecification", "name": "Function rooms", "value": true},
{"@type": "LocationFeatureSpecification", "name": "Live sport screens", "value": true}
],
"sameAs": [
/* verify slugs */
"https://www.instagram.com/thebelroyhotel",
"https://www.facebook.com/thebelroyhotel"
]
}
06
Remediation Roadmap
Sequenced implementation plan
| Phase |
Item |
Where |
Effort |
Priority |
| Day 1 |
Remove AI crawler blocks (Google-Extended, GPTBot, ClaudeBot, anthropic-ai) |
Squarespace: Settings > Advanced > External Services |
10 min |
CRITICAL |
| Day 1 |
Replace LocalBusiness schema with complete BarOrPub block (Section 05) |
Squarespace: Settings > Advanced > Code Injection > Header |
20 min |
CRITICAL |
| Day 1 |
Add meta descriptions to all 6 priority pages (150–165 chars each) |
Squarespace: Page gear icon > SEO tab > Description |
30 min |
CRITICAL |
| Day 1 |
Enable canonical tags (check Squarespace SEO settings; verify output) |
Squarespace: Settings > SEO |
15 min |
CRITICAL |
| Week 1 |
Add OG tags to all pages (title, description, image, url, type, locale) |
Squarespace: Page social settings + Code Injection per page |
2 hrs |
CRITICAL |
| Week 1 |
Add Twitter Card meta tags (card, site, title, description, image) |
Squarespace: Code Injection |
1 hr |
HIGH |
| Week 1 |
Add canonical to /home pointing to / |
Squarespace: Code Injection on /home page |
10 min |
HIGH |
| Week 1 |
Noindex /whats-on/tag/* and /whats-on/category/* filter pages |
Squarespace: Blog/Events settings or custom robots.txt |
30 min |
HIGH |
| Week 1 |
Add preload hint for hero/LCP image on homepage and functions page |
Squarespace: Code Injection > Header (per page) |
1 hr |
HIGH |
| Month 1 |
Fix H1 hierarchy — change split-text elements to paragraph/display styles |
Squarespace developer mode / template CSS |
3–4 hrs |
HIGH |
| Month 1 |
Rewrite title tags — keyword-first format, include venue type and suburb |
Squarespace: Page SEO settings |
1 hr |
MEDIUM |
| Month 1 |
Add entity-definition paragraph to homepage (fact-dense, schema-aligned) |
Squarespace: page editor |
30 min |
MEDIUM |
| Month 1 |
Add AggregateRating schema sourced from Google Business Profile review count |
Squarespace: Code Injection > Header |
1 hr |
MEDIUM |
| Month 1 |
Add loading="lazy" to below-fold images via JS injection |
Squarespace: Code Injection > Footer (global script) |
1 hr |
MEDIUM |
| Ongoing |
Audit and populate alt text on all images across all pages |
Squarespace: image block settings (per image) |
2 hrs |
MEDIUM |
| Ongoing |
Add web font preload hints for primary typeface |
Squarespace: Code Injection > Header |
30 min |
LOW |
| Ongoing |
Build press/awards section on About page; source TripAdvisor or GBP review link |
Page editor |
2 hrs |
LOW |
07
Audit Notes & Limitations
Squarespace platform constraints
Several fixes (meta descriptions, OG tags, schema, canonicals) can be made without developer access via Squarespace page settings and Code Injection. H1 hierarchy fixes and image dimension attributes require template/CSS access and a Squarespace developer. Some Core Web Vitals improvements (lazy loading, explicit image dimensions) are partially constrained by the platform and may require waiting for Squarespace platform updates or developer-mode workarounds.
Core Web Vitals — proxy scores only
Core Web Vitals scores in this report are proxy signals from HTML analysis. Real LCP, CLS, and INP values require a Google PageSpeed Insights run or Chrome User Experience Report (CrUX) data. Run a PageSpeed Insights audit for authoritative scores before actioning CWV-specific work. Squarespace sites typically score 40–65 on PageSpeed due to platform JS overhead.
Google Business Profile
NAP data in the replacement schema (77 Christie Street, St Leonards NSW 2065 / (02) 9439 2213 / info@thebelroyhotel.com.au) must match the Google Business Profile exactly — character for character including abbreviation style. Discrepancies between schema NAP and GBP NAP reduce local pack ranking confidence. Verify before deploying.
AI crawler blocking — confirm intent with site owner
The robots.txt AI crawler blocks are a Squarespace default that was almost certainly applied without the owner's knowledge. Before removing them, confirm this with the client. Some venue operators choose to block AI scrapers for content licensing reasons — if that is intentional, document it and accept the AI search visibility trade-off.