=== Geoboard Schema Injector ===
Contributors: geoboard, maciejpremiumads
Tags: schema, json-ld, seo, ai, generative-engine-optimization
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Auto-inject Schema.org JSON-LD for AI search visibility. Server-side rendering works with GPTBot, ClaudeBot, PerplexityBot.

== Description ==

**Geoboard Schema Injector** is a lightweight WordPress plugin that auto-injects Schema.org JSON-LD into your site's `<head>` on every page load, making your site more visible to AI search engines.

It connects to your existing [Geoboard.ai](https://geoboard.ai/) account (a SaaS service for Generative Engine Optimization) and fetches the schema generated for your brand — Organization, FAQPage, Service, and more.

= Why server-side schema injection? =

Unlike JavaScript-based schema injection (which AI crawlers like **GPTBot** and **ClaudeBot** ignore because they don't execute JS), Geoboard Schema Injector outputs the schema directly into the HTML response. This means:

* **All AI bots see your schema** — GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Bytespider
* **Faster page rendering** — no JS execution required
* **Better Core Web Vitals** — no client-side overhead
* **Works without theme modifications** — single plugin install

= /llms.txt for AI crawlers =

Geoboard Schema Injector can also publish a `/llms.txt` file at your site root, following the [llms.txt standard](https://llmstxt.org/) — an emerging convention for AI assistants to discover what your site is about (similar to robots.txt for search engines).

The plugin auto-generates a default template from your site title, tagline, and recent pages. You can also paste custom markdown content in the settings page.

Enable in **Settings → Geoboard Schema Injector → /llms.txt for AI crawlers**.

= How it works =

1. Install and activate the plugin.
2. Go to **Settings → Geoboard Schema Injector**.
3. Paste your API key from [geoboard.ai/dashboard/geoboost/](https://geoboard.ai/dashboard/geoboost/).
4. Save — that's it. Schema appears in `<head>` on every page.

Geoboard Schema Injector caches the schema locally for 24 hours to avoid hitting the API on every page load. You can manually refresh anytime from the settings page.

= Plan tiers =

Geoboard Schema Injector works with all Geoboard.ai plans, with feature scope based on your subscription:

* **Free** — Geoboard Schema Injector FREE for 30 days, homepage schema only (Organization + WebSite). After 30 days the snippet auto-disables — upgrade to a paid tier to keep the lift.
* **Solo + Monitoring** (248 PLN/mo) — Homepage schema only, 1 brand. Includes AI monitoring: 15 customer questions across 3 models, weekly cycle, competitor detection, drop alerts.
* **Pro + Monitoring** (698 PLN/mo) ⭐ — Full multi-page schema (FAQPage, Service, HowTo) for up to 3 brands. AI monitoring 25 questions across 5 models, 2x weekly cycle, sentiment analysis, custom alerts, 30 min monthly consultation.
* **Agency + Monitoring** (1998 PLN/mo) — Full multi-page schema for up to 10 brands. AI monitoring 50 questions across 6 models, daily top 10 + weekly rest, white-label PDF, API access, dedicated account manager, 2h monthly consultation.

The Free plan does not require a credit card and includes a 30-day Geoboard Schema Injector trial.

= External services =

This plugin communicates with **geoboard.ai** (operated by Premiumads sp. z o.o., Poland) to fetch your Schema.org JSON-LD.

* **Endpoint**: `https://geoboard.ai/wp-json/pa-geo/v1/geoboost/schema/{api_key}`
* **Data sent**: your API key (path parameter) and site URL in User-Agent header
* **Data received**: Schema.org JSON-LD object generated for your brand
* **Frequency**: once per 24 hours (cached via WP transients)

No visitor data is transmitted. The plugin does not track or analyze your site visitors.

Terms of service: [geoboard.ai/regulamin/](https://geoboard.ai/regulamin/)
Privacy policy: [geoboard.ai/polityka-prywatnosci/](https://geoboard.ai/polityka-prywatnosci/)

== Installation ==

= Standard install =

1. In WordPress admin go to **Plugins → Add New**.
2. Search for "Geoboard Schema Injector by Geoboard.ai".
3. Click **Install Now**, then **Activate**.
4. Go to **Settings → Geoboard Schema Injector** and paste your API key.

= Manual install =

1. Download the plugin ZIP.
2. In WordPress admin go to **Plugins → Add New → Upload Plugin**.
3. Upload the ZIP and activate.
4. Go to **Settings → Geoboard Schema Injector** and paste your API key.

= Getting your API key =

1. Sign up for a free account at [geoboard.ai](https://geoboard.ai/).
2. Add your brand domain.
3. Go to **Dashboard → Geoboard Schema Injector → Enable Geoboard Schema Injector** for your brand.
4. Copy the generated `snippet_key` — that's your API key.

== Frequently Asked Questions ==

= Does this plugin work without a Geoboard.ai account? =

No. Geoboard Schema Injector is a frontend for the Geoboard.ai SaaS service. You need a Geoboard.ai account (free tier available) to use this plugin.

= How often is the schema updated? =

The plugin fetches fresh schema from Geoboard.ai every 24 hours. You can manually refresh anytime from **Settings → Geoboard Schema Injector → Clear cache & refetch**.

= Will this slow down my site? =

No. The schema is cached locally (WordPress transient) for 24 hours. After the first page load, every subsequent page hit is a pure database read. Total overhead per request: under 1ms.

= What if the API is unreachable? =

If the Geoboard.ai API is unreachable or returns an error, the plugin silently skips schema injection for that page load. An error message appears in **Settings → Geoboard Schema Injector** so you can diagnose. The plugin retries on the next cache miss (24 hours later, or immediately if you click "Clear cache").

= Is the plugin GDPR compliant? =

Yes. The plugin does not collect, transmit, or store any visitor data. The only outbound communication is the plugin → Geoboard.ai API (your API key and site URL), which is documented in our privacy policy.

= Can I use this plugin on multisite? =

Yes. Activate per-site (or network-activate) and configure each site's API key separately under **Settings → Geoboard Schema Injector** on each subsite.

= How does this differ from Yoast SEO or RankMath schema? =

Yoast and RankMath generate basic Schema.org (typically Organization + WebPage). Geoboard Schema Injector generates AI-optimized schema including:

* Organization with full identifier array (tax IDs and registration numbers for Polish businesses)
* FAQPage from your real customer questions
* Service schema for your offerings
* HowTo guides where applicable
* Cross-references between entities

This is specifically tuned for AI citation (vs. traditional Google SERP rich snippets).

You can use Geoboard Schema Injector alongside Yoast or RankMath without conflicts — multiple `<script type="application/ld+json">` blocks are valid HTML.

= I have a custom Schema.org plugin already. Can I use Geoboard Schema Injector? =

Yes. Geoboard Schema Injector adds additional schema tags — it doesn't replace or modify existing ones. AI bots merge multiple JSON-LD blocks naturally.

= Where is the source code? =

Geoboard Schema Injector is open source under GPLv2+. The full plugin source is in this directory. The companion Geoboard.ai SaaS is closed-source (it's the service that generates your schema).

= Is the documentation available in other languages? =

Yes — Polish documentation is available at [geoboard.ai/wp-plugin-pl/](https://geoboard.ai/wp-plugin-pl/). The plugin code uses standard WordPress i18n (text domain `geoboard-schema-injector`) and includes a `.pot` template in the `languages/` folder for translators.

== Screenshots ==

1. Settings page — paste your API key, enable, save.
2. Cache status — see when last fetched, manually refresh.
3. Schema injected in `<head>` — view source of any page to see the JSON-LD block.

== Changelog ==

= 1.0.0 — 2026-05-19 =
* Initial release.
* Settings page with API key input and enable/disable toggle.
* `wp_head` injection of Schema.org JSON-LD.
* 24-hour WP transient cache.
* Manual cache refresh button.
* Error reporting in admin (network errors, invalid API key).
* `/llms.txt` endpoint (Anthropic llms.txt standard) with auto-generated default template and customizable markdown content.
* `/llms-full.txt` alias for compatibility.
* Clean uninstall (options and transients removed).
* Multisite-aware uninstall.
* `.pot` translation template included for i18n contributors.

== Upgrade Notice ==

= 1.0.0 =
Initial release.
