Schema markup generator for cleaning companies
Cleaning companies don’t have a dedicated schema.org type, so LocalBusiness is the right choice. Fill in the form and I’ll build valid JSON-LD you can paste into your site.
LocalBusiness JSON-LD
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"@id": "https://sunnysideclean.example/#business",
"name": "Sunnyside Clean Co.",
"description": "A Calgary cleaning company offering recurring home cleaning, move-out cleans and small office cleaning.",
"url": "https://sunnysideclean.example/",
"telephone": "+1-403-555-0142",
"email": "hello@sunnysideclean.example",
"image": "https://sunnysideclean.example/images/photo.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 Example Street SW",
"addressLocality": "Calgary",
"addressRegion": "AB",
"postalCode": "T2P 1J9",
"addressCountry": "CA"
},
"openingHours": [
"Mo-Fr 09:00-17:00"
],
"priceRange": "$",
"areaServed": [
"Calgary",
"Airdrie",
"Cochrane",
"Okotoks"
],
"knowsAbout": [
"Recurring house cleaning",
"Move-out cleaning",
"Office cleaning",
"Post-renovation cleaning"
],
"paymentAccepted": "Credit card, E-transfer",
"knowsLanguage": [
"English",
"Tagalog",
"Spanish"
],
"slogan": "Come home to clean.",
"sameAs": [
"https://www.instagram.com/sunnysidecleanco",
"https://www.linkedin.com/company/sunnysidecleanco"
]
}
</script>Paste this into your page’s head, then test it with Google’s Rich Results Test and validator.schema.org. The example values are made up: replace every one.
Want this added to your cleaning company’s website?
Send me your site and I’ll check your current structured data and send back corrected JSON-LD for it. Free.
The properties that matter for cleaning companies
Type: LocalBusiness. Every property below is a real schema.org property.
| Property | Why it matters |
|---|---|
knowsAbout | With a general type, knowsAbout does the heavy lifting. Name each service so search engines and AI tools know what you clean. |
areaServed | You work in the customer’s home. List the areas you serve. |
priceRange | Price is a top question for cleaning. A simple range helps people self-select. |
knowsLanguage | If your team serves customers in several languages, that is useful and worth stating. |
openingHours | Show when you take bookings and answer calls. |
Common mistakes
Forcing a type like HousePainter or HomeAndConstructionBusiness because LocalBusiness feels too plain. A general type with good knowsAbout is more honest.
Using a home address as a service-area business. Leave the street out and use areaServed.
Putting a first-clean discount in the description. Promotions change; keep the markup stable.
How to add it to your site
- Replace every example value in the form with your own details. They should match your Google Business Profile exactly.
- Copy the code and paste it into your page’s
<head>. Most site builders have a custom code field. On a hand-built site, it goes in the template. - Test the live page with Google’s Rich Results Test and validator.schema.org, and fix anything they flag.
- Add the same facts to the visible page. Structured data should describe what visitors can see. My website checklist for cleaning companies covers the rest.
Schema for cleaning companies: questions
Schema.org doesn’t define one. LocalBusiness is the correct fallback. The description and knowsAbout fields explain what you do.
Name both in knowsAbout and give each its own page if you offer both. One business markup is enough.
Google doesn’t show self-serving review stars for a LocalBusiness, even if you mark them up. Your Google Business Profile reviews show on their own in local results.
Keep reading
- nick@tavro.ca
- 587-439-9994
- Calgary, Alberta