Generate complete SEO meta tags for every page. Covers title patterns, meta descriptions, Open Graph, Twitter Cards, and JSON-LD structured data (LocalBusiness, Service, FAQ, BreadcrumbList).
Use when: building pages, adding social sharing, implementing structured data, optimizing for search engines.
Generate complete SEO meta tags for every page. Covers title patterns, meta descriptions, Open Graph, Twitter Cards, and JSON-LD structured data (LocalBusiness, Service, FAQ, BreadcrumbList).
Use when: building pages, adding social sharing, implementing structured data, optimizing for search engines.
[Value prop] [Service] in [Location]. [Differentiator]. [CTA].
Examples by Page Type:
Home Page:
Fast, reliable plumbing services in Sydney. 24/7 emergency response, licensed plumbers, upfront pricing. Call 1300 XXX XXX for same-day service.
Service Page:
Expert hot water repairs in Sydney. Fix or replace electric, gas & solar systems. Licensed technicians, 1-year warranty. Book online or call 1300 XXX XXX.
Location Page:
Trusted plumber in Bondi. Blocked drains, leaks, hot water, gas fitting. Same-day service, upfront quotes. Call your local plumber on 1300 XXX XXX.
If twitter:description missing, uses og:description
If twitter:image missing, uses og:image
Best Practice: Define og:* tags first, only add twitter:* if values differ.
JSON-LD Structured Data
LocalBusiness Schema (Most Important)
Use for homepage and contact page:
{"@context":"https://schema.org","@type":"Plumber","name":"Acme Plumbing","description":"Licensed plumbing services in Sydney","@id":"https://acmeplumbing.com.au","url":"https://acmeplumbing.com.au","logo":"https://acmeplumbing.com.au/logo.png","image":"https://acmeplumbing.com.au/og-image.jpg","telephone":"+61-XXX-XXX-XXX","email":"info@acmeplumbing.com.au","priceRange":"$$","address":{"@type":"PostalAddress","streetAddress":"123 Main Street","addressLocality":"Sydney","addressRegion":"NSW","postalCode":"2000","addressCountry":"AU"},"geo":{"@type":"GeoCoordinates","latitude":-33.8688,"longitude":151.2093},"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"07:00","closes":"17:00"}],"sameAs":["https://facebook.com/acmeplumbing","https://instagram.com/acmeplumbing"]}
Specific Business Types (instead of generic LocalBusiness):
{"@context":"https://schema.org","@type":"Service","name":"Hot Water Repairs","description":"Fast hot water system repairs in Sydney","provider":{"@type":"Plumber","name":"Acme Plumbing","url":"https://acmeplumbing.com.au"},"areaServed":{"@type":"City","name":"Sydney"},"availableChannel":{"@type":"ServiceChannel","serviceUrl":"https://acmeplumbing.com.au/hot-water-repairs","servicePhone":"+61-XXX-XXX-XXX"}}
FAQ Schema (Rich Snippets)
Use for FAQ sections:
{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"How much does a plumber cost in Sydney?","acceptedAnswer":{"@type":"Answer","text":"Plumbing rates in Sydney typically range from $100-$150 per hour for standard work. Emergency callouts may incur higher rates. We provide upfront quotes before starting work."}},{"@type":"Question","name":"Do you offer same-day service?","acceptedAnswer":{"@type":"Answer","text":"Yes, we offer same-day plumbing service across Sydney for urgent repairs. Call us before 2pm for same-day availability."}}]}
BreadcrumbList Schema
Use on all pages except homepage:
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://acmeplumbing.com.au"},{"@type":"ListItem","position":2,"name":"Services","item":"https://acmeplumbing.com.au/services"},{"@type":"ListItem","position":3,"name":"Hot Water Repairs","item":"https://acmeplumbing.com.au/hot-water-repairs"}]}
Canonical URLs
When to Use:
Every page should have a self-referencing canonical