SEO & Structured Data
JSON-LD schemas for every page type, Open Graph meta for social sharing, and canonical URL management — patterns that make your Claude CMS site eligible for Google rich results and social previews.
Code Patterns
Structured data patterns
Google uses structured data to generate rich results — expandable FAQ entries, knowledge panels, article snippets, and local business information. These patterns give Claude the exact schema structure to embed in any page.
Pattern 1 — FAQPage JSON-LD
Schema markup that makes FAQ entries eligible for expandable Google rich results. Includes the accordion HTML alongside the FAQPage JSON-LD block — both generated together in one Claude prompt.
@type: "FAQPage"withmainEntityarray ofQuestion/acceptedAnswerpairs- Matching HTML accordion using
<details>/<summary>— zero JS, native browser expand/collapse - CSS styled to brand: accent border-left, hover highlight, chevron icon rotation via CSS transform
- Up to 10 Q&As per page recommended for rich result eligibility
- JSON-LD injected in
<head>via<script type="application/ld+json"> - Structure validates against Google’s Rich Results Test
Add FAQPage JSON-LD structured data to my /faq page. Q&As: [paste your list of questions and answers]. Also generate a matching HTML accordion using <details>/<summary> elements styled with CSS from theme.css (accent border-left, orange hover state, chevron rotation). Inject the JSON-LD into the <head> of that page only. Validate the schema structure against Google’s FAQPage specification.
Pattern 2 — LocalBusiness JSON-LD
Schema markup for local businesses — name, address, opening hours, telephone, geo-coordinates, and a Google Maps link. Boosts local search visibility and Google Business Panel eligibility for restaurant, clinic, and service business pages.
@type: "LocalBusiness"— or a subtype:Restaurant,MedicalClinic,LegalService,HomeAndConstructionBusinessaddress: fullPostalAddresswith street, locality, region, postal code, countryopeningHoursSpecification: array of day-of-week + opens/closes time pairsgeo:GeoCoordinateswith latitude and longitude for map placementhasMap: Google Maps URL for the business locationtelephone,email,url,priceRangefields included- Same-page HTML contact block: address card, hours table, click-to-call phone link — consistent with the schema values
Add LocalBusiness JSON-LD to my /contact page. Business name: “[name]”. Address: “[full address]”. Opening hours: [Mon–Fri 9am–5pm, Sat 10am–2pm]. Phone: [number]. Business type: [Restaurant / Clinic / LegalService / etc.]. Geo-coordinates: [lat], [lng]. Also add a matching HTML contact block with address card, hours table, and click-to-call link. CSS in theme.css.
Pattern 3 — Article Schema + Open Graph Meta
Full SEO head block for blog posts and content pages: Article JSON-LD, Open Graph meta for social sharing previews, Twitter/X Card meta, and a canonical URL tag. Claude generates all four together for a single page.
@type: "Article"withheadline,author,datePublished,dateModified,imagepublisher:OrganizationwithnameandlogoasImageObject- Open Graph:
og:title,og:description,og:image(1200×630),og:url,og:type: article - Twitter Card:
summary_large_imagewithtwitter:title,twitter:description,twitter:image - Canonical URL:
<link rel="canonical" href="...">to prevent duplicate content signals - All tags injected into the page
<head>only — no site-wide impact
Add Article JSON-LD, Open Graph, and Twitter Card meta to my blog post at /[slug]. Title: “[post title]”. Description (150 chars): “[description]”. Author: “[name]”. Published: [date]. Featured image: /assets/images/[image].jpg at 1200×630. Publisher: “[site name]” with logo at /assets/images/logo.png. Canonical URL: https://[yourdomain.com]/[slug]. Inject all tags into the <head> of that page only.
Every SEO pattern includes
Google-validated schemas
Every JSON-LD structure is built to pass Google’s Rich Results Test. Claude generates correct @type, @context, and required property values every time.
Rich result eligibility
FAQPage schemas unlock expandable Q&As in SERPs. LocalBusiness schemas power knowledge panel entries. Article schemas improve blog snippet display and indexing speed.
Social sharing previews
Open Graph and Twitter Card meta ensure your pages show the right image, title, and description when shared on LinkedIn, X, Facebook, Slack, and WhatsApp.
Per-page, not site-wide
Claude injects schemas into specific pages only — no plugin that applies the wrong schema to every page on the site. Each page gets exactly the right structured data for its content type.
Pair SEO patterns with
Combine structured data with these building blocks for a fully optimised site.
Contact Forms
Add a PHP contact form alongside your LocalBusiness schema on the /contact page.
View patterns →Pricing Tables
Pricing patterns with Stripe Checkout — pair with Product and Offer structured data.
View patterns →Getting Started
New to Claude CMS? Set up your site and deploy your first page in under 10 minutes.
Setup guide →Add structured data to your Claude CMS site
From £6.99/month. First month free — no credit card required.