=== DidYouSEO — SEO Audit & Score Tracker ===
Contributors: sathish27
Tags: seo, seo audit, site audit, seo score, technical seo
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Live on-page SEO checks while you write, plus full DidYouSEO page audits in the editor. Works alongside Rank Math, Yoast and AIOSEO.

== Description ==

DidYouSEO checks pages for 40+ technical and on-page SEO issues: titles, meta descriptions, headings, canonical tags, structured data, Open Graph tags, broken links and more. This plugin brings those scores into WordPress, so you see problems where you write.

**What it adds**

* **Live on-page checks while you write.** Set a focus keyword and the editor sidebar checks the SEO title, meta description, URL, introduction, subheadings, image alt text, keyword density, content length, links and readability. The checks run in your browser and update as you type. Nothing is sent to DidYouSEO.
* **A Writing score in the editor toolbar**, from 0 to 100, and a Google search preview.
* **The full page audit in the editor.** After a page is audited, the sidebar lists every problem DidYouSEO found, with how to fix it. You do not need to leave WordPress.
* **Works with your SEO plugin.** If Rank Math, Yoast SEO or AIOSEO is active, DidYouSEO reads their focus keyword, SEO title and meta description. DidYouSEO never prints meta tags, so the two plugins do not conflict.
* An **SEO Score column** in your Posts and Pages lists, colour-coded at a glance, with an "Audit now" link for anything not yet checked.
* A **dashboard widget** with your site's overall score and its count of critical issues and warnings.
* **Audit on publish** (optional): new posts and pages are audited in the background when first published.
* **Score-drop alerts** (optional): an admin notice when a page scores lower than its previous audit.

**What it does not do**

The plugin does not change your content, your theme or your other SEO plugins' settings. It does not print meta tags, sitemaps or schema. It shows scores and problems. You decide what to fix. It works alongside Yoast SEO, Rank Math and similar plugins.

**You need a DidYouSEO account**

A free account at [didyouseo.com](https://didyouseo.com) is enough to start. The free plan allows 20 API requests a day; each audit and each dashboard score refresh counts as one. Paid plans raise that limit.

== External services ==

This plugin connects to the DidYouSEO API (https://didyouseo.com/api/v1), a service run by DidYouSEO, to audit your pages and fetch scores. Nothing is sent until you connect an API key in Settings → DidYouSEO.

* **When you connect:** your API key is checked, and your site's address and name are registered with your DidYouSEO account.
* **When a page is audited** (you click "Audit now" or "Audit this page", or "Audit on publish" is on): the page's public URL and this site's webhook address are sent. DidYouSEO then fetches the public page, as a search engine would, and sends the result back to the webhook address. Post content is never sent from your site.
* **When you open the Page audit section in the editor:** the details of that page's latest audit are requested once and stored in WordPress. Opening the panel again does not send another request.
* **When the dashboard widget loads:** your site's score is requested, at most once an hour.

The live on-page checks in the editor run in your browser. They do not send your content anywhere.

The service's [Terms of Service](https://didyouseo.com/terms) and [Privacy Policy](https://didyouseo.com/privacy) apply.

== Installation ==

1. Install the plugin from **Plugins → Add New**, or upload the `didyouseo` folder to `/wp-content/plugins/`.
2. Activate it.
3. Create a free account at [didyouseo.com](https://didyouseo.com), then create an API key under [Settings → API Keys](https://didyouseo.com/dashboard/settings?tab=api-keys).
4. In WordPress, go to **Settings → DidYouSEO**, paste the key, and click **Connect**.

== Frequently Asked Questions ==

= Do I need a DidYouSEO account? =

Yes. A free account is enough to get started.

= Does auditing use up my plan? =

Each audit is one API request. The free plan allows 20 requests a day, and the dashboard widget caches its score for an hour so it doesn't use them up.

= Where is my API key stored? =

In your WordPress database (the `wp_options` table), like other plugins' API keys. It is never shown in the settings page after saving, and **Disconnect** deletes it.

= How do scores get back into WordPress? =

When an audit finishes, DidYouSEO sends the result to `/wp-json/didyouseo/v1/webhook` on your site. Each delivery is signed with a secret unique to your API key, and the plugin rejects anything without a valid signature.

= Can I test on a local site? =

Yes. DidYouSEO needs to reach your pages, so expose your local site with a tunnel (for example ngrok) and enter its address under **Public URL (local development only)**.

= What happens when I delete the plugin? =

Its settings, stored scores, focus keywords and scheduled tasks are removed. Your DidYouSEO account and its data are not affected.

== Screenshots ==

1. SEO scores in the Posts list.
2. Live on-page checks and the Writing score in the block editor.
3. The site score dashboard widget.
4. Settings → DidYouSEO.

== Changelog ==

= 1.1.0 =
* New: live on-page SEO checks in the block editor, with a focus keyword, a Writing score and a Google search preview.
* New: the editor sidebar lists every problem from the page's DidYouSEO audit, with how to fix it.
* New: reads the focus keyword, SEO title and meta description from Rank Math, Yoast SEO and AIOSEO.

= 1.0.0 =
* First release.
