Schema Markup Generator

How to use 3 steps
  1. Pick a Schema type.
  2. Fill in the fields for that type.
  3. Press Generate JSON-LD, then Copy it into your page.
JSON-LD

Paste the whole block, script tag included, into the <head> of the page it describes. Structured data must match what a visitor actually sees on that page — marking up a review or a price that is not on the page is a policy violation, not a shortcut. Validate the result with Google’s Rich Results Test before relying on it.

How this tool works

Structured data describes a page in a form search engines parse directly, instead of inferring everything from the prose. It does not raise rankings. What it can do is qualify a page for a rich result — a star rating, a price, a breadcrumb trail — which changes how much of your page appears in the results.

The output is JSON-LD, the format Google recommends, for eight types: Article, FAQPage, Product, LocalBusiness, BreadcrumbList, Event, Organization and WebSite. Only the fields you fill are emitted, so a partly completed form produces a valid smaller block rather than one padded with empty properties.

Getting a rich result rather than a warning

  • Describe only what is on the page: marking up a review, a price or a question that a visitor cannot see is a structured data violation and can earn a manual action. The markup has to match the visible content.
  • Fill the required properties: each type has a set that Google treats as mandatory before a rich result is possible. The Rich Results Test names the ones you are missing.
  • Paste it inside a script tag: wrap the block in <script type="application/ld+json">. Head or body both work, and one page may carry several separate blocks.
  • Validate before relying on it: Google's Rich Results Test shows what Google can use; the Schema.org validator shows whether the markup is well formed. They answer different questions and both are worth running.

Structured data describes, it does not decorate

Schema markup is a block of JSON-LD telling search engines what a page's content means — that this string is a price, that one is an author, this number is a rating out of five.

It does not change how the page looks and it is not a ranking factor. What it can do is make the page eligible for a richer search result: star ratings, prices, event dates, FAQ accordions, breadcrumbs. Eligible, not entitled — search engines decide whether to show them, and frequently do not.

The [msm_tool slug="schema-markup-generator"] builds the common types and omits any node that would carry only a @type and no information, because an empty node is worse than no node.

The markup must match the visible page

This is the rule with actual consequences.

Marking up a rating that does not appear on the page, an offer that is not really available, or an author who did not write it is a policy violation. The penalty is a manual action that removes rich results across the whole site, and it is not quick to reverse.

So: no marking up reviews that were not left. No FAQ schema for questions not shown to visitors. No price in the markup that differs from the price on the page. If it is in the structured data, a human should be able to find it on the page.

JSON-LD is the format to use

Three formats exist — JSON-LD, Microdata and RDFa. Google recommends JSON-LD and it is the right choice for practical reasons: it sits in a single script block rather than being woven through the markup, so it can be added, changed or removed without touching the HTML.

It also survives a redesign. Microdata scattered across your templates does not.

Which type

  • Article — blog posts and news. Wants a headline, author, and dates published and modified.
  • Product — wants price, currency and availability. The type most likely to produce a visible rich result, and the one most closely policed.
  • LocalBusiness — address, opening hours, phone. Genuinely useful for anywhere with a physical location.
  • FAQPage — questions and answers that appear on the page. Rich result eligibility for this has been narrowed considerably; it remains useful for machine readability.
  • Organization — name, logo, social profiles. Usually on the home page only.
  • BreadcrumbList — low effort, and it changes how the URL line displays in results.

One type per page, matching what the page actually is. A product page is a Product, not a Product and an Article and an FAQ.

Required and recommended

Each type has required properties and recommended ones. Missing a required property means no rich result at all; missing recommended ones means a less complete one.

Dates are the usual stumbling block: they must be ISO 8601, and datePublished and dateModified should be honest. Backdating or falsely updating a modified date to look fresh is a well-known tactic and a well-known thing to be caught doing.

Validate before shipping

Two checks, and they answer different questions:

  1. The Rich Results Test tells you whether Google will consider the page eligible, and for what.
  2. The Schema Markup Validator tells you whether the markup is valid schema.org, regardless of what any search engine does with it.

Markup can be valid and ineligible. Both checks are worth running.

What to expect

Adding structured data does not guarantee a rich result, does not improve ranking on its own, and may show nothing for months before appearing. Its reliable benefit is that machines can read your page accurately — which matters more each year as search results, assistants and aggregators consume pages rather than display them.

Add it because the description is true and useful, not because it is expected to move a number.

Frequently Asked Questions

Specific to the Schema Markup Generator. Broader questions about this category are answered on the category page.

Not directly. Google has been explicit that it is not a ranking factor. It makes a page eligible for result formats that take up more space and attract more clicks, which is a different and still worthwhile benefit.
In a script tag with the type set to application/ld+json, in either the head or the body. Several blocks on one page are allowed, and separate blocks are usually cleaner than one deeply nested object.
Usually not for the types it covers. Yoast, Rank Math and SEOPress all emit Article, Organization, WebSite and breadcrumb markup already, and a second conflicting block is worse than none. Use this for types your plugin does not handle.
Valid markup makes a page eligible, not guaranteed. Google decides per query whether to show a rich result, some types are restricted by region or by site category, and changes can take weeks to appear after the page is recrawled.
Rarely. Google restricted FAQ rich results in 2023 to well-known government and health sites, so most pages get no visible result from the markup. It remains valid and machine-readable; it is no longer a route to extra space in the listing.

Subscribe to receive notifications about new tools, features, and productivity tips.