Kamaankamaan
Free tool · No login

Blog post schema generator

Turn your post details into valid BlogPosting, Article, FAQ, or HowTo JSON-LD. Fill in the fields, watch the validity check, and copy a ready-to-paste script tag. Everything runs in your browser.

Schema type
Valid: no blocking errors
JSON-LD (paste into your <head>)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "How we auto-translate a blog into 99 languages",
  "description": "A walkthrough of publishing once and shipping every locale with correct hreflang.",
  "image": "https://example.com/blog/cover.jpg",
  "datePublished": "2026-01-15",
  "dateModified": "2026-01-15",
  "inLanguage": "en",
  "author": {
    "@type": "Person",
    "name": "Jordan Lee"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Kamaan",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://example.com/blog/auto-translate"
  }
}
</script>

Drop this script tag anywhere in your page HTML, ideally in the <head>. Google reads it wherever it appears. Validate against the Rich Results Test before you rely on it.

Do this automatically
Kamaan emits correct Article and FAQ JSON-LD for every language of every post, automatically, the moment you publish.
Start free trial30 days free on all plans. No credit card. Publish once, ship every language.
The basics

What blog schema is and why it earns rich results

Schema, or structured data, is a small block of JSON-LD that describes your page in a vocabulary search engines understand. On a blog post it declares the headline, author, publish date, featured image, and publisher. Google reads that block to decide whether your listing can qualify for enhanced display: a byline, a date, a thumbnail, or an expandable FAQ under the result.

Without it, a crawler has to guess those facts from your HTML, and it often guesses wrong or not at all. With clean BlogPosting or Article JSON-LD, you hand the search engine an unambiguous summary. Add FAQPage for question-and-answer sections and HowTo for step-by-step guides, and you cover the schema types that matter most for content sites.

How to use it

Generate blog schema in three steps

  1. Pick the schema type. BlogPosting or Article for a normal post, FAQ for a Q&A section, HowTo for a tutorial.
  2. Fill in the fields. Headline, author, dates, image, and canonical URL. The validity check tells you if a required field like headline is missing before you ship.
  3. Copy the JSON-LD. Grab the full <script> tag and paste it into your page, then confirm with the Rich Results Test.
Common mistakes

The schema errors that quietly kill your rich results

  • Missing headline. BlogPosting and Article both require it. No headline, no eligibility.
  • Schema that does not match the page. An author or date in your JSON-LD that a reader cannot see on the page is a spam signal.
  • No image. Article rich results rarely appear without a valid, crawlable image URL.
  • Relative image or URL paths. Structured data should use absolute https URLs so the crawler can fetch them.
  • Forgetting per-language schema. Each translated post needs its own JSON-LD with a localized headline and an inLanguage value.
For headless + multilingual blogs

Structured data across dozens of posts and languages is the real problem

Generating one JSON-LD block is trivial, this tool does it in seconds. The pain shows up at scale: every post needs correct schema, every translation needs its own localized version, and every re-slug or date change has to be reflected in the markup. On a multi-product, multi-language content operation that is hundreds of little JSON-LD blocks to keep honest.

Kamaan handles that for you. You publish a post once, and Kamaan emits valid Article and FAQ structured data for the English version and for every language it auto-translates into, with the headline, description, and language tag localized per post. The tool above shows you what correct output looks like. Kamaan makes correct output the default, across every product blog you run.

FAQ

Frequently asked questions

What is a blog schema generator?

It is a tool that turns your post details (title, author, date, image) into JSON-LD structured data. Structured data is a machine-readable summary of your page that search engines read to show rich results, like the author, date, star ratings, or an expandable FAQ, directly in the search listing. This generator outputs valid BlogPosting, Article, FAQPage, and HowTo schema you paste into your page.

Which schema type should I use for a blog post?

Use BlogPosting for a standard blog article. Use Article for news or editorial content on a news-style site. Both are near-identical in practice and both are eligible for the same article rich results. If your post is a step-by-step tutorial, add HowTo. If it answers a set of common questions, add FAQPage. You can put more than one schema block on the same page.

Does FAQ schema still get rich results?

FAQ rich results are now shown mainly for recognized authoritative health and government sites, so most blogs no longer get the expandable FAQ display in Google. That said, FAQPage schema is still valid, still helps other engines and AI answer systems understand your content, and remains one of the most requested schema types. This tool emits spec-correct FAQPage JSON-LD so your markup is ready if eligibility widens again.

Where do I put the JSON-LD script tag?

Anywhere in the page HTML. The head is the conventional place, but Google reads JSON-LD in the body too. In a headless React, Next.js, or Astro app you typically render it from your page component or a metadata function so it stays in sync with the post data. Just make sure the values in the script match what a visitor actually sees on the page.

Do the dates and author in my schema have to match the visible page?

Yes. Structured data must reflect the content that is actually on the page. If your JSON-LD claims a published date, an author, or an image, that same information should be visible to a human reading the post. Mismatched or invented structured data is a spam signal and can get your rich results suppressed or trigger a manual action.

How do I validate the schema before I trust it?

Paste your final page URL or the JSON-LD into Google Rich Results Test and the Schema.org validator. They will flag missing required fields (like headline) and warn about recommended ones (like image or author). This tool gives you a fast pre-check for the most common gaps, but the official validators are the source of truth for eligibility.

Do I need schema on every translated version of a post?

Yes. Each language version is its own URL and should carry its own JSON-LD with its own localized headline and description, plus an inLanguage value. This is exactly the kind of per-language, per-post work that becomes unmanageable by hand across dozens of posts, which is why Kamaan generates correct structured data for every translation automatically at publish time.

More free tools