=== SEO & AI Readiness Check ===
Contributors: seocoachai
Tags: seo, llms.txt, ai crawlers, robots.txt, google search console
Requires at least: 5.8
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 3.4.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

See what search engines and AI crawlers find on your site: titles, meta, H1, schema, sitemap, GPTBot access and llms.txt. No account needed.

== Description ==

Two questions decide whether people find you today. Does Google understand your pages? And are the AI crawlers even allowed in? This plugin answers both in one report, inside your WordPress admin, without an account and without sending anything anywhere.

= What it checks, on one screen =

* **Homepage basics.** Title and its length, meta description and its length, number of H1 headings, whether any JSON-LD schema is present, and a clear warning if the page is accidentally set to noindex.
* **AI crawler access.** Your robots.txt decides who may read your site. The plugin reads it and tells you, one by one, whether GPTBot and OAI-SearchBot (ChatGPT), ClaudeBot (Anthropic), PerplexityBot, Google-Extended (Gemini and AI answers), Applebot-Extended and CCBot are allowed in. If a crawler is blocked, your pages cannot appear in that system's answers, no matter how good they are.
* **llms.txt.** Whether your site serves one, and whether it is a real one rather than a theme error page.
* **Sitemap status.** Finds your sitemap on its own (Yoast, Rank Math or WordPress itself), checks that it is reachable and counts the addresses in it.
* **Google Search Console verification.** A guided walkthrough puts the verification tag in place. No theme editing, no FTP.

= What it can create =

* **An llms.txt for your site**, built from your site name, tagline and your most important pages. One click, nothing leaves your website. If a connected service already maintains your llms.txt, the plugin says so and refuses to overwrite it silently.

= Why the standard WordPress rules do not trigger a warning =

Almost every WordPress site disallows /wp-admin/ in robots.txt. That blocks no content, so the plugin does not report it. A warning that appears on every site is a warning nobody reads, and then the one that matters gets missed.

= Optional: connect to SEO Coach =

