Free tool

Schema markup generator

Schema markup is code that tells search engines what a page describes: a business, an article, a list of questions. This generator writes it as JSON-LD, the format Google recommends, for a local business, an organization, an article or blog post, an FAQ page and a breadcrumb trail. Fill in the form, copy the code and paste it into your page.

As you type, it checks the markup against the properties Google's documentation lists as required or recommended for each type. Everything runs in your browser: nothing you type is sent anywhere or saved, and there's no sign-up.

What do you want to mark up?
The business

Pick the closest one. Google asks for the most specific type that fits.

The page for this location, or your homepage.

Start with + and the country code.

Address(required)
Map coordinates

In Google Maps on a computer, right-click your location: the latitude and longitude are at the top of the menu, and clicking them copies them.

Opening hours

One row per set of days with the same hours. Closed at lunch? Add a second row for the same days.

Written as 00:00 to 00:00, as Google asks.

More details

Under 100 characters.

One place per line, for businesses that go to their customers.

Full addresses, one per line: social pages, directories, your Google Business Profile link.

Your local business markup

Nothing required or recommended is missing.

Nothing required or recommended is missing.

Paste this into your page's HTML, in the head or the body.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Plumber",
  "name": "Example Plumbing Co.",
  "url": "https://www.example.com/",
  "telephone": "+1-217-555-0123",
  "email": "hello@example.com",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "100 Main Street",
    "addressLocality": "Springfield",
    "addressRegion": "IL",
    "postalCode": "62701",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 39.79964,
    "longitude": -89.64401
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "08:00",
      "closes": "17:30"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Saturday",
      "opens": "09:00",
      "closes": "13:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Sunday",
      "opens": "00:00",
      "closes": "00:00"
    }
  ],
  "priceRange": "$$"
}
</script>

Checked against Google's documentation

Good to know (1)

  • Use one block per location, on that location's page or your homepage, with the same name, address and phone your page shows.

Source: Local Business (LocalBusiness) structured data, Google Search Central.

Test it before it goes live

The starting values describe a made-up business on example.com: replace them with your own, or choose Clear this form. Requirements are from Google's documentation as read on October 19, 2026.

What structured data does, and what it doesn't

Structured data labels the facts on a page in a shared vocabulary, schema.org, so a search engine doesn't have to guess which line is your phone number and which is your opening hours. Google uses it to understand a page and, for some types, to show a richer result. What each type can do in Google Search, according to its documentation:

  • Local business: details about the business, such as its hours, in the knowledge panel that can appear when people search for it on Google Search or Maps.
  • Organization: helps Google understand your organization's details and tell it apart from others, and can influence which logo Google shows in results and your knowledge panel.
  • Article or blog post: can help Google show better title text, images and date information for the article.
  • Breadcrumbs: the trail of pages above this one, shown in desktop results.
  • FAQ page: nothing visible any more. Google stopped showing FAQ rich results on May 7, 2026 (more below).

What it doesn't do:

  • It doesn't guarantee anything. Google says it does not guarantee your structured data will show up in search results, even when the markup is correct.
  • It can't describe what isn't on the page. Google's guidelines say not to mark up content readers can't see, and a page whose markup breaks them can get a manual action, which, Google says, takes away its eligibility for rich results but doesn't affect how it ranks.
  • It doesn't change your Google Business Profile. Your listing on Google Maps is managed in Business Profile itself; markup on your site is a separate thing.

Which type fits your business

Your business or pageType to useWhere it goes
A business customers visit, or that goes to them: a plumber, dentist, restaurant, salon or shopLocal business, the most specific type that fits (Plumber, Dentist, Restaurant...)Your homepage, or each location's own page
An online business, a software company or a publisherOrganizationYour homepage or about page; not needed on every page
A blog post or articleBlog post (BlogPosting), Article or News articleEach article
A page with a list of questions and answers readers can seeFAQ page (no Google rich result since May 2026)That page
A page below the top level of your siteBreadcrumbsEvery page with a trail above it

Google asks local businesses to use the most specific LocalBusiness type they can and, because a local business is a kind of organization, to follow the Organization fields too. A business that does several kinds of work can list more than one type: Google's example is "@type": ["Electrician", "Plumber", "Locksmith"]. The generator writes one type; add the others to the code by hand if you need them. Each location of a business gets its own block.

Not sure whether you count as local? Shops, trades, clinics, restaurants and hotels usually do. A business that only sells online or only works with customers remotely is better described as an Organization.

FAQ markup now that Google stopped showing FAQ results

