=== Erriflow SEO Analytics ===
Contributors: vanekzp
Tags: seo, search console, google search console, analytics, monitoring
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 1.3.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Google Search Console monitoring and local SEO reporting for WordPress, with an optional separately distributed Pro add-on.

== Description ==

Erriflow SEO Analytics connects WordPress to Google Search Console, stores synchronized reporting history locally, and provides reports for clicks, impressions, CTR, position, pages, queries, countries, devices, and sitemap data.

The free plugin works independently and contains the Search Console monitoring core. Erriflow SEO Analytics Pro is a separately distributed optional add-on. Pro feature runtime is not included in the WordPress.org Free package.

The free plugin supports Google connection through Easy Connect (OAuth) or an advanced service-account configuration. Google access used by the plugin is read-only.

Erriflow SEO Analytics stores imported reporting data in the WordPress database so reports can be built from local history. OAuth connection credentials and service-account credentials are encrypted at rest. Short-lived access tokens are cached with WordPress transients.

To avoid mixing data from different websites, Search Console resources are bound to the current WordPress hostname. URL-prefix properties must match the current hostname. A parent Search Console Domain Property can be used for a subdomain, but imported Search Analytics rows are restricted to the current hostname before local storage.

= Optional Pro add-on =

Erriflow SEO Analytics Pro is a separate plugin distributed outside WordPress.org. It can add Scanner, Opportunities, GA4 analytics, URL Inspection, Change History, notifications, and other premium modules. The WordPress.org package does not contain the Pro feature runtime.

= External services =

Erriflow SEO Analytics communicates with external services only when a feature requires them.

* Google APIs: After an administrator connects Google or configures a service account, the plugin sends authenticated read-only requests to Google Search Console APIs. When the separate Pro analytics functionality is installed and used, requests can also be sent to Google Analytics APIs. Requests may include the selected property, site URL, dates, dimensions, filters, and other report parameters required to retrieve reporting data. Google returns property/account information and reporting metrics. Google Privacy Policy: https://policies.google.com/privacy . Google API Services User Data Policy: https://developers.google.com/terms/api-services-user-data-policy . Google APIs Terms of Service: https://developers.google.com/terms .

* Erriflow OAuth Broker: Easy Connect uses the technical endpoint https://auth.seomonitor.top when an administrator starts, completes, refreshes, disconnects, or revokes a Google OAuth connection. The broker can receive the WordPress site URL, HTTPS callback URL, a one-time OAuth state, requested read-only Google scopes, locale, OAuth exchange data, and the connection identifier/credential required for token exchange or revocation. The plugin can also identify its version and site URL in request headers. The broker is not used for ordinary local report rendering. Privacy Policy: https://seomonitor.top/privacy-policy/ . Terms: https://seomonitor.top/terms/ .

* Freemius: The bundled Freemius SDK provides optional opt-in/account functionality, add-on discovery, licensing, checkout, and delivery for the separately distributed Pro add-on. Free users can skip the Freemius data-sharing opt-in. When a user opts in or uses Freemius account, licensing, checkout, or delivery features, site, environment, product/account, or transaction data required by Freemius may be sent to Freemius. Freemius Privacy Policy: https://freemius.com/privacy/ . Terms of Service: https://freemius.com/terms/ . Data practices: https://freemius.com/privacy/data-practices/ . SDK source: https://github.com/Freemius/wordpress-sdk .

For the plugin author's privacy information, see https://seomonitor.top/privacy-policy/ .

= Data retention and uninstall =

Erriflow SEO Analytics preserves locally accumulated reporting history by default when the plugin is removed, unless an administrator selects the destructive uninstall policy in plugin settings before uninstalling.

Regardless of the selected history-retention policy, uninstall removes stored OAuth connection secrets, service-account credentials, and cached OAuth/service-account access tokens. With the destructive policy enabled, the plugin also removes its owned local tables, options, post meta, and user meta.

== Installation ==

1. Install and activate Erriflow SEO Analytics.
2. Open Erriflow SEO Analytics in WordPress admin and connect Google.
3. Select the Search Console property for the current site.
4. Let the plugin synchronize reporting history into the local WordPress database.
5. Optionally install the separately distributed Erriflow SEO Analytics Pro add-on.

== Frequently Asked Questions ==

= Does the plugin modify Search Console or Analytics data? =

No. The Google access used by Erriflow SEO Analytics is read-only.

= Is Google connection required to activate the plugin? =

No. The plugin can be activated without connecting Google. Search Console reporting requires a Google connection before data can be synchronized.

= Is Pro included in the WordPress.org plugin? =

No. Erriflow SEO Analytics Pro is a separate optional add-on. The Pro feature runtime is not bundled with the WordPress.org Free package.

= Does uninstall always delete reporting history? =

No. Local reporting history is preserved by default. Administrators can select the destructive uninstall policy before removal if they want the plugin-owned local data removed as well.

== Screenshots ==

1. Overview dashboard with Search Console performance metrics.
2. Page performance report with clicks, impressions, CTR, and average position.
3. Search query report with locally stored Search Console history.
4. Country and device performance reports.
5. Google connection and site-bound resource selection.
6. Sitemap and technical Search Console reporting.

== Changelog ==

= 1.3.2 =
* Added WordPress.org plugin screenshots and updated directory presentation.
* Removed automatic deactivation of other plugin copies.
* Finalized unique Erriflow prefixes for hooks, options, nonces and runtime keys with legacy-key migration.
* Applied late escaping to generated admin markup.

= 1.3.0 =
* Renamed the WordPress.org package to Erriflow SEO Analytics with the erriflow-seo-analytics text domain and package identity.
* Moved admin CSS previously printed from PHP into enqueued stylesheet files.
* Removed bundled plugin translation catalogs so WordPress.org can provide language packs through translate.wordpress.org.
* Hardened output escaping and rechecked privileged request handlers, nonces, and capability checks.
* Clarified the separation between the independent Free core and the separately distributed Pro add-on.
* Added Site Identity Binding for Google Search Console resources and hostname-filtered local storage.
* Preserved the v20 local database schema and existing reporting storage identifiers for compatibility with pre-release installations.
