{"id":158,"date":"2026-10-24T11:51:15","date_gmt":"2026-10-24T09:51:15","guid":{"rendered":"https:\/\/www.imwaa.com\/blog\/?p=158"},"modified":"2026-10-26T09:28:59","modified_gmt":"2026-10-26T08:28:59","slug":"json-ld-seo-on-wordpress","status":"publish","type":"post","link":"https:\/\/www.imwaa.com\/blog\/json-ld-seo-on-wordpress\/","title":{"rendered":"Json-LD seo on WordPress Article"},"content":{"rendered":"<style>\/* FIX LAYOUT SEO SEMANTIC *\/.entry-content:has(.seo-semantic-hero){padding:0!important;margin:0!important;max-width:100%!important;width:100%!important}article:has(.seo-semantic-hero)>h1,article:has(.seo-semantic-hero) .entry-title,article:has(.seo-semantic-hero) .post-title,main:has(.seo-semantic-hero)>h1{display:none!important;margin:0!important;padding:0!important;height:0!important;line-height:0!important;overflow:hidden!important}main:has(.seo-semantic-hero){padding-top:0!important}.seo-semantic-hero{width:100vw!important;max-width:100vw!important;position:relative;left:50%;margin-left:-50vw!important;background-color:#020617!important;box-sizing:border-box}.seo-semantic-hero .section-hero{width:100%!important;max-width:100%!important;padding:60px 20px!important;min-height:auto!important;display:flex;align-items:center;box-sizing:border-box;background-color:#020617!important}.seo-semantic-hero .hero-content{width:100%;max-width:900px;margin:0 auto;padding:0 15px;text-align:center;box-sizing:border-box}.seo-semantic-hero .section-hero h1{margin-top:0!important;margin-bottom:20px!important;font-size:2.5rem!important;line-height:1.2!important}.seo-semantic-hero~section{width:100vw!important;max-width:100vw!important;position:relative;left:50%;margin-left:-50vw!important;box-sizing:border-box}.seo-semantic-hero~section .container{width:100%!important;max-width:100%!important;padding-left:15px!important;padding-right:15px!important;margin:0 auto!important;box-sizing:border-box}@media(max-width:768px){.seo-semantic-hero~section .container{padding-left:15px!important;padding-right:15px!important}.seo-semantic-hero~section .card{padding:22px!important;margin:0!important}.seo-semantic-hero~section .card h3{font-size:1.2rem!important;margin-bottom:10px!important}.seo-semantic-hero~section .card p{font-size:0.95rem!important;line-height:1.5!important}.seo-semantic-hero~section.section{padding:40px 0!important}.seo-semantic-hero .section-hero{padding:50px 15px!important}.seo-semantic-hero .section-hero h1{font-size:1.8rem!important;margin-bottom:15px!important}.seo-semantic-hero .section-hero p{font-size:1rem!important}.seo-semantic-hero~section .terminal-box{padding:12px!important;font-size:0.8rem!important}}@media(min-width:992px){.seo-semantic-hero .section-hero{padding-top:80px!important;padding-bottom:60px!important}}<\/style>\n<div class=\"seo-semantic-hero\">\n<section class=\"section-hero\" aria-labelledby=\"hero-articolo-title\">\n<div class=\"hero-bg\"><\/div>\n<div class=\"hero-content\">\n      <span class=\"badge text-primary\">SEO Semantic Plugin \u00b7 Article Guide<\/span><\/p>\n<h1 id=\"hero-articolo-title\">How to add JSON-LD SEO to a WordPress post<\/h1>\n<p style=\"font-size: 1.1rem; max-width: 800px; margin: 0 auto 20px auto;\">\n        You are reading the guide for configuring the <strong>content<\/strong> (the post). Unlike the <a href=\"https:\/\/www.imwaa.com\/blog\/json-ld-seo-su-pagina-wordpress\/\" title=\"JSON-LD SEO guide for a WordPress page: container, CollectionPage and siloing\" style=\"color: var(--primary); text-decoration: underline;\">WordPress page<\/a>, where you define whether the URL is a Service or a CollectionPage, here the plugin already knows you are writing an <code>Article<\/code> and prepares everything automatically.\n      <\/p>\n<p style=\"margin-bottom: 30px; color: var(--text-sub);\">\n        The result? Correct markup, ontologically coherent, that saves Crawl Budget and lets Google and AI bots (such as ChatGPT or Gemini) understand exactly what you are talking about.\n      <\/p>\n<p>      <a href=\"#cosa-fa-il-plugin\" class=\"btn btn-primary\" title=\"Discover what the SEO Semantic plugin does for a post\">What the plugin does for you<\/a>\n    <\/div>\n<\/section>\n<\/div>\n<section id=\"cosa-fa-il-plugin\" class=\"section\" aria-labelledby=\"title-cosa-fa\">\n<div class=\"container\">\n<div class=\"centered-header\">\n<h2 id=\"title-cosa-fa\">What the SEO Semantic plugin does on a post<\/h2>\n<p>Forget plugins that inject code at random. SEO Semantic builds a graph and prevents errors at the root through an interface that adapts to the content type.<\/p>\n<\/p><\/div>\n<div class=\"grid-3\">\n<div class=\"card\">\n<div class=\"card-icon\" aria-hidden=\"true\">\ud83c\udff7\ufe0f<\/div>\n<h3><code>#article<\/code> entity preconfigured<\/h3>\n<p>When you open a post, the plugin knows it is an <code>Article<\/code>. It automatically extracts the author, the publication date and the body text, linking them to the web page (<code>WebPage<\/code>).<\/p>\n<\/p><\/div>\n<div class=\"card\">\n<div class=\"card-icon\" aria-hidden=\"true\">\ud83d\udd12<\/div>\n<h3>Reviews disabled<\/h3>\n<p>Google accepts reviews (<code>Review<\/code>) only on specific types such as Product or LocalBusiness. On a post, the review box does not appear at all. This prevents fatal errors reported by the official validator.<\/p>\n<\/p><\/div>\n<div class=\"card\">\n<div class=\"card-icon\" aria-hidden=\"true\">\ud83d\udee1\ufe0f<\/div>\n<h3>Prevention of wrong types<\/h3>\n<p>You cannot declare that a post is a Product or a Service. The option does not exist, so the error is impossible. The plugin protects you from &#8220;Ontological Chimeras&#8221;.<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section>\n<section class=\"section section-alt\" aria-labelledby=\"title-immagini\">\n<div class=\"container\">\n<div class=\"centered-header\">\n<h2 id=\"title-immagini\">The plugin panel in action<\/h2>\n<p>This is what the interface looks like when you work on a post.<\/p>\n<\/p><\/div>\n<div class=\"grid-2\">\n<div class=\"card\" style=\"padding: 15px;\">\n        <img decoding=\"async\" src=\"https:\/\/www.imwaa.com\/blog\/wp-content\/uploads\/2026\/10\/pannello-semantic-demo.jpg\" alt=\"SEO Semantic plugin panel on a WordPress post\" title=\"SEO Semantic plugin interface for a post\" style=\"border-radius: var(--radius-sm); width: 100%; display: block;\"><\/p>\n<p class=\"text-center\" style=\"margin: 10px 0 0 0; font-size: 0.9rem; color: var(--text-sub);\">The basic post configuration<\/p>\n<\/p><\/div>\n<div class=\"card\" style=\"padding: 15px;\">\n        <img decoding=\"async\" src=\"https:\/\/www.imwaa.com\/blog\/wp-content\/uploads\/2026\/10\/pannello-semantic-demo-collectionpage.jpg\" alt=\"Detail of the SEO semantics plugin panel - option to add a collection page\" title=\"Collection Page configuration\" style=\"border-radius: var(--radius-sm); width: 100%; display: block;\"><\/p>\n<p class=\"text-center\" style=\"margin: 10px 0 0 0; font-size: 0.9rem; color: var(--text-sub);\">Choosing the Collection Page (Pages only)<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section>\n<section class=\"section\" aria-labelledby=\"title-prova\">\n<div class=\"container\">\n<div class=\"centered-header\">\n<h2 id=\"title-prova\">The Proof: One Single Graph, Zero Errors<\/h2>\n<p>The plugin does not just inject a block of code. It builds a scalable graph. Here is the comparison between a basic post (Case A) and one enriched with FAQs (Case B).<\/p>\n<\/p><\/div>\n<p>    <!-- CASO A --><\/p>\n<div class=\"card\" style=\"margin-bottom: 30px; padding: 30px;\">\n<h3 style=\"color: var(--primary);\">Case A: Basic Structure<\/h3>\n<p>The essence of the plugin: the <code>WebPage<\/code> (container) declares the <code>Article<\/code> as its <code>mainEntity<\/code>. Zero orphan nodes, everything linked to the site ID.<\/p>\n<div class=\"terminal-box\" style=\"background: #1e1e1e; overflow-x: auto; padding: 20px;\">\n<pre style=\"margin: 0; color: #d4d4d4; font-family: var(--font-mono); font-size: 0.85rem;\"><code><span style=\"color: #00C853;\">\/\/ Without FAQ - minimal graph<\/span>\r\n{\r\n  <span style=\"color: #06B6D4;\">\"@context\"<\/span>: \"https:\/\/schema.org\",\r\n  <span style=\"color: #06B6D4;\">\"@graph\"<\/span>: [{\r\n    <span style=\"color: #06B6D4;\">\"@type\"<\/span>: \"WebPage\",\r\n    <span style=\"color: #06B6D4;\">\"@id\"<\/span>: \"...\/#webpage\",\r\n    <span style=\"color: #06B6D4;\">\"mainEntity\"<\/span>: { <span style=\"color: #06B6D4;\">\"@id\"<\/span>: \"...\/#article\" }\r\n  }, {\r\n    <span style=\"color: #06B6D4;\">\"@type\"<\/span>: \"Article\",\r\n    <span style=\"color: #06B6D4;\">\"@id\"<\/span>: \"...\/#article\"\r\n  }]\r\n}<\/code><\/pre>\n<\/p><\/div>\n<div style=\"margin-top: 15px; border-left: 4px solid var(--accent-green); padding-left: 15px;\">\n<p style=\"margin: 0; font-size: 0.9rem;\"><strong>Schema Validator:<\/strong> 0 Errors, 0 Warnings.<br \/><strong>Rich Results:<\/strong> 1 valid item (Articles).<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<p>    <!-- CASO B --><\/p>\n<div class=\"card\" style=\"margin-bottom: 30px; padding: 30px;\">\n<h3 style=\"color: var(--accent-green);\">Case B: Expanded Structure (+ FAQ)<\/h3>\n<p>By adding FAQs, the graph does not break: it expands. The <code>WebPage<\/code> acts as a bridge and the <code>FAQPage<\/code> attaches coherently, ready to be read by AI bots.<\/p>\n<div class=\"terminal-box\" style=\"background: #1e1e1e; overflow-x: auto; padding: 20px;\">\n<pre style=\"margin: 0; color: #d4d4d4; font-family: var(--font-mono); font-size: 0.85rem;\"><code><span style=\"color: #00C853;\">\/\/ With FAQ - expanded graph<\/span>\r\n{\r\n  <span style=\"color: #06B6D4;\">\"@context\"<\/span>: \"https:\/\/schema.org\",\r\n  <span style=\"color: #06B6D4;\">\"@graph\"<\/span>: [{\r\n    <span style=\"color: #06B6D4;\">\"@type\"<\/span>: \"WebPage\",\r\n    <span style=\"color: #06B6D4;\">\"@id\"<\/span>: \"...\/#webpage\",\r\n    <span style=\"color: #06B6D4;\">\"mainEntity\"<\/span>: { <span style=\"color: #06B6D4;\">\"@id\"<\/span>: \"...\/#article\" }\r\n  }, {\r\n    <span style=\"color: #06B6D4;\">\"@type\"<\/span>: \"Article\",\r\n    <span style=\"color: #06B6D4;\">\"@id\"<\/span>: \"...\/#article\"\r\n  }, {\r\n    <span style=\"color: #06B6D4;\">\"@type\"<\/span>: \"FAQPage\",\r\n    <span style=\"color: #06B6D4;\">\"@id\"<\/span>: \"...\/#faq\",\r\n    <span style=\"color: #06B6D4;\">\"isPartOf\"<\/span>: { <span style=\"color: #06B6D4;\">\"@id\"<\/span>: \"...\/#webpage\" }\r\n  }]\r\n}<\/code><\/pre>\n<\/p><\/div>\n<div style=\"margin-top: 15px; border-left: 4px solid var(--accent-green); padding-left: 15px;\">\n<p style=\"margin: 0; font-size: 0.9rem;\"><strong>Schema Validator:<\/strong> 0 Errors, 0 Warnings (perfect merge).<br \/><strong>Rich Results:<\/strong> 1 valid item (Articles).<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section>\n<section class=\"section section-alt\" aria-labelledby=\"title-teoria\">\n<div class=\"container\">\n<div class=\"centered-header\">\n<h2 id=\"title-teoria\">Why a true Knowledge Graph beats traditional plugins<\/h2>\n<\/p><\/div>\n<div class=\"grid-2\">\n<div class=\"card\">\n<h3>Zero Fragmentation<\/h3>\n<p>Commercial plugins (Yoast, RankMath) inject &#8220;islands&#8221; of data. Our plugin builds an ecosystem in which the post is linked to the author, which is linked to the organization, which is linked to the website. Everything lives in a single <code>@graph<\/code>.<\/p>\n<\/p><\/div>\n<div class=\"card\">\n<h3>Crawl Budget &#038; AI<\/h3>\n<p>A coherent graph does not waste Google&#8217;s Crawl Budget. Moreover, AI bots (such as ChatGPT) do not read text like humans \u2014 they read the graph. The cleaner the graph, the more likely your post is to be cited as an authoritative source.<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"text-center\" style=\"margin-top: 40px;\">\n<p>Want to test your site? Use the <a href=\"https:\/\/validator.schema.org\/\" target=\"_blank\" rel=\"noopener\" title=\"Official Schema.org validator (new tab)\">Schema.org validator<\/a> or the <a href=\"https:\/\/search.google.com\/test\/rich-results\" target=\"_blank\" rel=\"noopener\" title=\"Google Rich Results Test (new tab)\">Rich Results Test<\/a>. For a deeper analysis, read the <a href=\"https:\/\/www.imwaa.com\/it\/audit\/schema\/\" title=\"Guide to the Schema.org Audit and the 19 rules of Entity SEO\">guide to the 19 rules of the Schema.org Audit<\/a>.<\/p>\n<p style=\"margin-top: 20px;\"><a href=\"https:\/\/www.imwaa.com\/it\/audit\/\" class=\"btn btn-primary\" title=\"Run the full audit: Schema.org, rich snippets and performance\">Run the full audit on your site<\/a><\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/section>\n<section class=\"section\" aria-labelledby=\"title-rimando-pagina\">\n<div class=\"container\">\n<div class=\"centered-header\">\n<h2 id=\"title-rimando-pagina\">Looking for the guide for Pages?<\/h2>\n<p>This post explains how to handle the <strong>content<\/strong> (the Article entity). If instead you need to tell WordPress that a given URL is a Service, a Product or a Collection of pages (the <strong>container<\/strong>), the right guide is the other one.<\/p>\n<p>      <a href=\"https:\/\/www.imwaa.com\/blog\/json-ld-seo-su-pagina-wordpress\/\" class=\"btn btn-primary\" title=\"Read the guide on how to configure JSON-LD SEO on a WordPress page\">Go to the WordPress Page guide<\/a>\n    <\/div>\n<\/p><\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>SEO Semantic Plugin \u00b7 Article Guide How to add JSON-LD SEO to a WordPress post You are reading the guide for configuring the content (the post). Unlike the WordPress page, where you define whether the URL is a Service or a CollectionPage, here the plugin already knows you are writing an Article and prepares everything [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-158","post","type-post","status-publish","format-standard","category-senza-categoria"],"_links":{"self":[{"href":"https:\/\/www.imwaa.com\/blog\/wp-json\/wp\/v2\/posts\/158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.imwaa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.imwaa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.imwaa.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.imwaa.com\/blog\/wp-json\/wp\/v2\/comments?post=158"}],"version-history":[{"count":3,"href":"https:\/\/www.imwaa.com\/blog\/wp-json\/wp\/v2\/posts\/158\/revisions"}],"predecessor-version":[{"id":187,"href":"https:\/\/www.imwaa.com\/blog\/wp-json\/wp\/v2\/posts\/158\/revisions\/187"}],"wp:attachment":[{"href":"https:\/\/www.imwaa.com\/blog\/wp-json\/wp\/v2\/media?parent=158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.imwaa.com\/blog\/wp-json\/wp\/v2\/categories?post=158"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.imwaa.com\/blog\/wp-json\/wp\/v2\/tags?post=158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}