If you want to go further, you can connect your site to **SEO Coach** (https://meinseocoach.de), an external service by a German provider. It reads your own Google Search Console data, turns it into concrete suggestions, and writes titles, meta descriptions, content and schema back into WordPress when you approve them. Rank Math and Yoast are supported.

This connection is **optional and you have to establish it yourself**. The plugin never sends data on its own. Only after you enter the API key shown in the plugin into your SEO Coach account can the service reach this site through the WordPress REST API. Details are under "External Services" below.

== External Services ==

The plugin itself sends no data to external servers. The quick check, the AI crawler check, the llms.txt check and the sitemap check request your own website only.

Optionally, the site can be connected to the service **SEO Coach** (https://meinseocoach.de). To do that, you enter the API key generated by the plugin into your own SEO Coach account. After that, the service accesses this site through the WordPress REST API in order to

* read SEO fields (title, meta description, focus keyword) and change them on your instruction,
* create content you requested as a draft,
* update schema markup and image alternative texts on your instruction,
* read the site's sitemap.

Without that key, entered by you, no data is exchanged. Provider: SEO Coach, https://meinseocoach.de. Privacy policy: https://app.meinseocoach.de/datenschutz. Terms: https://app.meinseocoach.de/agb.

== Installation ==

1. Install and activate the plugin.
2. Go to **Settings → SEO Coach**. Run the check, follow the Search Console walkthrough, and create your llms.txt if you want one.
3. Optional: enter the API key in SEO Coach (meinseocoach.de) to connect the site.

== Frequently Asked Questions ==

= Do I need an account? =

No. The homepage check, the AI crawler check, the llms.txt check and generator, the sitemap status and the Search Console walkthrough all work without an account and without any connection. An account is only needed for the optional AI optimisations.

= Does the plugin send data to third parties? =

Not on its own. Only after you enter the API key into your SEO Coach account can that service reach your site. See "External Services".

= What does it mean when a crawler is "blocked"? =

Your robots.txt tells crawlers which parts of your site they may read. If it forbids the whole site to GPTBot, for example, ChatGPT cannot read your pages and cannot mention them in an answer. The plugin only reports a block when actual content is affected, not for the usual WordPress rules such as /wp-admin/.

= Does the plugin change my robots.txt? =

No. It reads your robots.txt and explains what it says. Any change is yours to make.

= Where is the llms.txt stored? =

In your WordPress database, and it is served at /llms.txt. Deleting the plugin removes it again.

= Does it work with Rank Math and Yoast? =

Yes. The plugin reads and writes the SEO fields of both. For the checks and the Search Console walkthrough you need neither.

= Does the Search Console walkthrough change my theme? =

No. The verification code is output as a meta tag through a WordPress hook. No theme files are touched.

= What happens if SEO Coach overwrites something I wanted to keep? =

Before every write, the plugin stores a backup of the previous state. It can be restored.

== Screenshots ==

1. One report: homepage basics, AI crawler access per crawler, llms.txt and sitemap status
2. Guided Google Search Console verification, no theme editing and no FTP
3. Optional connection to SEO Coach through the API key

== Changelog ==

= 3.4.0 =
* New: AI labelling in the editor. Drafts created by SEO Coach are marked as AI generated: a notice at the top of the editor, a box in the sidebar and a "KI" column in the post and page lists. Nothing of this is shown on the website.
* The "KI" column only appears once there is at least one AI generated post, and the sidebar box only on those posts. Sites that only use the checks see no change.
* Posts marked by the older SEO Coach Connector keep their label when you switch to this plugin.

= 3.3.0 =
* New: AI readiness. The plugin reads your robots.txt and reports for GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended and CCBot whether they are allowed to read your site.
* New: llms.txt check and a generator that builds one from your site name, tagline and main pages. Works without an account. An llms.txt maintained by SEO Coach is never overwritten silently.
* Improved: the usual WordPress rules in robots.txt, such as /wp-admin/, no longer produce a warning. They block no content, and a warning on every site is a warning nobody reads.
* Renamed to "SEO & AI Readiness Check". The plugin does more than a quick check now, and the old name said nothing about the AI part. Settings, data and the connection are unaffected.

= 3.2.0 =
* New: translation interface. With Polylang or WPML installed, SEO Coach can ask the translation plugin directly which translations exist for a page instead of waiting until every page has been fetched. Sites without a translation plugin are unaffected.
* Improved: the schema check now returns the stored markup in full instead of the first 100 characters, so schema from SEO Coach can be told apart from schema by other plugins.

= 3.1.0 =
* New: backup before overwriting. When SEO Coach writes a title, a meta description or content back to WordPress, the previous state is stored first and can be restored.

= 3.0.8 =
* All internal function, option, transient, post meta and constant names now carry the unique prefix "sdcoach_" / "SDCOACH_" so they cannot clash with other plugins and themes (required by the WordPress.org review). Behaviour is unchanged.
* A one-time automatic migration keeps settings from the time of the old prefix. API key and Google verification survive the update.

= 3.0.7 =
* Renamed for a unique name. Additional output hardening (llms.txt is served with nosniff). Prepared for the initial review.

= 3.0.6 =
* Security: the JSON-LD output now escapes angle brackets so schema content cannot break out of the script block. Recommended for every site that outputs schema through SEO Coach. Backwards compatible.

= 3.0.4 =
* New: FAQ schema on request. SEO Coach can attach a generated question and answer to a page as FAQPage schema. Several questions per page are merged, existing schema is left alone. Backwards compatible.

= 3.0.3 =
* Improved: the sitemap interface lists real WordPress pages first (posts after) and includes the content type, so a generated llms.txt highlights the main pages. Backwards compatible.

= 3.0.2 =
* Improved: the sitemap interface can return real page titles so a generated llms.txt uses readable names instead of URL fragments. Backwards compatible.

= 3.0.1 =
* New: llms.txt for visibility in AI answers. If the site is connected to SEO Coach, the plugin can serve a generated, AI readable llms.txt at /llms.txt (ChatGPT, Perplexity, Gemini). Backwards compatible.

= 3.0.0 =
* New: guided three step screen with real progress (finished steps ticked off, the current one highlighted)
* New: homepage quick check (title, meta description, H1, schema, noindex) as a traffic light list
* New: sitemap status with automatic detection (Yoast, Rank Math, WordPress itself)
* New: help with Google Search Console verification (meta tag, no theme change)
* First release in the WordPress.org directory

== Upgrade Notice ==

= 3.4.0 =
AI generated drafts from SEO Coach are now labelled in the editor. Recommended if you switch from the SEO Coach Connector.

= 3.3.0 =
Adds the AI readiness check: which AI crawlers may read your site, and an llms.txt you can create yourself. New name, same settings.

= 3.2.0 =
Translation interface for Polylang and WPML, full schema check.

= 3.1.0 =
Backup before overwriting. Recommended for every site that lets SEO Coach write content.

= 3.0.6 =
Security update for the JSON-LD output. Recommended for all sites.
