LocalSEOFlow

What Is Schema Markup in SEO? Best Free Guide With Examples

What is schema markup?

To build schema markup the easy way: pick the most specific schema type for the page, fill in a free schema markup builder with details that match what visitors see, copy the JSON-LD, paste it into the page, and test it in Google's Rich Results Test before you publish. Then check Search Console about a week later. That is the whole job.

That last step is the one people skip. Hand editing JSON-LD across many service pages, one HTML widget at a time, is where silent errors creep in. One missing comma halfway through a block is enough. The page looks perfect, and the markup does nothing until a Rich Results Test shows zero valid items.

For example, picture a local HVAC site with a dozen city pages, each carrying a hand typed FAQPage or LocalBusiness block inside a page builder HTML widget. Eleven blocks are fine. One has a missing comma after the telephone line. Nothing on the page looks wrong, so nobody checks, and Google ignores that block for weeks. The lesson: never trust markup you have not tested. Build each block in the free schema markup generator so the syntax is generated for you, paste it into the Rich Results Test before publishing, and audit the live pages with the Local Schema Checker.

Schema fails silently. A broken title tag shows up in every audit. Broken schema whispers. That silence is the main reason to use a builder and to test. This guide covers what a schema markup builder does, which types still earn rich results, the mistakes that cost the most, and how to test.

Key takeaways

  • A schema markup builder writes valid JSON-LD for you. It does not choose the right type or make an ineligible type eligible.
  • FAQ and HowTo rich results are gone for most sites. Product, Review, Event, Recipe, JobPosting and Video still earn them.
  • Use the most specific LocalBusiness subtype, like Plumber or HVACBusiness, and keep the NAP identical to your Google Business Profile.
  • Test every block in the Rich Results Test, then audit live pages with the Local Schema Checker.
  • Schema NAP that drifts from your site and listings undoes the work. Run the NAP Consistency Checker after any change.

What is schema markup and what does a builder do?

A schema markup builder is a form that turns your business details into valid JSON-LD structured data. You type the name, address, phone and hours, and it writes the code block. It handles the syntax, the quotes and the nesting. It does not choose your schema type or tell you whether that type can earn a rich result.

Think of a tax form and an accountant. The form makes sure every box is filled in right. The accountant tells you which boxes apply to you. The builder is the form. You are the accountant.

A missing comma cannot survive a builder. You never touch the syntax, so you cannot break it. You type a phone number into a box, and the tool wraps the address in a PostalAddress block and formats the hours as openingHoursSpecification.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "HVACBusiness",
  "name": "Example Air Repair",
  "telephone": "+17025550100",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Las Vegas",
    "addressRegion": "NV"
  },
  "areaServed": ["Las Vegas", "Henderson", "North Las Vegas"]
}
</script>

That is a small but complete block. A builder writes this in seconds and never forgets a brace.

Is a schema markup builder the same as a schema markup generator?

Yes. Schema markup builder, schema markup generator and JSON-LD generator all describe form tools that output JSON-LD. The names reflect who is searching. SEOs say generator, developers say JSON-LD generator, and builder is the newer product word for the same thing.

The split matters for one reason. Different people type different words for the same need. Pick one main phrase for your page, mention the others once, and never build three pages for three phrases.

The LocalSEOFlow tool is called a builder because that fits what it is: a guided form with a live preview. You still decide what you are building. The name is honest about the work that stays yours.

What does schema markup do: which types earn rich results?

Product, Review snippets, Recipe, Event, JobPosting, Video, SoftwareApplication and merchant listings still earn visible search features. Google limited FAQ rich results to well known government and health sites in August 2023, and HowTo rich results were retired the same year. LocalBusiness feeds Google's understanding of your business rather than a classic rich result.

Many generator pages still show FAQ and HowTo as headline features, with pretty accordion screenshots. A tool producing FAQPage JSON-LD in 2026 is not lying about its output. It is staying quiet about what that output can earn. Check every type against Google's structured data search gallery, because eligibility changes on Google's schedule.

