Skip to content

WordPress Plugin

Your schema, in the HTML crawlers actually read

Baseline Connector writes your schema.org JSON-LD into the page <head> server-side, before anything reaches the browser. AI crawlers do not run JavaScript, so markup added by a script is invisible to them. This makes it visible.

Not on the WordPress.org directory - download it here. Updates arrive through your normal WordPress updates screen.

A crawler reads the HTML your server returned, and moves on

GPTBot, ClaudeBot, PerplexityBot and Google-Extended do not execute JavaScript. Schema injected by a tag manager or a client-side script is not there when they look. That is the entire problem this plugin solves - it hooks wp_head and puts the markup in the raw response.

Injects, never generates

A thin reflector. Baseline generates and stores your schema; the plugin fetches it per URL and writes it into the page. No schema logic lives on your server.

Never cloaks

Every visitor gets byte-identical output, human or bot. There is no user-agent branch anywhere in what the plugin emits, and an automated test drives it with both to prove it.

Fails open

If Baseline is unreachable or has nothing for a page, the plugin emits nothing and the page renders untouched. It also keeps a last-known-good copy to serve through a brief outage.

Off the critical path

Each page's schema is cached for 12-24 hours, so a warm page load does no network work at all. A cache miss costs one request capped at two seconds.

Counts AI crawlers

Optionally reports which AI bots requested which pages, so your dashboard shows real crawler traffic. User agent, path, status and time - no IP addresses, nothing about your human visitors.

Fails open, always

If we are unreachable, or we have no schema for a page yet, the plugin emits nothing and the page renders exactly as it would without it. It never blocks a render and never breaks a layout.

Install it, step by step

Five steps, about two minutes. The download, your API key and a live check that it all worked are all on this page.

  1. Download the plugin
    One zip, free, no plan required.

    Download baseline-connector.zip

  2. Upload it to WordPress and activate
    In your WordPress admin, go to Plugins → Add New Plugin → Upload Plugin, choose the zip, and click Install Now. WordPress upload-plugin screen with baseline-connector.zip selected
    Plugins → Add New Plugin → Upload Plugin
    When the install finishes, click Activate Plugin. WordPress install-success screen with the Activate Plugin link
    "Plugin installed successfully" - activate it from here.
    WordPress Plugins screen showing 'Plugin activated.' and Baseline Connector listed as active
    "Plugin activated." - Baseline Connector now shows in your plugins list.
  3. Get your API key
    The plugin authenticates to Baseline with an API key from your account. Generate one right here - it is shown once, so paste it straight into WordPress.
    Checking your account…
  4. Paste the key and connect
    In WordPress, go to Settings → Baseline Connector, paste your key into the Baseline API key field, and click Save settings. Baseline Connector settings screen with the API key field
    Settings → Baseline Connector - key field, injection and reporting toggles.
    Then click Connect & verify this site. The plugin registers your domain, emits the ownership meta tag and verifies itself - no DNS record, no file upload. Baseline Connector settings screen showing Domain verified and the per-page schema table
    Verified - the Pages table lists each URL and whether it carries schema yet.
  5. Check it from our side
    The settings screen says what the plugin sent. This says what actually reached Baseline - the answer that counts, for the site named at the top of this walkthrough.
Confirm it landed yourself. Fetch any page and search the source for baseline-channel. If that meta tag is in the raw HTML, crawlers can see everything the plugin emits.

Two things this plugin will tell you that it could hide

A page cache limits crawler counting
A full-page cache serves requests before any plugin loads, so on a cached site this plugin cannot see every crawler visit and no plugin code can change that. It detects your cache and says so, rather than quoting a number it cannot stand behind. Schema injection is unaffected - that is cached along with the page. For complete counts, the Cloudflare worker runs at the edge, ahead of every cache.
It checks that we received the data
Our ingest endpoint accepts batches without revealing whether it recognised your site token - that is deliberate, so nobody can probe for live tokens. It also means a bad token would look like success forever. Once a day the plugin asks how many hits we actually recorded, and warns you on the settings screen if the answer disagrees with what it sent.
We will not bypass your cache for bots. Serving crawlers freshly rendered HTML while humans get a cached copy is cloaking, and it is against search-engine guidelines. It is also the obvious fix for the blind spot above, which is why we are saying plainly that we refuse it.

What you need

Account A free Baseline Labs account and an API key. Sign up - no card.
Free plan One site, with your main pages generated, injected and kept up to date automatically.
Paid plans More sites, your whole sitemap rather than the first few pages, and a faster refresh band. See pricing.
WordPress 6.0 or later.
PHP 7.4 or later. Install the libsodium extension if you want your API key encrypted rather than obfuscated at rest.
Cron Only needed for AI-crawler reporting. If DISABLE_WP_CRON is set, point a real cron entry at wp cron event run --due-now - the plugin warns you when this is the case.
Licence GPLv2 or later.

There are two other ways in

The plugin is one of three channels. They deliver the same schema and report the same crawler traffic - pick whichever matches your stack, and they run together happily.

Cloudflare worker
Runs at the edge, in front of every cache, on any stack. The most complete option if your site is behind Cloudflare, and the only one that sees every request. Open the walkthrough.
Generic module
A dependency-free ES module for anything else - Node, Deno, Bun or an edge runtime. We render it with your site token; you drop it into your server. Open the walkthrough.
What is connected now
Your install page lists every domain on your account and what is actually live on each - measured, not declared. Open the install page.

Make your WordPress site machine-readable

Free for one site. Install the plugin, paste a key, and stop being invisible to the systems answering questions about you.

Download the plugin Free - no plan required How the schema is generated
George
Online
0%