FAQ rich results were the expandable questions that used to appear under a page in Google. In August 2023 Google limited them to well-known, authoritative government and health websites. In a changelog entry dated May 8, 2026, it said the feature would no longer appear in Google Search starting May 7, 2026, and on June 15, 2026 it removed the documentation because FAQ rich results are no longer shown.

So should you still add FAQPage markup? It is still a valid schema.org type, and the Schema Markup Validator checks it. When Google limited FAQ results in 2023, it said structured data that isn't used "does not cause problems for Search, but also has no visible effects in Google Search." Keep it where it matches questions readers can see on the page, and don't expect it to change how your page looks in Google.

How to add the code on Shopify, WordPress and other sites

Google reads JSON-LD in a script tag in a page's head or body, and also when JavaScript adds it to the page. Copy the "Script tag" version from the generator unless a plugin or app asks for the JSON only. A page can carry more than one block, for example Article and Breadcrumbs on a blog post.

Shopify

  • Many themes already add structured data for products and blog articles through Shopify's structured_data filter, so test a page in the Rich Results Test before you add a second copy.
  • For your business details (Local business or Organization), the simplest route is a Custom Liquid section on your homepage in the theme editor, if your theme has one: add the section and paste the script tag into it. Your theme's documentation says whether it does. A structured data app from the Shopify App Store is another way.
  • Otherwise, edit the theme code. Shopify advises editing code only when an app or the theme editor can't make the change, and duplicating the theme first as a backup. Then, from Online Store in your Shopify admin, open the theme's menu, choose Edit code and paste the script tag into layout/theme.liquid just before </head>. Code there appears on every page.

WordPress

  • SEO plugins add markup of their own. Yoast SEO, for example, describes posts as Article, your site as an organization or a person, and adds breadcrumb markup. Check what a page already carries before you add another block of the same type.
  • To add a block yourself, paste the script tag into a Custom HTML block in the block editor, or use a plugin that adds code to your site's head.
  • WordPress keeps script tags only for users allowed to post unfiltered HTML: administrators and editors on a single site, and only super admins on a multisite network.

Other sites and website builders

  • On a site you build yourself, paste the script tag into the page's HTML template, in the head or the body.
  • Website builders have their own settings for adding code to a page: look for "custom code" or "code injection" in your builder's help pages.
  • Put business markup on the page that shows those details, and article markup on each article, not one block for the whole site.

How to test it

  • Google's Rich Results Test is Google's own tool: paste the code or a live address and it shows which Google rich results the markup can get, with its errors and warnings.
  • The Schema Markup Validator checks any schema.org markup, without Google's feature rules. Use it for types Google has no rich result for, such as FAQ pages now.
  • Once Google has indexed the page, Search Console's rich result reports show valid and invalid items across your site. See how to connect Search Console.

What the generator checks, and what it doesn't

It checks, for the type you choose:

  • The properties Google's documentation lists as required: a local business's name and address, and two or more breadcrumbs each with a name and (except the last) an address. Google lists none as required for organizations and articles. For FAQ pages, which Google no longer documents, it checks schema.org's structure: every question with its answer.
  • The properties it lists as recommended, such as a business's phone, opening hours, map coordinates and price range, an organization's logo and profiles, and an article's images, dates and author.
  • Values it can test in your browser: full web addresses, a phone number with its country code, a two-letter country code, at least 5 decimal places in coordinates, opening times, dates with a time zone, a price range under 100 characters.

It doesn't:

  • Open your links or images, so it can't tell whether an image exists or is big enough.
  • Compare the markup with your page. Make sure every detail matches what readers see.
  • Decide whether Google shows a rich result. Only Google does, and it doesn't guarantee one.
  • Build markup for products, events, recipes or other types. Google's documentation covers those.

Whatever you type is escaped in the code, so a stray "<" can't break the page you paste it into.

How BlogAmplify handles structured data

BlogAmplify plans, writes and publishes articles for your blog, and the markup comes with them:

  • Every article it writes is built with BlogPosting markup: headline, description, header image, dates, author (a person or your organization), publisher, keywords, word count and language. Articles that end with a questions section also get FAQPage markup, and articles with an embedded video get VideoObject.
  • On Shopify, where many themes add article markup themselves, and on WordPress sites where it finds Yoast SEO, Rank Math, All in One SEO or SEOPress, BlogAmplify leaves the article markup to the theme or plugin and adds only the FAQ and video markup, so a page never gets a second article block. Webhook sites receive all of it with each article. Notion pages can't carry it.
  • Site Health flags blog posts without article markup. Where local search applies to your business, it also flags a site with no LocalBusiness markup on its homepage, contact or area pages, markup missing its name, address or phone, and a phone in the markup that differs from the page's call link.
  • Local search gives you LocalBusiness code to paste, built from the business details on your own pages and your Google Business Profile listing.