Schema typeRich result todayStill worth adding?
Product and OfferYes, price and availabilityYes, for stores
Review and AggregateRatingYes, with strict rulesOnly for eligible reviews
EventYesYes, for real events
Recipe, JobPosting, VideoYesYes, where they fit
LocalBusiness subtypesNo classic snippetYes, for entity clarity
Organization with sameAsNoYes, on the home page
BreadcrumbListYes, breadcrumb trailYes
FAQPageGov and health sites onlyOptional, for clarity
HowToNoRarely

Is FAQPage still worth running?

On most business sites, FAQPage markup will earn zero rich results. Some site owners keep it anyway, because clean question and answer markup helps machines read the page. That is a reasonable choice. Chasing a snippet that no longer exists is not a strategy, though.

A common case: a site owner adds FAQPage markup to every service page, then checks the search results a month later and sees no accordions. The markup is valid, so the owner assumes something broke and starts editing it. Nothing broke. Google simply no longer shows FAQ rich results for most sites. The right expectation is clarity for machines, not a visible snippet, and the time is better spent on the LocalBusiness and Organization blocks.

The quiet workers

Organization, sameAs and @id wiring never earn a rich result. They tell Google who you are and which profiles are yours. There is no screenshot to brag about, and it is still the most useful schema on most business sites.

How do I create LocalBusiness schema for a local service business?

Pick the most specific LocalBusiness subtype, like Plumber, Electrician or HVACBusiness. Add your exact business name, address, phone, website, hours and areaServed. Make every value match your page and your Google Business Profile word for word. Then add a geo point and sameAs links to your real profiles.

  1. Open the JSON-LD schema generator online and choose LocalBusiness.
  2. Pick your subtype. The builder lists over 130 of them.
  3. Enter name, street, city, state, ZIP and phone exactly as on your Google Business Profile.
  4. Add hours with openingHoursSpecification. Only list hours you really keep.
  5. Add areaServed for each city or region you cover.
  6. Add sameAs links to your Google Business Profile, Facebook, Yelp and other real profiles.
  7. Copy the JSON-LD and paste it into the page.

The LocalBusiness structured data docs list the fields Google reads. The full vocabulary lives on schema.org/LocalBusiness.

Good to know: Not sure which subtype fits? Use the same idea as your primary Google Business Profile category. The GBP Category Finder helps you pick that category first.

Build LocalBusiness JSON-LD free

24 schema types, over 130 LocalBusiness subtypes, areaServed fields and a live preview. No login.

Build schema

What is schema in SEO, and does it improve rankings?

Schema markup is not a direct ranking factor. It helps Google understand your page and, for eligible types, qualifies your listing for rich results that can lift clicks. Better understanding and better clicks are real, but neither is a ranking boost the way a strong backlink is.

Rich results do lift clicks when they show. A product with stars and a price beats a plain blue link. But there are three steps: valid markup, then eligibility, then Google choosing to show it. A builder controls only the first. If your type is not eligible, the lift is zero.

Beyond rich results, schema helps with entity clarity. An Organization block with consistent NAP tells Google that your site, your Google Business Profile and your citations describe the same business. It will not outrank a stronger page. It helps Google understand a page that deserves to rank.

One more thing. Schema on a page Google has not indexed does nothing. If a new location page is not showing at all, fix that first with the Indexability Checker and the guide on how to index your website on Google.

How do I add schema to WordPress without breaking it?

Either let an SEO plugin generate schema, or paste builder JSON-LD by hand. Rank Math and Yoast both create Organization, Article and BreadcrumbList markup from your site data. For custom local business schema, paste the builder's script into an Elementor HTML widget or your theme head. Never describe the same entity both ways.

The plugin path

Rank Math is the practical default on WordPress. It covers many types, and the parts that matter are free. Yoast covers the basics well. Set it once and every new post gets sane markup.

The manual path

For what the plugin covers poorly, like service areas, build the block in a builder and paste it as a script tag. In Elementor, that means an HTML widget. Copy the script tags too, so you paste one complete block.

The duplicate trap

