{"id":10786,"date":"2026-05-20T15:29:47","date_gmt":"2026-05-20T07:29:47","guid":{"rendered":"https:\/\/aeosub.com\/geoforge-schema\/"},"modified":"2026-05-20T15:29:47","modified_gmt":"2026-05-20T07:29:47","slug":"geoforge-schema","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/geoforge-schema\/","title":{"rendered":"GEOforge Schema"},"content":{"rendered":"<div class=\"plugin-info-card\" style=\"border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;margin-bottom: 30px;font-family: -apple-system, system-ui, sans-serif;background: #fff\">\n<table style=\"width: 100%;border-collapse: collapse;font-size: 14px\">\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 15px 20px;text-align: left;width: 35%;color: #4a5568;background: #fcfcfc\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/plugins\/geopattern-icon\/geoforge-schema.svg\" style=\"width: 40px;height: 40px;border-radius: 6px;margin-right: 12px;vertical-align: middle\"> Developer<\/th>\n<td style=\"padding: 15px 20px;font-weight: 500\"><a href=\"https:\/\/profiles.wordpress.org\/delchostanimirov\/\" target=\"_blank\" rel=\"noopener\">delchostanimirov<\/a><\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Version<\/th>\n<td style=\"padding: 12px 20px\">v1.2.0<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Active Installs<\/th>\n<td style=\"padding: 12px 20px\">0 +<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Requires \/ Tested<\/th>\n<td style=\"padding: 12px 20px\">5.6 \/ 6.9.4<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Last Updated<\/th>\n<td style=\"padding: 12px 20px\">2026-05-20 7:24am GMT<\/td>\n<\/tr>\n<tr>\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Official Link<\/th>\n<td style=\"padding: 12px 20px\"><a href=\"https:\/\/wordpress.org\/plugins\/geoforge-schema\/\" target=\"_blank\" style=\"text-decoration: none;color: #4a3bca;font-weight: bold\" rel=\"noopener\">View Details \u2192<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div class=\"plugin-short-desc\" style=\"margin: 20px 0;padding: 12px 15px;background: #f9fafb;border-left: 4px solid #4a3bca;border-radius: 6px;font-style: italic;color: #4a5568\">Emits GEOforge-generated JSON-LD schema markup into the page head of single posts and pages, and opens Yoast SEO \/ Rank Math description meta for REST &hellip;<\/div>\n<p>GEOforge generates JSON-LD schema markup and meta descriptions for the articles it publishes. WordPress strips inline <code>&lt;script&gt;<\/code> tags from post bodies (KSES sanitization) and hides underscore-prefixed meta from the REST API by default, so neither can be set by an external publishing tool without a companion plugin.<\/p>\n<p>This plugin solves that by:<\/p>\n<ol>\n<li>Registering a <code>_geoforge_jsonld<\/code> post-meta key, exposed via the REST API, that GEOforge writes to when publishing or updating an article.<\/li>\n<li>Printing the stored JSON-LD inside a proper <code>&lt;script type=\"application\/ld+json\"&gt;<\/code> tag in the page <code>&lt;head&gt;<\/code> for single posts and pages.<\/li>\n<li>Registering the SEO post-meta keys used by Yoast SEO (<code>_yoast_wpseo_metadesc<\/code>) and Rank Math (<code>rank_math_description<\/code>) for REST API write access, so GEOforge can sync meta descriptions on publish. Each registration uses an <code>edit_post<\/code> auth check and <code>sanitize_text_field<\/code>-based sanitization capped at 320 characters. Registration is idempotent \u2014 if the SEO plugin already exposes the key for REST, our registration is a no-op.<\/li>\n<\/ol>\n<p>No configuration required. Install, activate, and any GEOforge-published article will get its schema markup rendered correctly and its meta description handed to whichever SEO plugin is active.<\/p>","protected":false},"excerpt":{"rendered":"<p>Emits GEOforge-generated JSON-LD schema markup into the page head of single posts and pages, and opens Yoast SEO \/ Rank Math description meta for REST &hellip;<\/p>","protected":false},"author":1,"featured_media":9317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[252],"tags":[544,552,553,554,555],"class_list":["post-10786","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-geo","tag-json-ld","tag-schema","tag-seo","tag-wordpress-plugin"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10786","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/comments?post=10786"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10786\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media\/9317"}],"wp:attachment":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media?parent=10786"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=10786"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=10786"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}