Free schema markup generator
Pick a schema type, fill in the form and copy a ready <script type="application/ld+json"> block. As you type, the generator checks the properties Google requires or recommends for that type, leaves out anything empty, and escapes text so a stray < cannot break the page.
Address
Map position
LocalBusiness JSON-LD ready.
- All required and recommended properties covered here are filled in.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Bakery",
"name": "Crumb & Co Bakery",
"url": "https://example.com/portland/",
"image": "https://example.com/storefront.jpg",
"telephone": "+1-503-555-0134",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "1234 SE Division St",
"addressLocality": "Portland",
"addressRegion": "OR",
"postalCode": "97202",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 45.50487,
"longitude": -122.64571
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"opens": "07:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Saturday",
"Sunday"
],
"opens": "08:00",
"closes": "15:00"
}
]
}
</script>- Paste the block into the page’s HTML, then test the live URL with Google’s Rich Results Test. Everything you mark up must also be visible on the page. To check markup you already have, use the JSON-LD validator.
Which type to use
| Type | Put it on | What Google does with it |
|---|---|---|
| Organization | Homepage or about page | Logo and details for knowledge panels |
| LocalBusiness | Each location's page | Business details such as hours; your Business Profile stays the main source for Maps |
| Article or BlogPosting | Posts and news | Reads the headline, image, dates and author; no separate rich result |
| Product | Product pages | Price, availability and ratings in product snippets and merchant listings |
| BreadcrumbList | Any page below the homepage | A readable path instead of the URL in desktop results |
| Person | Author and profile pages | Identifies who wrote what; no rich result of its own |
| WebSite | Homepage only | The site name shown above your results |
FAQ and HowTo are left out on purpose. Google retired HowTo rich results in 2023 and FAQ rich results on 7 May 2026, so the markup no longer changes how a page looks in search. The FAQ schema generator is still available if you want FAQPage markup for other reasons.
Rules that keep markup eligible
- Mark up only what is on the page. Prices, ratings, hours and names must match what a visitor can see.
- Ratings must come from real reviews shown on the page. Google does not show review stars for a LocalBusiness or Organization that marks up reviews about itself, which is why the rating fields here appear only for Product, and are only output when both the average and the count are filled in.
- Write prices as plain numbers (
49.00) with a three-letter currency code (USD), never$49. - One entity, one block. If your theme or SEO plugin already prints Organization or Product markup, edit that instead of adding a second, competing block.
- Use absolute URLs for every link and image.
Adding it to a WordPress site
A Custom HTML block works for a single page. For markup that should appear on every post or product, generate it from your content instead, so it stays correct when the content changes. The free Hydrogen SEO plugin prints Organization, Article, Breadcrumbs, Local Business and Product schema from your site's data, with per-post overrides; the schema setup guide walks through both routes.
Whichever you choose, check the result with the JSON-LD validator and Google's Rich Results Test on the published URL.
Common questions
Does schema markup improve rankings?
Not directly. It helps search engines understand the page and can make it eligible for rich results, which can raise click-through rate. Rankings still depend on the content itself.
Can a page carry more than one type?
Yes. An article page commonly has Article and BreadcrumbList, and a location page LocalBusiness and BreadcrumbList. Use separate script blocks, or one block with an @graph array.
Why is there no rating field for local businesses?
Google does not display review stars for businesses that mark up reviews of themselves on their own site. Collect reviews on your Google Business Profile instead, where they show in Maps and the local pack.
Where does WebSite markup go?
On the homepage only, with the homepage URL. Google reads the site name from there and applies it to the whole domain or subdomain.