The plugin outputs an Organization block, you paste your own, and now the page has two. Google picks one or merges them, and you control neither. Check what the plugin already outputs before adding anything. One entity, one block.

Before paying for a premium plugin tier just for schema, check whether the free HTML widget route already covers what you need. For a small site, it usually does, and the free path is not a compromise.

What are the biggest mistakes people make with schema generators?

The biggest mistake is marking up content visitors cannot see. Google's rule is clear: if users cannot see it, do not mark it up. Close behind are using generic LocalBusiness when a subtype exists, letting schema NAP drift from the site and Google Business Profile, and listing hours you do not keep.

Google spells this out in its general structured data guidelines. A generator will let you type a 4.9 rating and two hundred reviews into a form. If those reviews are not on the page, you have written fiction in code, and Google can take manual action for it.

  1. Invisible markup. Mark up only what the page shows.
  2. Generic type. LocalBusiness is often the default, so many sites never change it. A plumber marked up as Plumber tells Google something. LocalBusiness tells it almost nothing new.
  3. NAP drift. You update the phone on the site and the profile, but an old widget still shows the old one.
  4. Fake hours. Marking yourself open on Sunday earns one star reviews from people at a locked door.
  5. Duplicate blocks. Plugin plus manual markup for the same entity.
  6. No testing. Silent failures, like a single missing comma.

Most sites with schema problems have more than one of these at once, so check for all six.

For example, a plumbing company uses the default LocalBusiness type on every page because that is what the form opened with. Changing it to Plumber takes ten seconds and tells Google exactly what kind of business the entity is, which lines up with the primary category on its Google Business Profile. Pick the subtype first in the builder, and use the GBP Category Finder if you are unsure which category, and so which subtype, fits.

How do I keep schema NAP consistent with my site and listings?

Write down one master version of your business name, address and phone, copied from your Google Business Profile. Use it in your schema, your footer, your contact page and every listing. Then run a NAP checker across your site and your top listings to catch differences like Suite versus Ste or an old phone number.

NAP drift is slow and quiet. You move offices, update the profile and the footer, and forget the schema on six location pages. Now Google sees two addresses for one business.

The NAP Consistency Checker is built for this. Paste your home page and it crawls your site, reading the name, address and phone on each page plus the LocalBusiness schema. It treats Blvd and Boulevard, or Ste and Suite, as the same, so you only see real mismatches. You can also paste text from your Yelp, BBB or Facebook listing and compare it to your true NAP.

Where NAP livesHow to check itFix
Schema on each pageNAP Consistency Checker or Local Schema CheckerRebuild the block in the builder
Footer and contact pageNAP Consistency Checker site scanEdit your theme or page
Google Business ProfileYour master copyEdit inside the profile
Yelp, BBB, FacebookPaste listing text into the NAP checkerClaim and edit each listing
Tip: Fix the Google Business Profile first, then your site, then schema, then listings. That order keeps everything pointing at one true version.

How should service area businesses use areaServed schema?

Use areaServed to list the cities, regions or ZIP codes you serve, instead of inventing a storefront address. Each location page gets its own block with its own areaServed values. Never create a fake address to look local somewhere you have no office.

A plumber serving six suburbs from a home office has one address and a service area. List cities, use AdministrativeArea for regions, or set a radius with GeoCircle. Google wants an honest picture of where you work.

Multi location setups go wrong most often. Four city pages need four blocks, each with that location's own details. Copying headquarters schema onto every page is present in code and wrong in meaning.

A clean setup looks like this. Each location page carries its own LocalBusiness block with its service areas. The home page carries Organization. Service pages carry Service plus FAQPage. Map that out before you build. If you serve many cities, plan the pages first with the Service Area Page Planner and find ZIP codes with the Service Area ZIP Finder.

Can I mark up my own reviews and testimonials?

Not with rating markup. Google's review snippet rules ban self serving reviews, so you cannot put AggregateRating or Review schema on testimonials you collected and posted about your own business. Only eligible, visible reviews qualify. Marking up your own testimonials is a fast way to lose rich result eligibility.

