We use cookies for analytics and to serve ads. Accept to enable Google Analytics and AdSense. You can decline to stay opt-out.
Home cleaning/maid service pages with LocalBusiness + Service context, FAQs, and breadcrumb navigation.
Anchors the cleaning business identity, NAP, and URL.
Describes the cleaning service offering and coverage area.
Answers questions about supplies, cancellations, and add-ons.
Provides navigation context to the cleaning service page.
Ensure every applicable required property is present in your implementation. Nested props reference their parent objects (for example, `offers.priceCurrency`).
Paste as a single script tag. Keep product details, offer data, shipping/returns, and FAQ answers in sync with the page.
[
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"@id": "https://www.example.com/cleaning#business",
"name": "Bright Home Cleaning",
"url": "https://www.example.com/cleaning",
"telephone": "+1-512-555-0196",
"image": "https://www.example.com/images/home-cleaning.webp",
"address": {
"@type": "PostalAddress",
"streetAddress": "900 Riverside Dr",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78704",
"addressCountry": "US"
},
"priceRange": "$$"
},
{
"@context": "https://schema.org",
"@type": "Service",
"@id": "https://www.example.com/cleaning#service",
"name": "Recurring Home Cleaning",
"serviceType": "HomeCleaning",
"description": "Weekly or bi-weekly cleaning with customizable room checklists.",
"provider": { "@id": "https://www.example.com/cleaning#business" },
"areaServed": { "@type": "AdministrativeArea", "name": "Austin metro" },
"offers": {
"@type": "Offer",
"price": "140.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.example.com/cleaning#quote"
}
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Do you bring your own supplies?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. We bring eco-friendly supplies and equipment. You can request specific products."
}
},
{
"@type": "Question",
"name": "Is there a cancellation fee?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Cancellations within 24 hours may incur a fee. See the policy on the booking page."
}
},
{
"@type": "Question",
"name": "Can I add deep-cleaning services?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Add-ons can be selected during booking or requested by phone."
}
}
]
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
{ "@type": "ListItem", "position": 2, "name": "Services", "item": "https://www.example.com/services" },
{ "@type": "ListItem", "position": 3, "name": "Home Cleaning", "item": "https://www.example.com/cleaning" }
]
}
]Yes. Use one Service per tier (standard, deep clean, move-out) with distinct @id values.
Keep offers.url aligned to the estimate form and omit price if no range is displayed.