Notes / schema / contractors · 8 min

The schema markup a remodeler actually needs

By Krystian Swierk, Kreate Vision, Palatine IL

A remodeler’s site needs one business node, one service node per real service, and nothing that Google stopped rewarding years ago. Most sites we’ve looked at have the opposite. Five schema types stacked on top of each other, no @id connecting any of them, and FAQ markup for a rich result that doesn’t exist anymore.

What schema actually does for a contractor

Schema markup is a label, not a ranking lever. It tells Google’s crawler what a page is in a format software can parse without guessing: this is a business, here is its address, here is a service it offers. Google’s own guidelines say the markup “must be a true representation of the page content.” Content not visible to a reader on the page shouldn’t be marked up either (Google Search Central, structured data general guidelines). Schema is one input among several. It sits alongside what actually gets a business quoted by name in an AI answer and what separates a page that ranks from one that gets cited, not a replacement for either.

That second rule is the one contractor sites break most. A JSON-LD block claiming five-star reviews when the page shows none is exactly what the guideline forbids. So is an FAQ section in the schema that never renders in the HTML. Get caught and you don’t lose ranking. You lose eligibility for the rich result the markup was trying to earn, per the same page.

The one node every remodeler needs: HomeAndConstructionBusiness

Schema.org’s HomeAndConstructionBusiness type sits under LocalBusiness, which sits under Organization and Place. It’s described on Schema.org as a business that “provides services around homes and buildings” and functions as a provider of one or more Service entries. Eight more specific subtypes exist under it too: Electrician, GeneralContractor, HVACBusiness, HousePainter, Locksmith, MovingCompany, Plumber, RoofingContractor.

Google’s own LocalBusiness documentation lists two required properties: name and address (a PostalAddress with street, city, region, postal code, country). Everything past that is recommended, not required, but a remodeler skipping the recommended fields is leaving detail Google explicitly asks for on the table.

Table 1: the nodes a remodeler’s schema graph needs, what each does, and where sites usually get it wrong.

NodeRequired / key propertiesWhat it doesCommon mistake
HomeAndConstructionBusinessname, address (required); telephone, geo, openingHoursSpecification, priceRange, url (recommended, per Google’s LocalBusiness docs)Identifies the business itself: who you are, where you are, when you’re openUsing plain Organization with no address, which forfeits local rich-result eligibility entirely
Service (one per real service)provider (Organization or Person), areaServed, serviceType, per Schema.org’s Service pageTells Google what you actually do, separate from who you areOne giant “General Contracting” service instead of one node per real offering
areaServedAdministrativeArea, GeoShape, Place, or Text, per Schema.org’s areaServed pageStates where the business or service is available, at the business or the service levelA single “Chicago” text string instead of the specific towns actually served
BreadcrumbListitemListElement, an ordered list of ListItem entriesShows the page’s position in the site, which can render as the URL path in resultsBreadcrumbs in the visible nav that don’t match the breadcrumb markup
WebPageisPartOf, about, datePublished, dateModifiedConnects the page to the site and to the business it’s aboutNo dateModified, so Google can’t tell a page from 2019 apart from one updated this month
Organization or Person (authorship)author, nameAttributes a blog post to a real person or the businessAuthor schema pointing at a generic “admin” or nothing at all

What the graph looks like connected, not stacked

The mistake we see most is five schema blocks on one page that never reference each other: a LocalBusiness block, a separate WebPage block, a separate BreadcrumbList block, each one self-contained and floating. Nothing tells Google they describe the same business or the same page.

The fix is one @graph array where every node has an @id, and nodes reference each other by that @id instead of repeating data. On this site, the business node gets "@id": "https://www.kreatevision.com/#org". The page’s WebPage node points about at that same @id rather than writing out the business name and address a second time. The breadcrumb, the website node, and any page-specific schema sit in the same @graph, cross-linked the same way. The whole page ends up as one connected description instead of five separate claims. A remodeler’s site should work the same way: one business node with an @id, one Service node per real service with provider pointing at that @id, one WebPage node with about pointing at it too.

Named towns, not a vague radius

areaServed accepts a Place, an AdministrativeArea, a GeoShape, or plain Text, per Schema.org. For a remodeler, that should be the actual towns the crew drives to, named individually, not “the greater metro area” as one string.

{
  "@context": "https://schema.org",
  "@type": "HomeAndConstructionBusiness",
  "name": "Example Remodeling",
  "telephone": "000-000-0000",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "Palatine",
    "addressRegion": "IL",
    "postalCode": "60067",
    "addressCountry": "US"
  },
  "areaServed": [
    { "@type": "Place", "name": "Palatine, IL" },
    { "@type": "Place", "name": "Arlington Heights, IL" },
    { "@type": "Place", "name": "Schaumburg, IL" }
  ]
}

