Mitasys x Right Choice Painting
Technical SEO · 173 pages reviewed · Structured data (schema)All 173 pages carry the same business markup; 172 carry nothing else. The fix is high-impact, low-effort, and ships within three months.
What we found
The site's 173 URLs contain only two distinct schema blocks. One business tag repeats byte for byte on every page; only the FAQ page adds anything more.
// Found byte-for-byte identical on all 173 pages,
// including on this blog post - and it is the only markup present:
{
"@context": "https://schema.org",
"@type": "ProfessionalService",
"@id": "https://rightchoicepaintingaz.com/#business",
"name": "Right Choice Painting, LLC",
"url": "https://rightchoicepaintingaz.com/",
"mainEntityOfPage": "https://rightchoicepaintingaz.com/", // always the homepage
"aggregateRating": { "ratingValue": "4.5", "reviewCount": "19" },
... // same address, hours and service list repeated on every URL
} What this means
Search engines never learn what each service, location or blog page is about. Page-specific markup switches those signals on.
Why it matters
The tag itself is well formed. The gains come from deploying it correctly:
Service, location and blog pages carry no page-specific markup, so none can qualify for richer search results or AI citations. Adding it makes all 173 pages eligible.
The copied tag points every page's main-entity signal at the homepage, a false signal on 172 pages. Per-page markup corrects it.
The markup says only ProfessionalService. Pairing it with Schema.org's HousePainter names the painting specialism, while ProfessionalService and the service catalog cover the commercial work.
The markup says 4.5 from 19 reviews; the site shows 27. Google ignores a business's own rating for stars anyway, so real star visibility comes from Google Business Profile and third-party platforms.
The fix
Define the business once, typed for both residential and commercial painting, reference it everywhere by one identifier, and give each template its own markup:
| Page type | Pages | Recommended structured data |
|---|---|---|
| Homepage | 1 | The business defined once as HousePainter plus ProfessionalService (covering residential and commercial work), with WebSite and BreadcrumbList |
| Service pages | 12 | Service (service type, provider linked to the business, area served) plus BreadcrumbList |
| Location pages | 15 | Localized HousePainter or Service scoped to each city, plus BreadcrumbList |
| Blog posts | 130 | BlogPosting (headline, dates, image, author and publisher linked to the business) plus BreadcrumbList |
| Contact, About, FAQ | 3 | ContactPage, AboutPage and FAQPage (the FAQ markup already exists) plus BreadcrumbList |
| Hubs, gallery, other | 12 | CollectionPage or WebPage plus BreadcrumbList as appropriate |
{
"@context": "https://schema.org",
"@type": ["HousePainter", "ProfessionalService"],
"@id": "https://rightchoicepaintingaz.com/#business",
"name": "Right Choice Painting, LLC",
"url": "https://rightchoicepaintingaz.com/",
"telephone": "+1-602-350-2202",
"priceRange": "$$",
"image": "https://rightchoicepaintingaz.com/wp-content/uploads/right-choice-painting-hero.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "1811 W Tanya Trl",
"addressLocality": "Phoenix",
"addressRegion": "AZ",
"postalCode": "85086",
"addressCountry": "US"
},
"geo": { "@type": "GeoCoordinates", "latitude": 33.7408, "longitude": -112.1165 },
"areaServed": ["Phoenix", "Scottsdale", "Paradise Valley", "Cave Creek",
"Anthem", "Peoria", "Glendale"],
"openingHoursSpecification": [
{ "@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "07:00", "closes": "17:00" },
{ "@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday", "opens": "07:00", "closes": "14:00" }
],
"sameAs": [
"https://www.yelp.com/biz/right-choice-painting-phoenix-2",
"https://www.bbb.org/us/az/phoenix/profile/painting-contractors/right-choice-painting"
]
} {
"@context": "https://schema.org",
"@type": "Service",
"@id": "https://rightchoicepaintingaz.com/residential/interior-residential-painting/#service",
"name": "Interior Residential Painting",
"serviceType": "Interior painting",
"provider": { "@id": "https://rightchoicepaintingaz.com/#business" },
"areaServed": { "@type": "State", "name": "Arizona" },
"url": "https://rightchoicepaintingaz.com/residential/interior-residential-painting/"
} {
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "How Long Does Interior Paint Last?",
"mainEntityOfPage": "https://rightchoicepaintingaz.com/how-long-does-interior-paint-last/",
"datePublished": "2025-08-14",
"dateModified": "2026-02-19",
"author": { "@id": "https://rightchoicepaintingaz.com/#business" },
"publisher": { "@id": "https://rightchoicepaintingaz.com/#business" },
"image": "https://rightchoicepaintingaz.com/wp-content/uploads/interior-paint.jpg"
} Illustrative markup. The address, hours and service areas are the live business details; per-post fields such as dates, images and headlines are populated automatically for each page. Reference: schema.org/HousePainter and Google's Local Business guidance.
Rollout
The work is well defined and template-driven, so it ships in three focused phases with results visible from the first month.
| When | Focus | Scope |
|---|---|---|
| Month 1 | Fix the foundation: define the business once as HousePainter with a single stable identifier, add BreadcrumbList and WebSite site-wide, and correct the per-page main-entity signal so each page describes itself. | Site-wide |
| Month 2 | Add page-specific markup to the money pages: Service on the 12 service pages, localized markup on the 15 location pages and hubs, and ContactPage, AboutPage and FAQPage on the key pages. | 30 key pages |
| Month 3 | Roll BlogPosting across the blog library, then validate every template in Google's Rich Results Test and monitor eligibility in Search Console. | 130 posts + validation |
Important context
01
The live structured data on all 173 URLs, confirmed against the pages themselves.
02
The business block is well formed; the plan defines it once and adds the missing page-specific markup.
03
Google awards stars via Business Profile and third-party reviews, not a business's own markup. Addressed separately.
04
Every template passes Google's Rich Results Test, with eligibility tracked in Search Console.
Next steps
A self-contained fix with measurable outcomes: correct markup on every page and more pages eligible for rich results.
Define the business once and correct the site-wide signals; the rest builds on top.
See the three-month planSchema is the fast win inside the full local SEO proposal.
Open the proposal