Building Block

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.

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.

JSON-LD FAQPage Schema Rich Results HTML Accordion
  • @type: "FAQPage" with mainEntity array of Question / acceptedAnswer pairs
  • 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
Prompt to use with Claude

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.

JSON-LD LocalBusiness Schema Opening Hours Geo Coordinates
  • @type: "LocalBusiness" — or a subtype: Restaurant, MedicalClinic, LegalService, HomeAndConstructionBusiness
  • address: full PostalAddress with street, locality, region, postal code, country
  • openingHoursSpecification: array of day-of-week + opens/closes time pairs
  • geo: GeoCoordinates with latitude and longitude for map placement
  • hasMap: Google Maps URL for the business location
  • telephone, email, url, priceRange fields included
  • Same-page HTML contact block: address card, hours table, click-to-call phone link — consistent with the schema values
Prompt to use with Claude

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.

JSON-LD Article Schema Open Graph Twitter Card
  • @type: "Article" with headline, author, datePublished, dateModified, image
  • publisher: Organization with name and logo as ImageObject
  • Open Graph: og:title, og:description, og:image (1200×630), og:url, og:type: article
  • Twitter Card: summary_large_image with twitter: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
Prompt to use with Claude

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.