This is a common temptation. A site has testimonial sections, and wrapping them in AggregateRating looks easy. Read the guideline first. It is explicit, and the right move is to leave those testimonials unmarked.

Watch out: Example: a new service business has a testimonials slider with five quotes and wraps them in AggregateRating to chase gold stars in search. Even if the stars appear for a while, a manual review can remove rich result eligibility for the whole site. The better path is to leave the quotes as plain text, send customers a review link made with the Google Review Link Generator, and let real reviews build on the Google Business Profile.

The same rule applies to trust badges. Do not claim in code what is not true on the page, or on the page what is not true in the world. The honest path is slow: collect real reviews on your Google Business Profile, answer them, and let them work there. The Google Review Link Generator makes asking for them easier.

Is schema markup important, and how do I test it before it goes live?

Paste the code into Google's Rich Results Test to see what Google can show, then into the Schema Markup Validator to check it against the full schema.org vocabulary. After publishing, audit the live page with a local schema checker and watch Search Console's enhancement reports for errors over the next week.

ToolWhat it answersWhen to use it
Rich Results TestWill Google show a feature for this?Before publishing
Schema Markup ValidatorIs this valid schema.org at all?Before publishing
Local Schema CheckerIs my live LocalBusiness block complete, and does its NAP match the page?After publishing
Search Console enhancementsWhat did Google detect after crawling?One week later

The Rich Results Test only covers types Google can show, so a clean pass there does not prove your other markup is valid. The validator catches the rest. Run both.

For local pages, add a third step. The Local Schema Checker reads the LocalBusiness block on any page, flags missing fields and bad hours, checks the NAP against the page text, and hands back fixed JSON-LD. Paste mode runs in your browser, so the code never leaves your device.

A reliable routine: build, test, fix, publish, check the live page, then look at Search Console a week later. A missing comma gets caught at step two.

What is the best free schema markup generator?

There is no single best one, only the best fit. Form builders suit people who want valid JSON-LD without code. WordPress plugins suit people who want it generated automatically. AI assistants suit nested one time schema. Validators and crawlers suit audits. All of the main options have a free way in.

This comparison is based on public features. No controlled test of every tool is claimed here, and you should be wary of anyone who claims one without showing a method. Prices are left out because they change.

ToolBest forHonest take
LocalSEOFlow Schema Markup BuilderLocal businesses and agencies24 types, 130+ subtypes, areaServed fields, honesty tips built in
Merkle TechnicalSEO generatorGeneral SEOLong time community default. Clean output, no testing step
Rank MathWordPress sitesPractical default. Generic output can clash with manual blocks
Yoast SEOWordPress basicsReliable basics, custom types need manual work
Google Rich Results TestPre publish checksThe step you never skip
Schema Markup ValidatorSyntax checksCatches what the Rich Results Test ignores
Screaming Frog SEO SpiderBulk auditsFree up to 500 URLs. Overkill for one page
ChatGPT or ClaudeNested one time schemaFast drafts, can invent properties. Always validate

Skip anything selling "guaranteed rich results." It sells what it does not control.

When is AI or hand coding better than a schema builder?

For one time nested schema, like an Event with performer, organizer, offers and venue linked by @id, an AI assistant is faster than any form. For repeated local business work across many pages or clients, a form builder wins on speed and consistency. Either way, validate before it goes live.

A nested Event block means twenty form fields or one plain sentence to an AI. AI is a good fit there, as long as you validate the result, because AI can make up properties that sound right but do not exist.

Forms win once the work repeats. Ten client sites needing LocalBusiness with hours and service areas? A builder beats prompting ten times and checking ten different outputs. A simple rule: once, prompt. Ten times, use the builder. A hundred times, automate it in the CMS.

Will schema markup help with AI Overviews and voice search?

Less than the marketing says. Google states that no special schema is needed to appear in AI Overviews. Schema helps by giving machines clean facts about your business, which supports understanding and citation, but it does not guarantee a spot. Clear, factual content still matters most.

