{"id":230,"date":"2026-05-19T02:17:12","date_gmt":"2026-05-19T02:17:12","guid":{"rendered":"https:\/\/tools.dwiyanti.com\/blog\/?p=230"},"modified":"2026-05-19T02:19:37","modified_gmt":"2026-05-19T02:19:37","slug":"schema-blogposting","status":"publish","type":"post","link":"https:\/\/tools.dwiyanti.com\/blog\/schema-blogposting","title":{"rendered":"Schema Blogposting"},"content":{"rendered":"<pre style=\"white-space:pre-wrap;\">\nini schema blogposting saya untuk url https:\/\/me.dwiyanti.com.\n\n\"@context\" => \"https:\/\/schema.org\",\n            \"@graph\" => [\n             [\n            \"@type\" => \"BlogPosting\",\n            \"mainEntityOfPage\" => [\n                \"@type\" => \"WebPage\",\n                \"@id\" => $url\n            ],\n            \"headline\" => $title,\n            \"author\"   => [\n                \"@type\" => \"Person\",\n                \"name\" => \"Dwi Yanti\",\n                \"@id\"   => \"https:\/\/me.dwiyanti.com\/#dwi-yanti\"\n            ],\n            \"publisher\" => [\n                \"@type\" => \"Person\",\n                \"name\" => \"Dwi Yanti\",\n                \"@id\" => \"https:\/\/me.dwiyanti.com\/#dwi-yanti\"\n            ],\n            \"datePublished\" => $published,\n            \"dateModified\" => $modified,\n            \"image\" => $images\n        ]]];\n\nKalau unutk url https:\/\/dwiyanti.com, jadi bagaimana?\n---\nStrukturnya jangan sekadar \u201cdipindah domain\u201d\u2014harus dibedakan **role entitasnya**.\n\nDi `me.dwiyanti.com`, kamu pakai:\n\n* `Person` sebagai **author + publisher** \u2192 ini masuk akal karena itu personal site.\n\nNah untuk `dwiyanti.com`, kamu harus tentukan dulu:\n\ud83d\udc49 ini **personal brand juga** atau sudah dianggap **website (brand\/organization)**?\n\n---\n\n## \ud83d\udd39 Skenario 1: dwiyanti.com = Personal Brand (disarankan kalau sama orangnya)\n\nKalau masih \u201cDwi Yanti sebagai individu\u201d, **tetap pakai Person sebagai publisher**.\nTapi yang penting: **ID harus konsisten lintas domain** (ini kunci SEO entity).\n\nContoh:\n\n```php\n\"@context\" => \"https:\/\/schema.org\",\n\"@graph\" => [\n [\n  \"@type\" => \"BlogPosting\",\n  \"mainEntityOfPage\" => [\n    \"@type\" => \"WebPage\",\n    \"@id\" => $url\n  ],\n  \"headline\" => $title,\n  \"author\" => [\n    \"@type\" => \"Person\",\n    \"name\" => \"Dwi Yanti\",\n    \"@id\" => \"https:\/\/me.dwiyanti.com\/#dwi-yanti\"\n  ],\n  \"publisher\" => [\n    \"@type\" => \"Person\",\n    \"name\" => \"Dwi Yanti\",\n    \"@id\" => \"https:\/\/me.dwiyanti.com\/#dwi-yanti\"\n  ],\n  \"datePublished\" => $published,\n  \"dateModified\" => $modified,\n  \"image\" => $images\n ]\n]\n```\n\n\ud83d\udc49 Perhatikan:\n\n* `@id` tetap ke `me.dwiyanti.com\/#dwi-yanti`\n* Ini bikin Google ngerti: **dua domain = satu entitas yang sama**\n\n---\n\n## \ud83d\udd39 Skenario 2: dwiyanti.com = Website \/ Brand (lebih \u201cprofessional layer\u201d)\n\nKalau kamu mau naik level (ini biasanya lebih kuat untuk SEO brand), gunakan:\n\n* `Organization` atau `WebSite` sebagai **publisher**\n* `Person` tetap sebagai author\n\nContoh:\n\n```php\n\"author\" => [\n  \"@type\" => \"Person\",\n  \"name\" => \"Dwi Yanti\",\n  \"@id\" => \"https:\/\/me.dwiyanti.com\/#dwi-yanti\"\n],\n\"publisher\" => [\n  \"@type\" => \"Organization\",\n  \"name\" => \"Dwiyanti\",\n  \"@id\" => \"https:\/\/dwiyanti.com\/#organization\",\n  \"logo\" => [\n    \"@type\" => \"ImageObject\",\n    \"url\" => \"https:\/\/dwiyanti.com\/logo.png\"\n  ]\n]\n```\n\n\ud83d\udc49 Ini memberi sinyal:\n\n* Dwi Yanti = **author (expert)**\n* dwiyanti.com = **entity \/ brand \/ platform**\n\n---\n\n## \ud83d\udd25 Mana yang lebih bagus?\n\nKalau target kamu (dari konteks SEO kamu sebelumnya):\n\n> \u201cDwi Yanti \u2013 SEO Specialist with Technical SEO Strategy Expertise\u201d\n\n\ud83d\udc49 Maka yang paling kuat biasanya:\n\n\u2705 **Author = Person (Dwi Yanti)**\n\u2705 **Publisher = Organization (dwiyanti.com)**\n\nKarena:\n\n* Google suka memisahkan **expert vs platform**\n* Lebih scalable kalau nanti ada:\n\n  * service page\n  * team\n  * brand authority\n\n---\n\n## \u26a0\ufe0f Hal penting yang sering salah\n\n1. \u274c Jangan bikin 2 `@id` berbeda untuk person (ini bikin entity pecah)\n2. \u274c Jangan campur Person \u2194 Organization tanpa jelas role\n3. \u2705 Selalu punya **1 canonical entity ID untuk Dwi Yanti**\n\n---\n\n## \ud83d\udd39 Insight strategis (ini yang jarang dibahas)\n\nDengan setup ini:\n\n* `me.dwiyanti.com` \u2192 **entity center (Person)**\n* `dwiyanti.com` \u2192 **commercial \/ authority site**\n\n\ud83d\udc49 Ini pola yang dipakai banyak SEO expert global.\n\n---\n\nKalau kamu mau, aku bisa bantu sekalian:\n\n* bikin **Person schema lengkap (master entity)**\n* struktur **WebSite + AboutPage + Author linking**\n* biar langsung kuat ke arah **Google Knowledge Graph**\n\nKarena dari struktur kamu sekarang, sebenarnya sudah tinggal satu langkah lagi jadi \u201centity SEO yang proper\u201d.\n---\nnamenya kan Dwi Yanti juga, kan saya\nNah justru di situ letak yang sering bikin bingung \u2014 **nama boleh sama, tapi perannya beda**.\n\nKamu tetap **satu orang: Dwi Yanti**, tapi di schema kamu bisa punya **2 role sekaligus**:\n\n---\n\n## \ud83d\udd39 Intinya gini\n\n* **Dwi Yanti (Person)** \u2192 kamu sebagai individu (author, expert)\n* **Dwiyanti.com (Organization \/ WebSite)** \u2192 \u201cwadah \/ brand \/ platform\u201d\n\nWalaupun namanya sama, Google tidak melihat itu sebagai duplikat, selama:\n\n\ud83d\udc49 `@type` berbeda\n\ud83d\udc49 `@id` berbeda\n\ud83d\udc49 relasinya jelas\n\n---\n\n## \ud83d\udd39 Analoginya biar kebayang\n\nKayak:\n\n* \u201cNike\u201d (brand)\n* tapi juga ada orang bernama Nike (misal)\n\nAtau lebih realistis:\n\n* personal brand = nama sendiri (ini normal di SEO)\n\n---\n\n## \ud83d\udd39 Cara yang benar (recommended)\n\nTetap begini:\n\n### \u2705 Person (pusat entity \u2014 jangan diubah-ubah)\n\n```json\n{\n  \"@type\": \"Person\",\n  \"name\": \"Dwi Yanti\",\n  \"@id\": \"https:\/\/me.dwiyanti.com\/#dwi-yanti\"\n}\n```\n\n---\n\n### \u2705 Organization (meskipun namanya sama, tetap valid)\n\n```json\n{\n  \"@type\": \"Organization\",\n  \"name\": \"Dwi Yanti\",\n  \"@id\": \"https:\/\/dwiyanti.com\/#organization\"\n}\n```\n\n\ud83d\udc49 Ini bukan duplikat, karena:\n\n* satu = manusia\n* satu = entitas website\/brand\n\n---\n\n## \ud83d\udd39 Di BlogPosting jadi seperti ini\n\n```php id=\"final-structure\"\n\"author\" => [\n  \"@type\" => \"Person\",\n  \"name\" => \"Dwi Yanti\",\n  \"@id\" => \"https:\/\/me.dwiyanti.com\/#dwi-yanti\"\n],\n\"publisher\" => [\n  \"@type\" => \"Organization\",\n  \"name\" => \"Dwi Yanti\",\n  \"@id\" => \"https:\/\/dwiyanti.com\/#organization\"\n]\n```\n\n---\n\n## \ud83d\udd25 Kenapa ini justru kuat?\n\nKarena Google akan baca:\n\n* \u201cDwi Yanti\u201d = **expert (entity manusia)**\n* \u201cDwi Yanti\u201d (website) = **brand yang mempublikasikan**\n\n\ud83d\udc49 Ini memperkuat:\n\n* E-E-A-T\n* entity consolidation\n* peluang masuk knowledge graph\n\n---\n\n## \u26a0\ufe0f Kesalahan fatal yang harus dihindari\n\nKalau kamu lakukan ini:\n\n```json\npublisher = Person\nauthor = Person\n```\n\n\ud83d\udc49 itu bikin sinyalnya \u201cflat\u201d\n\ud83d\udc49 tidak ada layer brand \u2192 authority jadi lebih lemah\n\n---\n\n## \ud83d\udd39 Insight penting (level advanced)\n\nKalau kamu konsisten:\n\n* semua artikel \u2192 author ke `me.dwiyanti.com\/#dwi-yanti`\n* semua publisher \u2192 `dwiyanti.com\/#organization`\n\n\ud83d\udc49 Lama-lama Google akan mengerti:\n\n> \u201cDwi Yanti adalah SEO Specialist yang mempublikasikan konten melalui dwiyanti.com\u201d\n\n---\n\nKalau kamu mau next step, aku bisa bantu:\n\n* nyusun **schema homepage (WebSite + Person + Organization connect)**\n* bikin struktur yang bisa bantu kamu **lebih cepat dikenali Google sebagai entity SEO specialist**\n\nKarena sekarang kamu sudah di jalur yang benar \u2014 tinggal dirapikan supaya \u201ckebaca jelas\u201d oleh Google.\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>ini schema blogposting saya untuk url https:\/\/me.dwiyanti.com. &#8220;@context&#8221; => &#8220;https:\/\/schema.org&#8221;, &#8220;@graph&#8221; => [ [ &#8220;@type&#8221; => &#8220;BlogPosting&#8221;, &#8220;mainEntityOfPage&#8221; => [ &#8220;@type&#8221; => &#8220;WebPage&#8221;, &#8220;@id&#8221; => $url ], &#8220;headline&#8221; => $title, &#8220;author&#8221; => [ &#8220;@type&#8221; => &#8220;Person&#8221;, &#8220;name&#8221; => &#8220;Dwi Yanti&#8221;, &#8220;@id&#8221; => &#8220;https:\/\/me.dwiyanti.com\/#dwi-yanti&#8221; ], &#8220;publisher&#8221; => [ &#8220;@type&#8221; => &#8220;Person&#8221;, &#8220;name&#8221; => &#8220;Dwi Yanti&#8221;, &#8220;@id&#8221; [&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-230","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/tools.dwiyanti.com\/blog\/wp-json\/wp\/v2\/posts\/230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tools.dwiyanti.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tools.dwiyanti.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tools.dwiyanti.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tools.dwiyanti.com\/blog\/wp-json\/wp\/v2\/comments?post=230"}],"version-history":[{"count":3,"href":"https:\/\/tools.dwiyanti.com\/blog\/wp-json\/wp\/v2\/posts\/230\/revisions"}],"predecessor-version":[{"id":233,"href":"https:\/\/tools.dwiyanti.com\/blog\/wp-json\/wp\/v2\/posts\/230\/revisions\/233"}],"wp:attachment":[{"href":"https:\/\/tools.dwiyanti.com\/blog\/wp-json\/wp\/v2\/media?parent=230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tools.dwiyanti.com\/blog\/wp-json\/wp\/v2\/categories?post=230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tools.dwiyanti.com\/blog\/wp-json\/wp\/v2\/tags?post=230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}