That’s the minimum. A real page would add geo, openingHoursSpecification, and sameAs links to the business’s actual Google Business Profile and social accounts. It would also add a Service node per offering, each one pointing provider back at this business by @id.

What to skip, and why Google stopped rewarding it

This is the part most contractor sites get backwards: they skip the business node and add FAQ and HowTo schema instead, because a plugin made it easy. Both are dead weight now.

FAQPage rich results were restricted in September 2023. Google’s FAQPage documentation says the feature is shown “only for well-known, authoritative government and health websites.” Google’s Search Central changelog then added a deprecation notice in May 2026: the FAQ rich result no longer appears in Google Search starting May 7, 2026. A remodeler’s FAQ schema was never going to qualify for the government-and-health carve-out. Now it doesn’t have a rich result to aim for regardless.

HowTo rich results are gone outright. Google deprecated the feature on September 14, 2023, and pulled the documentation page for it. If your site still generates HowTo markup on a “how to prep your kitchen for a remodel” post, it isn’t broken and it isn’t penalized. It’s just inert.

Fake or aggregated star ratings are the third one, and the highest-stakes to get wrong. Google’s review snippet policy states plainly: a business that controls the reviews about itself is ineligible for the star review feature on any page using LocalBusiness or Organization markup. Ratings “must be sourced directly from users.” Sites can’t “aggregate reviews or ratings from other websites” either. A remodeler pulling five-star quotes from its own testimonials page into aggregateRating markup is doing exactly what the policy prohibits.

Table 2: schema still common on contractor sites that earns nothing under current policy.

Schema people still addPolicy lineWhat it earns now
FAQPage for a rich resultRestricted to “well-known, authoritative government and health websites” since Sept 2023; retired from Google Search on May 7, 2026 per the Search Central changelogNothing
HowToDeprecated Sept 14, 2023, documentation page removedNothing
aggregateRating from your own testimonials page”If the entity that’s being reviewed controls the reviews about itself… ineligible for star review feature”Ineligible for the star display, and a policy violation if it displays anyway
Schema describing content not on the page”Don’t mark up content that is not visible to readers of the page”Loss of rich result eligibility if caught
Keyword-stuffed service descriptionsMarkup “must be a true representation of the page content”Nothing rewarded; risk of a manual action

How to check your own site

Two free tools confirm whether markup is present and valid, not whether it will produce a rich result:

Neither tool tells you whether a rich result will actually display. Google’s structured data guidelines are explicit that valid markup is necessary, not sufficient: the algorithm still decides what to show based on relevance and context.

What we do about it

We build one @graph per page: the business node with an @id, a WebPage node, a BreadcrumbList, and any page-specific schema, all cross-referenced instead of repeated. On a remodeler’s site that means one HomeAndConstructionBusiness node with the real address, phone, hours, and named towns. It also means one Service node per actual service the crew performs, each pointing provider back at the business @id. That’s the pattern behind our SEO and AEO work and every site we build in Astro, built to load fast in the first place: schema on a slow page still competes with the same slow page.

We don’t add HowTo markup, and where our own pages carry FAQPage markup, it is there as a machine-readable copy of questions the page visibly answers, not in expectation of a rich result. We don’t write aggregateRating from a testimonials page a client curated themselves. In our own field scan of 30 web design agencies on 2026-09-04, 10 put an AI-search label like “AEO” or “GEO” on their homepage. None described a method behind it (Kreate Vision field scan, 2026-09-04). Labeling a service and building it are different claims. If you want to see what the schema on your own site actually says versus what the page shows, that’s a fixed-price conversation, not a sales call. See our work or call us in Palatine.

Sources

Quick answers
Does a remodeling company need FAQPage schema on its site?

No, for rich results. Google restricted the FAQ rich result to well-known government and health sites in September 2023, then retired the feature from Google Search on May 7, 2026, per its own changelog. You can keep FAQ content on the page for readers, and keep the markup as a machine-readable copy of questions the page already answers. Just do not expect a rich result from it.

Is HowTo schema still worth adding to a remodeling blog post?

No. Google deprecated the HowTo rich result on September 14, 2023, and removed the documentation page for it. If a plugin or template still generates HowTo markup on your site, it is inert: no error, no penalty, just no result to show for it.

What schema type should a remodeler use instead of generic LocalBusiness?

HomeAndConstructionBusiness, a subtype of LocalBusiness on Schema.org built for construction and home-service companies. It carries the same address, phone, and hours properties as LocalBusiness plus the option to attach Service nodes for each job type you perform, which a plain LocalBusiness node does not model as cleanly.

Can a remodeler show star ratings from its own testimonials page?

No. Google's review snippet policy says a business that controls the reviews about itself is ineligible for the star review feature on pages using LocalBusiness or other Organization markup. Ratings have to come from an independent source, like Google Business Profile or a third-party review platform, not a quotes page the business wrote and curated itself.