Many tool pages claim voice assistants read only structured data. That is an oversimplification. Assistants use many signals, and schema is one useful one, because a clean entity description is easier to parse than sales copy.

What helps is what always helped: content that answers the question in plain words, consistent NAP everywhere, and markup that matches the page. The schema and local pages hub groups the tools for that work.

What should a good schema markup builder include?

A good builder does more than write valid code. It should guide you to the most specific subtype, flag rich results that no longer exist, handle service areas, and remind you to match your Google Business Profile NAP. Valid syntax is the floor. Guidance is what prevents the silent mistakes.

Repetition is the real enemy. The home page needs Organization. Location pages need LocalBusiness with service areas. Service pages need Service plus FAQPage. Keeping all of that straight by hand across many pages is where errors breed.

Look for built in tips. The LocalSEOFlow builder tells you to use the most specific subtype, warns against marking up your own reviews, reminds you to match your Google Business Profile NAP, and says plainly that LocalBusiness schema does not guarantee rich results. Those warnings cover the mistakes that cost the most.

If you prefer Merkle or Rank Math, use them. The tool matters less than the habit: right type, honest content, tested before publishing, NAP checked, and a look at Search Console a week later. For photos on those same local pages, the geotagging photos for local SEO guide covers the image side honestly.

Frequently asked questions

What is a schema markup example?

It is a form tool that turns your business details into valid JSON-LD structured data. You enter the name, address, phone and hours, and it writes a code block to paste into your page. It handles the syntax. Choosing the right type stays your job.

Is there a free schema markup generator?

Yes. The LocalSEOFlow Schema Markup Builder, the Merkle TechnicalSEO generator and the free versions of Rank Math and Yoast all create schema at no cost. Google's Rich Results Test and the Schema Markup Validator are free for testing too.

Is a schema markup builder the same as a JSON-LD generator?

Yes. Both are form tools that output JSON-LD. SEOs tend to say schema generator, developers say JSON-LD generator, and builder is a newer name for the same thing. JSON-LD is the format Google recommends for structured data.

Why is schema important in SEO?

Not directly. Google does not treat schema as a ranking factor. It helps Google understand the page and makes eligible types able to show rich results, which can lift clicks. That is real value, but it is not a ranking boost.

Which schema types still earn rich results?

Product, Review snippets, Recipe, Event, JobPosting, Video, SoftwareApplication, breadcrumbs and merchant listings still earn search features. FAQ rich results now show mainly for government and health sites. Always check Google's search gallery before you build.

Why is my FAQ schema not showing in Google?

Since August 2023, Google shows FAQ rich results mainly for well known government and health sites. Valid markup on other sites will usually show nothing. Keep it only if you want clean question and answer data, not for a snippet.

What is a NAP checker?

A NAP checker compares your business name, address and phone across your website, your schema and your listings. It flags mismatches like an old phone number or a different suite number. The LocalSEOFlow NAP Consistency Checker scans your site and lets you paste listing text to compare.

How do I test schema markup before publishing?

Paste the code into Google's Rich Results Test, then into the Schema Markup Validator. After publishing, check the live page with a local schema checker and look at Search Console's enhancement reports a week later for errors Google found.

How do I add schema markup to WordPress?

Let Rank Math or Yoast generate the basics, then add custom blocks through an Elementor HTML widget or your theme head. Check what the plugin already outputs first, so you never end up with two conflicting blocks for the same business.

Can I mark up my own reviews with schema?

No. Google's review snippet rules ban self serving reviews, so AggregateRating on testimonials you posted about your own business is not eligible. Marking them up can cost you rich result eligibility. Collect real reviews on your Google Business Profile instead.

Do I need different schema on every location page?

Yes. Each location page should carry its own LocalBusiness block with that location's NAP and service area. Copying headquarters schema onto every page confuses Google about which business each page describes and breaks NAP consistency.

What is AI schema markup?

Not as a special ticket. Google says no extra schema is needed for AI Overviews. Schema helps indirectly by giving machines clean facts to read. Clear, factual content that answers the question matters more than any markup.

Free tools for this

Related guides