GEOforge generates JSON-LD schema markup and meta descriptions for the articles it publishes. WordPress strips inline <script> 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.
This plugin solves that by:
- Registering a
_geoforge_jsonldpost-meta key, exposed via the REST API for every public REST-enabled post type, that GEOforge writes to when publishing or updating an article. - Printing the stored JSON-LD inside a proper
<script type="application/ld+json">tag in the page<head>on any singular view — posts, pages, and custom post types. - Registering the SEO post-meta keys used by Yoast SEO (
_yoast_wpseo_metadesc), Rank Math (rank_math_description), and The SEO Framework (_genesis_title/_genesis_description) for REST API write access, so GEOforge can sync SEO titles and meta descriptions on publish. Each registration uses anedit_postauth check andsanitize_text_field-based sanitization capped at 320 characters. Registration is idempotent — if the SEO plugin already exposes the key for REST, our registration is a no-op.
No configuration required for schema and meta delivery. 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.
Optionally, the plugin can detect AI-bot crawls (e.g. GPTBot, ClaudeBot, PerplexityBot) and report them to GEOforge for content-visibility measurement. This feature is off by default and stays completely inert — no outbound request is ever made — until a webhook URL and secret are stored on the site. You can set them two ways: enable crawl tracking from inside GEOforge (which writes both values via an authenticated REST call, requiring an Administrator-level connection), or paste them yourself under Settings GEOforge Schema, which needs no Administrator connection at all.
External services
This plugin’s optional crawl-tracking feature communicates with the GEOforge platform. It is disabled by default and only becomes active once a webhook URL and secret are stored — either by connecting the site from within GEOforge, or by entering them under Settings GEOforge Schema.
When active, and only when an incoming request’s User-Agent matches a known AI crawler, the plugin sends a single HTTPS request to the GEOforge webhook URL you configured containing: the crawled URL on your site, the request’s User-Agent string, and a source identifier (“wordpress”). No personal data or visitor content is sent. Nothing is sent for normal human visitors, and nothing is sent at all while the feature is disabled.
GEOforge is a service provided by Hop AI. Terms: https://getgeoforge.com/terms — Privacy policy: https://getgeoforge.com/privacy