🧩 Schema Markup Generator

Last updated: March 17, 2026

Schema Markup Generator

Generate JSON-LD structured data for Article, FAQ, Product, and LocalBusiness — ready to paste into your <head>

Add question-answer pairs. Google shows up to 3 FAQ entries in rich results.

JSON-LD Output

  
Schema generated successfully. Paste this <script> block inside your page's <head> tag. Test with Google's Rich Results Test at search.google.com/test/rich-results.

When Google crawls a webpage, it reads HTML — but HTML alone doesn't tell the search engine what kind of content it's looking at. Is this page selling a product or describing one? Is that a list of questions from a forum or a structured FAQ section? Structured data, specifically JSON-LD schema markup, is the answer to that ambiguity — and understanding it deeply can meaningfully change how your pages appear in search results.

What JSON-LD Actually Is (And Why It Beat the Alternatives)

Before JSON-LD became Google's recommended format in 2015, webmasters had two other ways to embed structured data: Microdata and RDFa. Both required you to annotate your actual HTML elements with extra attributes, weaving schema vocabulary directly into your markup. The problem? Any time your template changed, your structured data could silently break. JSON-LD took a different approach: it lives inside a <script type="application/ld+json"> tag in your page's <head>, completely decoupled from the visual HTML. You can update your layout without touching your schema, and vice versa. That separation of concerns is why even WordPress's Yoast plugin and Shopify's core both generate JSON-LD rather than Microdata today.

The "LD" in JSON-LD stands for Linked Data. The format uses the @context key to point to a vocabulary namespace — almost always https://schema.org — and @type to declare what kind of entity you're describing. Everything else is just properties defined by that schema type.

Article Schema: More Than Just a Headline

The Article schema type is one of the most misunderstood. Many people think adding it automatically gets you the "Top Stories" carousel treatment. It doesn't — that requires AMP compliance or Web Stories for some features, plus Google News inclusion. What Article schema does guarantee is that Google can correctly parse your author, publication date, and publisher, which feeds into E-E-A-T signals (Experience, Expertise, Authoritativeness, Trustworthiness).

The datePublished and dateModified fields deserve special attention. Google uses these to surface freshness in search results, and discrepancies between what's in your schema and what's visible on the page can trigger manual actions or at minimum suppress rich result eligibility. Always use ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDThh:mm:ssZ) and make sure the date in your schema matches what a user actually sees on the page.

FAQ Schema and the Click-Through Rate Math

FAQ schema is arguably the highest-ROI structured data type for content marketers right now. When Google decides to show an FAQ rich result, it can expand to show two or three question-answer pairs directly in the SERP, sometimes pushing competitor results completely below the fold on mobile. Studies from various SEO agencies have shown CTR improvements of 20–30% on pages that earn FAQ rich results — but the mechanism is counterintuitive. You're trading some clicks (users who get the answer in the SERP and don't visit) for a much larger share of the remaining clicks, plus a massive increase in SERP real estate.

One nuance: Google says FAQ schema is appropriate when your page contains a list of questions and answers and the content is "generated by the site itself." User-generated Q&A forums should use QAPage schema instead. Misusing the type risks losing rich result eligibility entirely. Also, Google quietly started being more selective about showing FAQ rich results in late 2023 — they now tend to appear primarily for authoritative, established domains rather than being universally available.

Product Schema: The Fields That Actually Drive Rich Results

Product schema is where the stakes are highest for e-commerce. Google's Shopping tab, product knowledge panels, and inline price/availability annotations in organic results all depend on it. But not all Product schema fields carry equal weight.

The offers property is the gatekeeper. Without a valid Offer object containing a price, priceCurrency, and availability, your product page won't qualify for price-annotated rich results at all. The availability field must use schema.org URLs — values like https://schema.org/InStock rather than just the string "InStock." This trips up a surprising number of manually written schemas.

The aggregateRating subtype requires both a ratingValue and either a reviewCount or ratingCount. Google also validates that there are actual reviews on the page matching the count you claim — injecting a fake aggregateRating with no corresponding review content is a policy violation that can result in manual penalties. The rating should reflect real user input, not a number you chose because it looks good.

LocalBusiness Schema: The Local SEO Multiplier

