Mitasys x Right Choice Painting

Technical SEO · 173 pages reviewed · Structured data (schema)

One schema tag, copied across all 173 pages

Every page on the site carries the same business markup and, on 172 of 173 pages, nothing else. Correcting this is a high-impact, low-effort win we can complete within the first three months.

What we found

The same business tag, repeated on every page

We reviewed the structured data on all 173 URLs. The entire website contains only two distinct schema blocks. One business tag is copied, byte for byte, onto all 173 pages, and on 172 of them it is the only structured data present. The single exception is the FAQ page, which also has valid FAQ markup.

173 / 173Pages carrying the exact same business tag (100%)
172 / 173Pages whose only structured data is that one tag
2Distinct schema blocks on the entire website
0Service, location or blog pages with page-specific schema
Current markup, present on every page
// 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 see the same homepage business, over and over, and never learn what any individual service, location or blog page is actually about. The site is leaving its clearest ranking and AI-visibility signals switched off.

Why it matters

Four ways this holds the site back

The copied block is itself well formed. The problem is how it is used: the same tag on every page, with no page-specific markup and a signal that always points home.

Impact

The site is invisible to most rich results it could earn

Service pages have no Service markup, location pages have no localized markup, and all 130 blog posts have no article markup. Search engines and AI answer engines are given nothing page-specific to understand, so pages cannot qualify for the richer results and citations their content deserves.

Impact

Every page tells Google its main subject is the homepage

The copied tag hardcodes mainEntityOfPage and url to the homepage. A blog post about how long interior paint lasts therefore declares its main entity to be the homepage business. That is a false signal repeated on 172 pages.

Refinement

The business type is generic

The markup uses ProfessionalService. Schema.org has a specific type for painting contractors, HousePainter, which sits under LocalBusiness and communicates the business category far more precisely.

Refinement

The star rating will not show, and the count is inconsistent

The markup reports a 4.5 rating from 19 reviews while the site displays 27 reviews. Google does not show star rich results for a business's own self-serving rating in any case, so this earns nothing today. Real review visibility comes from Google Business Profile and third-party review platforms.

The fix

Correct schema for each page type

Define the business once as the specific HousePainter type, reference it everywhere by a single identifier, and add the page-specific markup each template is missing. Below is the recommended structured data by page type.

Page typePagesRecommended structured data
Homepage 1 HousePainter defined once as the business entity, plus 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

What the corrected markup looks like

Homepage: the business defined once, as HousePainter
{
  "@context": "https://schema.org",
  "@type": "HousePainter",
  "@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"
  ]
}
Service page: adds Service, linked to the business
{
  "@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/"
}
Blog post: adds BlogPosting that describes the post, not the homepage
{
  "@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

Deliverable in three months

The work is well defined and template-driven, so it ships in three focused phases with results visible from the first month.

WhenFocusScope
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

How to read this audit

01

What we checked

The live structured data on all 173 URLs (43 pages and 130 posts), confirmed directly against the pages themselves.

02

The tag is good, its use is not

The business block itself is well formed. The plan keeps it, defines it once, links to it everywhere by identifier, and adds the page-specific markup that is missing.

03

About the review stars

A business's own rating is not shown as stars by Google. Star visibility is earned through Google Business Profile and third-party review platforms, which we address separately.

04

Validation is built in

Every template is checked in Google's Rich Results Test, and eligibility is tracked in Search Console once connected.

Next steps

Make schema the first 90-day win

It is a clear, self-contained fix with measurable outcomes: correct markup on every page, more pages eligible for rich results, and a stronger foundation for local and AI search.

Start with the foundation

Define the business once, correct the site-wide signals, and add breadcrumbs. The rest builds cleanly on top.

See the three-month plan

See the wider programme

Schema is the fast win. It sits alongside the broader search and content work in the full proposal.

Back to deliverables