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.
<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.
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.
<script> tag and paste it into your page, then confirm with the Rich Results Test.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.
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.
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.
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.
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.
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.
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.
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.