Free SEO Tool
Schema Markup Generator
Generate valid JSON-LD structured data for your website. Select a schema type, fill in the fields, and copy the markup — no coding required.
Schema Type
Local Business Details
Google Docs ↗JSON-LD Markup
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "LocalBusiness" } </script>
How to install
- Fill in the fields on the left
- Click Copy Markup
- Paste into your page's
<head>section - Click Test to validate in Google's Rich Results Test
What Is Structured Data?
Every page on your website contains text a human can read. Structured data is a second layer added to that page — invisible to visitors but readable by Google — that explains what that content is. Not just “this text says Monday–Friday 8am–5pm” but “these are the opening hours for this business.”
Without structured data, Google has to guess. It reads your page and infers meaning from context — and it gets most things right, most of the time. But guesses produce inconsistent results. Schema markup removes the guesswork. You tell Google exactly what the content means, and Google can then use it more confidently in search results.
The practical payoff: rich results. When Google understands your content precisely, it can display enhanced listings — FAQ dropdowns that expand in the search results, star ratings pulled from your reviews, your business hours shown directly under your link, breadcrumb trails that show your site structure. These enhanced listings typically get higher click-through rates than standard blue links, even at the same position.
Why JSON-LD Is the Right Format
There are three ways to format schema markup: JSON-LD, Microdata, and RDFa. Google officially recommends JSON-LD, and for good reason — it sits in a self-contained script block that has no impact on your page's HTML structure. You paste it in, it works, and you can update it later without touching anything else.
Microdata and RDFa require you to add attributes directly to your HTML tags, which means changing existing markup every time you want to update or add a property. JSON-LD requires no such surgery. The entire schema object lives in one place.
Where to paste your JSON-LD
- WordPress: Paste into a Custom HTML block, or use the theme's “Header/Footer Scripts” section. RankMath and Yoast also handle schema automatically.
- Webflow: Page Settings → Custom Code → Head Code section.
- Squarespace: Pages → Page Settings → Advanced → Page Header Code Injection.
- Wix: Settings → Custom Code → Add to <head>.
- Any platform: Paste the script block before the closing </body> tag — it works from anywhere on the page.
The Most Useful Schema Types for Home Service Businesses
Not all schema types are equally valuable. For a contractor or home service business, here is what actually moves the needle.
LocalBusiness (Start Here)
The most important schema type for any local business. Tells Google your name, address, phone, website, service area, opening hours, and business category. Use the most specific subtype available — Plumber, HVACBusiness, RoofingContractor, GeneralContractor, ElectricalContractor, or LandscapingBusiness. The subtype signals to Google exactly what kind of business you are, which improves relevance for trade-specific searches.
FAQPage
Marks up a list of question-and-answer pairs on your page. When valid FAQPage schema is detected, Google can expand individual Q&As directly in the search results — giving your listing more visual real estate than a standard result. Best used on service pages that answer common customer questions: “How much does AC repair cost?” or “Do you offer same-day service?”
HowTo
Marks up a step-by-step process — ideal for maintenance guides, troubleshooting articles, or installation walkthroughs. Google can render HowTo content in rich results with numbered steps and images. Strong for long-tail keyword content like “how to flush a water heater” or “how to reset a GFCI outlet.”
Article
Identifies blog posts and editorial content. Tells Google the article title, author, date published, and date modified — signals that influence how fresh your content appears in results. Use on all blog posts. Required fields are headline, author, and datePublished.
BreadcrumbList
Marks up your site's navigation hierarchy. When present and valid, Google displays the breadcrumb trail in the search listing instead of the full URL — e.g., “Home › Services › HVAC Repair” instead of “yoursite.com/services/hvac-repair.” Cleaner, more readable, and signals good site structure.
Schema Markup Mistakes That Prevent Rich Results
Valid schema markup requires certain fields. Missing a required property will cause Google to ignore the entire markup block — no error message, just no rich results. Here are the most common issues.
Missing required fields
Every schema type has required properties. LocalBusiness requires name, address (including addressCountry), and telephone at minimum. FAQPage requires at least one Question with a text-filled Answer. Check the Google documentation for each type before deploying.
Marking up content that is not on the page
Your schema markup must describe content that exists and is visible on the page. If your LocalBusiness schema lists opening hours, those hours should be visible somewhere on the page. Markup that describes non-existent content violates Google's guidelines.
Using the generic "LocalBusiness" type
Schema.org has specific subtypes for most home service trades. Using the generic LocalBusiness type when Plumber, HVACBusiness, or RoofingContractor is available reduces the precision of your markup. Use the most specific type that accurately describes your business.
Setting the wrong @context
The @context must be "https://schema.org" — not "http://schema.org" (no S) or a schema version URL. This is a common copy-paste error that invalidates the entire block.
Putting all schema on one page
LocalBusiness schema belongs on your homepage or contact page. Article schema belongs on individual blog posts. FAQPage schema belongs on pages that actually contain FAQ content. Piling every schema type onto one page confuses crawlers and is likely to produce warnings in the rich results test.
Not testing after changes
After adding or updating schema, always run the page through Google's Rich Results Test at search.google.com/test/rich-results. A valid JSON object does not mean the schema is technically correct — required field validation happens in the test tool, not in a JSON validator.
Frequently Asked Questions
What is schema markup and why does it matter for my business website?
Schema markup is code you add to your website that tells search engines exactly what your content means — not just what it says. For a plumbing or HVAC company, it can identify your business name, address, phone number, service area, and opening hours in a format Google reads reliably. The practical result: your business can appear in rich results (star ratings, business hours, FAQs in search listings), and your local listing data becomes more consistent across the web. It does not guarantee a ranking boost, but it removes ambiguity that can quietly suppress visibility.
What is the difference between JSON-LD and microdata?
JSON-LD and microdata are two different ways to format schema markup. JSON-LD is a self-contained script block you paste anywhere on the page — Google officially recommends it because it does not require you to modify your existing HTML. Microdata is woven into your HTML tags. For most businesses, JSON-LD is the right choice: it is easier to write, easier to test, and easier to update without breaking your page layout.
How do I add schema markup to my website without a developer?
Generate the JSON-LD markup using this tool, then paste it inside a script tag anywhere in your page HTML — ideally in the head section or just before the closing body tag. In WordPress, you can paste it into a Custom HTML block, add it through your theme's header/footer scripts setting, or use a plugin like RankMath or Yoast that handles schema automatically. In most website builders (Squarespace, Wix, Webflow) there is a "Custom Code" or "Embed" section where you can paste the script block.
What schema type should a plumber, HVAC, or roofing company use?
Start with LocalBusiness schema (select the most specific subtype — Plumber, HVACBusiness, RoofingContractor, or GeneralContractor). This tells Google your name, address, phone, service area, and hours in a structured format it can use for local search. Once that is in place, add FAQPage schema to pages that answer common customer questions, and HowTo schema to any step-by-step guides on your site. For blog posts, Article schema signals to Google that the content is editorial rather than a service page.
Does schema markup directly improve Google rankings?
Schema markup is not a direct ranking factor in the way that content quality or backlinks are. Google has stated that structured data does not boost rankings. What it does is make your content eligible for rich results — the enhanced search listings that include star ratings, FAQs, opening hours, and breadcrumbs. Rich results typically get higher click-through rates than standard blue links, which can improve organic traffic without changing your position. For local businesses, LocalBusiness schema also reinforces the accuracy of your listing data, which can help prevent the kind of data inconsistency that suppresses Local Pack rankings.
How do I test if my schema markup is correct?
Use Google's Rich Results Test at search.google.com/test/rich-results. Paste your URL or the raw JSON-LD markup and it will show you which rich result types are detected, along with any errors or warnings. For a quick syntax check, Schema.org's validator at validator.schema.org will confirm the markup structure is valid before you publish it. Always test before deploying — an invalid required field will prevent rich results from appearing even if the markup looks correct.
Want an Expert to Audit Your Entire Site?
Schema markup is one piece of a full local SEO strategy. Our free audit covers your Google Business Profile, citations, technical SEO, and ranking position — not just structured data.
Get Your Free SEO Audit