=== ABDS SEO === Contributors: abdsseo Tags: seo, content analysis, rank tracking, schema, gutenberg Requires at least: 6.8 Tested up to: 7.0 Requires PHP: 8.0 Stable tag: 0.9.1 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Technical + content SEO with block-level recommendations in Gutenberg, one-click migration from other SEO plugins, and optional AI on your own key. == Description == ABDS SEO analyzes your site both technically and by content, and gives you concrete, actionable recommendations — down to the individual Gutenberg block, not just the meta fields. The whole free feature set works with no account, no external service, and no API key. Optional integrations (AI, SERP data, Search Console) are strictly bring-your-own-key: your site talks to the provider you chose, with your own credentials, and never through a vendor proxy. **Free features** * Technical SEO audit via an internal scanner (WP_Query) — no mandatory external crawler. * One-click migration of existing SEO data from Yoast SEO, Rank Math, and All in One SEO — nothing is deleted without your confirmation. * Rule-based content analysis right in the editor: focus-keyword density and placement, readability, and a pixel-accurate Google snippet preview. * Block-level recommendations in the Gutenberg sidebar — with a Classic Editor fallback (meta box + post-list SEO score column) for sites that don't use the block editor. * Meta title / description / focus-keyword editor with a changes log for the fields the plugin owns. * Schema (JSON-LD) validation during scanning. * All heavy work runs asynchronously in the background via Action Scheduler, so the plugin never slows down the front end. **Pro / Business / Agency features (a separate add-on)** These come with ABDS SEO Pro — a separate plugin you download from your ABDS account after buying a plan and activate with your license key. This free plugin contains none of the paid code; installing that add-on is what enables the features below. * AI assistance (BYOK): rewrite titles/descriptions and fix content issues using your own OpenAI-compatible, Anthropic, or Google Gemini key, with an enforced spend limit. * SERP competitor analysis and content-gap detection (BYOK: SerpApi). * Keyword volume/difficulty and backlink data before you commit to a focus keyword (BYOK: DataForSEO). * Local rank tracking with location support, decay detection, and drop alerts. * Local SEO: NAP consistency checker and LocalBusiness JSON-LD validation. * Google Search Console integration (your own account) for real search-analytics-driven priorities. * Internal-linking suggestions (orphan detection) and site-vs-site competitive analysis. * Behavioral analytics (CRO): cookieless click/scroll heatmaps, rage-click detection, a guardrailed popup builder, and sequential meta-CTR tests. Off by default. * Monthly white-label-ready reports and a weekly e-mail digest of the top priority actions. * Agency: push a multi-site overview to the ABDS agency cabinet. The free plugin is fully functional on its own; the paid tiers add capabilities, they do not cripple the free ones. == Installation == 1. Install and activate the plugin from the Plugins screen in wp-admin. 2. If Yoast SEO, Rank Math, or AIOSEO is active, the plugin offers a migration wizard to import your existing data. 3. After migration (or right away, if no other SEO plugin is found) the first site scan starts in the background. No account or key is required for the free features. == Frequently Asked Questions == = Do I need an API key to use the plugin? = No. Everything in this free plugin — the technical audit, rule-based content analysis, migration, and snippet preview — works with no key and no third-party service. The optional integrations that use your own API keys (AI, SERP, DataForSEO, Google Search Console) are part of the separate ABDS SEO Pro add-on, not this free plugin (see "External services"). = What happens to my Yoast / Rank Math data when I activate ABDS SEO? = Nothing is deleted automatically. The plugin offers to import your data via the migration wizard and only deactivates the old plugin after you confirm. = Does the free version phone home or send my data anywhere? = Only in one narrow, anonymous way, as of 0.9.0: opening the plugin's own Settings screen fetches the current subscription prices from the ABDS license server, so the upgrade options it shows are accurate. That request carries no license key, no site URL, and nothing else about your site — it's the same public price list anyone could load in a browser — and it's cached, so it doesn't repeat on every visit; if it ever fails, Settings just falls back to the plugin's built-in prices instead of breaking. Every OTHER third-party call — the actual license check — still only happens after you enter a license key. A free install that never opens Settings and never enters a key makes no license-related contact at all. The paid integrations that would send data elsewhere live in the separate ABDS SEO Pro add-on, not here (see "External services"). = How are paid features unlocked and updated? = Buy a plan, then install the separate ABDS SEO Pro add-on (downloaded from your ABDS account) and activate your license key. The paid features live entirely in that add-on — this free plugin ships none of them. This free plugin always updates from WordPress.org like any other plugin; the Pro add-on delivers its own updates from the ABDS license server once activated. == External services == This free plugin contacts exactly one third-party service, and only when you choose to activate a license: * **ABDS License Server** (https://license.abds-seo.com) — contacted in two cases. (1) Opening the plugin's Settings screen fetches the current subscription prices, an anonymous public request that sends no license key, site URL, or any other site-identifying data; the result is cached, so this isn't repeated on every visit, and a failed request just falls back to the plugin's built-in prices. (2) Activating a license key (to validate it), or the ABDS SEO Pro add-on checking your license and fetching its own updates — these send your license key, your site URL, and a random per-install identifier (not derived from any WordPress secret). A free install that never opens Settings and never enters a license key makes no contact at all. Governed by the ABDS Terms of Service (https://abds-seo.com/en/terms) and Privacy Policy (https://abds-seo.com/en/privacy). Nothing else in this free plugin makes third-party network calls. The technical audit, rule-based content analysis, migration, and snippet preview all run locally, and the scanner only fetches your own site's pages (a same-site loopback request) to inspect their markup. The optional paid integrations — AI assistants (OpenAI-compatible, Anthropic, Google Gemini), SERP/competitor analysis, DataForSEO keyword and backlink data, Google Search Console, and the agency multi-site cabinet — are **not part of this free plugin**. They live in the separate ABDS SEO Pro add-on and connect to their own services only after you enable each one there with your own credentials; those services are documented with that add-on. == Source code == The JavaScript and CSS in the `build/` folder are compiled with [@wordpress/scripts](https://www.npmjs.com/package/@wordpress/scripts) (webpack). The uncompiled, human-readable sources are included in this package under `/src` (`admin.js`, `index.js`, `sidebar.js`, `snippet-width.js`, `style.css`). To rebuild them, run `npm install` and then `npm run build` in the plugin folder. == Screenshots == 1. Dashboard with the overall SEO score and the attention list. 2. Block-level recommendations in the Gutenberg sidebar. 3. Pixel-accurate Google snippet preview. 4. Migration wizard importing data from another SEO plugin. 5. Settings, organized as per-provider cards. 6. Reports overview. == Changelog == = 0.9.1 = * Critical fix: 0.9.0 was committed to the WordPress.org SVN repository without `includes/license/class-abds-seo-pricing.php` (a new file added by that release, missed at commit time) — every site running 0.9.0 hit a fatal error on update. 0.9.1 is 0.9.0 with the missing file included. No other changes. = 0.9.0 = * Every "Upgrade plan" link now lands on a real Upgrade screen: what each paid tier gives, its price in both USD and UAH, and a direct link to the abds-seo.com pricing page to buy — instead of the Settings screen with no prices and no way to purchase. Locked-feature teasers also show a starting price now. * Classic Editor: the meta box added in 0.8.1 could only show a score for a keyword already set elsewhere — it had no way to enter one. Added a focus-keyword field directly in the meta box, so entering a keyword and saving the post is now enough to get a score there, the same as in Gutenberg. * A fresh activation now redirects to the Dashboard (once) instead of leaving the plugin silent, and the Dashboard's "no scan yet" state is now a real "Run first site audit" button instead of a passive sentence — plus a "N pages need attention out of M scanned" summary once a scan has run. Reuses the existing scanner and attention-list data; no new analysis logic. * A single dismissible admin notice after activation, pointing at the Dashboard's first-audit button. * Refreshed the Ukrainian translation to cover every screen added or changed above (Dashboard, Settings, the Classic Editor meta box, the activation notice). * The free plugin's promise of making no calls to any ABDS service without a license key is now narrower but still true: opening the Settings screen fetches current prices (anonymous, no site data sent, cached, degrades to built-in prices on failure) so the Upgrade screen is accurate. See the FAQ and "External services" below for the exact scope. = 0.8.1 = * Fix: sites using the Classic Editor (with or without a third-party page builder) had no ABDS SEO integration at all beyond the admin menu — the score and recommendations only ever rendered in the Gutenberg sidebar. Added a Classic Editor meta box showing the same score and recommendations, and an SEO-score column in the post list that works regardless of editor. No new analysis logic — both reuse the existing scan data. = 0.8.0 = * Commercial preparation: license tiers, optional paid integrations, and WordPress.org readiness. * Confirmed: a free install with no license key makes zero calls to any ABDS service (regression-tested). * Full feature set from earlier stages: block-level recommendations, snippet preview, AI (BYOK), SERP and content gaps, rank tracking, local SEO, Google Search Console, internal linking, competitive analysis, CRO analytics, monthly reports, and the weekly digest. = 0.1.0 = * First MVP release: plugin core, migration module, technical audit, rule-based content analysis, meta-tag editor, settings page. == Upgrade Notice == = 0.9.1 = Critical fix: 0.9.0 was missing a file and caused a fatal error on update. Update to 0.9.1 immediately if you are on 0.9.0. = 0.9.0 = Upgrade links now show real prices and a Buy link. Classic Editor can set a focus keyword directly. Activation now guides you to your first audit. Note: opening Settings now fetches current prices anonymously (no site data sent) — see the FAQ. = 0.8.1 = Fixes a real bug on Classic Editor sites: the plugin now shows SEO score and recommendations there too, not just in the Gutenberg sidebar. = 0.8.0 = First public release. Free features work with no key; paid tiers are optional and license-activated. == Third-Party Libraries == * [Action Scheduler](https://actionscheduler.org/) (Composer dependency `woocommerce/action-scheduler`) — licensed GPL-3.0-or-later. Because this plugin is distributed as "GPLv2 or later", combining it with a GPLv3 component is compatible: the combined work is distributed under GPLv3. All other direct dependencies (`@wordpress/*` packages) are GPL-2.0-or-later, matching directly.