For businesses with physical locations, LocalBusiness schema (and its subtypes like Restaurant, MedicalBusiness, Store) feeds directly into the Knowledge Panel that appears in branded searches. It supplements — but does not replace — your Google Business Profile. Both matter, but they serve different systems: GBP feeds Google Maps and Local Pack, while schema markup helps the Knowledge Graph parser understand your entity.

The openingHours field uses a specific shorthand format: two-letter day abbreviations (Mo, Tu, We, Th, Fr, Sa, Su) followed by a space and a 24-hour time range. A business open Monday through Friday 9am to 6pm writes it as "Mo-Fr 09:00-18:00". Multiple entries for different schedules go into an array. Getting this wrong won't break the schema, but Google may ignore the property entirely if the format doesn't match the spec.

Choosing the right subtype matters more than most guides admit. Declaring your type as Restaurant rather than generic LocalBusiness unlocks restaurant-specific properties like servesCuisine, hasMenu, and acceptsReservations. Each of these can surface in local rich results in ways that generic LocalBusiness properties cannot.

Validation, Testing, and Common Failure Modes

Google's Rich Results Test at search.google.com/test/rich-results is the primary tool for validation. It not only checks JSON syntax but verifies that required properties for each rich result type are present. Schema.org's own validator at validator.schema.org is more thorough at the vocabulary level but doesn't know which fields Google specifically requires — use both.

Common failure modes worth knowing: first, escaping issues. If your JSON-LD contains user-submitted content (like a product description or FAQ answer that a customer wrote), apostrophes, quotation marks, and backslashes need to be properly escaped. A single unescaped double-quote inside a JSON string value will silently invalidate the entire schema block. Second, nested entity references. If you reference an author by URL ("author": {"@type": "Person", "url": "https://..."}) instead of just name, ensure that URL itself has schema markup identifying it as a Person — otherwise you're making a reference Google can't resolve. Third, date formatting. 2024-1-5 is not valid ISO 8601; it must be 2024-01-05 with zero-padded month and day.

Finally, remember that schema markup influences rich results eligibility but doesn't guarantee them. Google treats structured data as a signal, not a directive. Implement it correctly, keep it honest about the page's actual content, and let the ranking algorithms do the rest.

FAQ

Does adding schema markup directly improve my Google rankings?
Not directly. Schema markup doesn't carry ranking weight in Google's core algorithm. What it does is make your content eligible for rich results — star ratings, FAQ dropdowns, price annotations — which can significantly improve click-through rate and SERP real estate, indirectly benefiting traffic even at the same ranking position.
Where exactly should I paste the JSON-LD script tag?
Google supports JSON-LD in both the <head> and <body> of a page, but best practice is to place it inside the <head> element before the closing </head> tag. This ensures Googlebot processes the structured data early when crawling the page, and it keeps your schema separated from your content markup.
Can I have multiple schema types on the same page?
Yes. You can include multiple separate <script type="application/ld+json"> blocks on a single page, each describing a different entity. For example, an article page can have both Article schema and FAQPage schema simultaneously. You can also combine them into a single block using a JSON-LD @graph array, which is cleaner and allows Google to understand the relationships between entities.
Will fake or inaccurate schema markup get my site penalized?
Yes. Google's structured data policies explicitly prohibit markup that misrepresents page content — for example, showing a 4.9 star aggregateRating with no actual reviews on the page, or using FAQ schema when the page has no question-answer content. Violations can result in losing rich result eligibility for specific features, and in serious cases may trigger broader manual actions.
What's the difference between schema.org types like Article, NewsArticle, and BlogPosting?
These are a hierarchy: BlogPosting and NewsArticle are both subtypes of Article, which itself is a subtype of CreativeWork. BlogPosting is for informal blog content, NewsArticle is for journalistic/news content (required for some Google News features), and Article is the safe generic choice when you're unsure. Using a more specific subtype can unlock additional properties relevant to that content type.
How often should I update my schema markup?
Update it whenever the underlying page content changes in ways the schema reflects. For Product schema, price and availability changes should be reflected immediately — stale pricing in schema can lead to Google suppressing your price rich results. For Article schema, update dateModified whenever you make substantive content edits. FAQ and LocalBusiness schemas should be audited quarterly to ensure accuracy.
Disclaimer: This article is for general informational and educational purposes only and does not constitute professional, financial, medical, or legal advice. Results from any tool are estimates based on the inputs provided. Always verify important details and consult a qualified professional before making decisions.