Frequently asked questions

Does schema markup help SEO?

It helps search engines read a page: which text is your business name, your address, an article's author and date. For some types it makes a page eligible for a richer Google result. Google doesn't promise a rich result or a higher ranking for adding it, and says correct markup still may not show.

Does Google still show FAQ rich results?

No. Google's changelog says the FAQ rich result no longer appears in Google Search from May 7, 2026, and its documentation was removed on June 15, 2026. Since August 2023 they had been shown only for well-known government and health websites. FAQPage is still valid schema.org markup and does no harm when it matches the page.

Which schema type should a local business use?

The most specific LocalBusiness type that fits, such as Plumber, Dentist or Restaurant, as Google asks. Give the name and the full address, which Google requires, plus the phone, opening hours, map coordinates and website address. Use one block per location, with the same details the page shows.

Where do I paste the JSON-LD code?

Into the page's HTML, in the head or the body: Google reads both, and also reads JSON-LD that JavaScript adds. On Shopify use a Custom Liquid section or theme.liquid, on WordPress a Custom HTML block or a plugin, and on other sites your website builder's custom code setting.

Should a blog post use Article or BlogPosting?

Either works. Google supports Article, NewsArticle and BlogPosting for articles and recommends the same properties for all three: the headline, images, the author with a name and a link, and the published and modified dates. BlogPosting is the more specific schema.org type for a blog post.

Does the generator save or send what I type?

No. The code is built in your browser as you type, and nothing is sent to BlogAmplify or anyone else. Nothing is saved either, so copy your code before you close or reload the page.

Sources

  1. Local Business (LocalBusiness) structured data, Google Search Central. Last updated September 8, 2026. Checked October 19, 2026.
  2. Organization schema markup, Google Search Central. Last updated September 8, 2026. Checked October 19, 2026.
  3. Article schema markup, Google Search Central. Last updated September 8, 2026. Checked October 19, 2026.
  4. Breadcrumb (BreadcrumbList) markup, Google Search Central. Last updated September 8, 2026. Checked October 19, 2026.
  5. Latest Google Search documentation updates: deprecating the FAQ rich result feature (May 8, 2026), Google Search Central. Checked October 19, 2026.
  6. Latest Google Search documentation updates: removing documentation for the FAQ rich result feature (June 15, 2026), Google Search Central. Checked October 19, 2026.
  7. Changes to HowTo and FAQ rich results, Google Search Central. Published August 8, 2023. Checked October 19, 2026.
  8. FAQPage, Schema.org. Checked October 19, 2026.
  9. General structured data guidelines, Google Search Central. Last updated July 10, 2026. Checked October 19, 2026.
  10. Intro to how structured data markup works, Google Search Central. Last updated December 10, 2025. Checked October 19, 2026.
  11. Test your structured data, Google Search Central. Checked October 19, 2026.
  12. structured_data (Liquid filter), Shopify. Checked October 19, 2026.
  13. Editing theme code, Shopify Help Center. Checked October 19, 2026.
  14. Roles and Capabilities, WordPress.org. Last updated September 2, 2026. Checked October 19, 2026.
  15. Schema SEO with Yoast SEO: implementation guide, Yoast. Checked October 19, 2026.
  16. Search by latitude & longitude in Google Maps, Google Maps Help. Checked October 19, 2026.

More free tools

  • SERP snippet preview

    Check a page title and meta description for length and pixel width, and see how they could look as a Google result.

  • Robots.txt tester

    Test whether a robots.txt file lets a user agent crawl a URL, and see which rule decides.

  • AI crawler checker

    See which AI crawlers a robots.txt file allows or blocks, grouped by what each one is for, and which rule decides.

  • Blog title checker

    Check a blog title's length, format and keyword placement, and get a URL slug for it.

See all free SEO tools

Get articles with their markup already in place

BlogAmplify publishes a researched article to your blog every day. Articles with a questions section carry FAQPage markup on Shopify, WordPress and webhook sites. BlogPosting markup comes from BlogAmplify on webhook sites and on WordPress sites without an SEO plugin, and from your theme or SEO plugin otherwise. Site Health flags the blog posts on your site that have no article markup, and where local search applies, BlogAmplify gives you your LocalBusiness code to paste. See what it automates.

Growth: Card required. Free for 3 days, then $99/mo. Cancel before then and pay nothing.