Title: SAEC SEO
Author: saec
Published: <strong>January 13, 2026</strong>
Last modified: January 13, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/saec-seo.svg)

# SAEC SEO

 By [saec](https://profiles.wordpress.org/saec/)

[Download](https://downloads.wordpress.org/plugin/saec-seo.1.1.0.zip)

 * [Details](https://pcd.wordpress.org/plugins/saec-seo/#description)
 * [Reviews](https://pcd.wordpress.org/plugins/saec-seo/#reviews)
 *  [Installation](https://pcd.wordpress.org/plugins/saec-seo/#installation)
 * [Development](https://pcd.wordpress.org/plugins/saec-seo/#developers)

 [Support](https://wordpress.org/support/plugin/saec-seo/)

## Description

SAEC SEO provides read-only SEO audit, SEO override fields, optional SEO logs, and
WP-CLI tooling for operational workflows.

Company information:
 – SAEC Holding – https://saec.me – info@saec.me

### External Services

This plugin can connect to Google Search Console using Google APIs if (and only 
if) an administrator enables the feature and completes the OAuth authorization flow.

 * Service: Google Search Console API (Google APIs)
 * Purpose: retrieve Search Analytics metrics (pages, clicks, impressions, CTR, 
   position) to display inside WordPress.
 * When data is sent: only when you click “Connect” / “Pull” in the Search Console
   tab (manual action).
 * Data sent to Google: your configured property URL (site URL) and the selected
   date range/row limit used for the Search Analytics request.
 * Data stored locally: OAuth token data is stored in a WordPress option; retrieved
   metrics are cached in WordPress options for display/export.

Relevant policies:
 * 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 * Google Privacy Policy: https://policies.google.com/
privacy

### License

This plugin is licensed under the GNU General Public License v2 or later.

### More Features

A non-limited edition is available from the editor website: https://saec.me/suite-
saec

## Installation

 1. Upload the plugin to /wp-content/plugins/ or install via ZIP upload.
 2. Activate the plugin through the ‘Plugins’ menu in WordPress.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“SAEC SEO” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ saec ](https://profiles.wordpress.org/saec/)

[Translate “SAEC SEO” into your language.](https://translate.wordpress.org/projects/wp-plugins/saec-seo)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/saec-seo/), check out
the [SVN repository](https://plugins.svn.wordpress.org/saec-seo/), or subscribe 
to the [development log](https://plugins.trac.wordpress.org/log/saec-seo/) by [RSS](https://plugins.trac.wordpress.org/log/saec-seo/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.4.10

 * Admin: redesigned Sitemap tab layout (WP-native cards/grid).

#### 2.4.8

 * Remove all remaining Pro/Agency limitation references and related settings.
 * Remove WP-CLI integration from WP.org build.
 * Remove bundled translation files (handled by WordPress.org translation system).
 * 2.3.1
 * Fix: strict tab-save sanitization against defaults schema; avoid processing entire
   $_POST/$_REQUEST.
 * Fix: admin assets use wp_register_* + wp_enqueue_*; nonce action aligned with
   save endpoint.
 * Fix: remove HTML-wrapped translation string in Help tab; add missing translators
   comments.
 * Fix: additional wp_unslash/sanitize handling for editor AJAX saves.
 * 2.3.0
 * Fix: load admin CSS/JS via wp_register_* and wp_enqueue_*; move inline CSS to
   enqueued stylesheet.
 * Fix: add nonce and capability checks; sanitize/validate inputs; escape output
   for key admin/front-end renders.
 * Fix: secure SQL queries with $wpdb->prepare() and escaped allowlisted table names.
 * Fix: remove direct file writes for robots/sitemap actions; use dynamic generation.
 * Docs: document Google Search Console external service usage.

#### 2.2.4

 * Add a small in-plugin (settings page only) link to SAEC SEO information.
 * Fix admin permission message string.

#### 2.2.2

 * Rebuilt Help tab: exhaustive documentation of all plugin features (fully translatable).

#### 2.2.1

 * WordPress.org: remove runtime translation generation; ship compiled .mo files.
 * Admin: load assets only on SAEC SEO admin page.
 * Readme: Tested up to 6.9.

#### 2.1.9

 * Fix: Scores “Quick fix” button now triggers AJAX action and shows status/log.

#### 2.1.8

 * System alerts: optional orphan pages threshold triggers an email notification.
 * Fix: orphan scan suggestions query now uses a defined post type list (prevents
   PHP notices).

#### 2.1.7

 * System: orphan hints now include inbound/depth and suggested internal link sources.
 * Admin: improved orphan list rendering.

#### 2.1.6

 * Fix: prevent fatal by implementing Runtime::filter_wp_sitemaps_enabled() (used
   to disable WordPress core sitemaps when configured).
 * UI: Dashboard layout updated (key blocks now span full width where appropriate;
   improved spacing).

#### 2.1.5

 * Sitemap: option to disable WordPress core sitemap (wp-sitemap.xml) and use SAEC
   sitemap only.

#### 2.1.4

 * System: improved orphan page detection (internal links extraction + inbound count
   + approximate depth from menus).
 * Export: system scan JSON/CSV and Search Console snapshots/deltas export.

#### 2.1.3

 * UI: wider admin container for clearer 50/50 grid on the Dashboard.

#### 2.1.2

 * Add: system alerts (HTTP errors/latency thresholds) with email notifications 
   and cooldown.

#### 2.1.1

 * Fix: register admin-post action for “Run system scan”.
 * Add: daily systemic scan cron.

#### 2.1.0

 * Add: System tab (basic) with local-only systemic SEO checks (HTTP availability
   for key endpoints, orphan page hints, SAEC Perf bridge presence).
 * Add: Manual “Run system scan” action storing last results (UTC timestamp).

#### 2.0.10

 * Fix: PHP fatal “Multiple access type modifiers” (removed stray orphan modifier
   before render_tab_sitemap).

#### 2.0.9

 * Fix: add missing render_tab_sitemap() to prevent fatal when opening Sitemap tab.

#### 2.0.8

 * Fix: remove stray tokens in admin class that could break admin rendering.
 * Fix: ensure AJAX save handler is a proper class method.
 * Sitemap: add transient cache for sitemap responses (configurable TTL).
 * Sitemap: exclude password-protected content from sitemap.

#### 2.0.7

 * Fix: admin settings save fallback via admin-post.php when admin-ajax.php returns
   400.
 * UI: Automation + Redirects forms switched to POST fallback while keeping AJAX
   when available.
 * Add: Sitemap tab (URLs, settings, rebuild).

#### 2.0.6

 * Fix: PHP parse error in includes/class-db.php (activation rewrite hook).

#### 2.0.3

 * Fix: removed extra closing tags causing WordPress footer to appear mid-page (
   Automation / Redirects tabs).
 * Fix: Automation tab settings now save (AJAX tab key supported).
 * Fix: Run-now AJAX uses correct parameter (run) and supports existing buttons.
 * UI: Two-column admin layout on all tabs except Scores.
 * i18n: force plugin-generated MO file (from shipped PO) to avoid mojibake when
   third-party translation files exist.

#### 2.0.2

 * Add: Google Search Console OAuth (connect/disconnect) and API pull for page metrics.
 * Add: Search Console settings (Client ID/Secret, property, days, row limit) with
   AJAX save.
 * Fix: i18n robustness — .mo files rebuilt from .po at runtime (removed packaged.
   mo to avoid mojibake).

#### 2.0.1

 * Fix: admin.js restored as real JavaScript (AJAX save/run).
 * Fix: .mo recompiled from .po (UTF-8) to remove mojibake.
 * Fix: Automation tab markup (removed stray closing label).
 * Improvement: clearer AJAX error handling.

#### 1.9.5

 * Add: Regression detection (local baseline) via daily job and history/log entries.
 * Add: Settings for regression scan scheduling and score-drop threshold.

#### 1.9.4

 * Packaging: repackaged release (new ZIP).
 * Version: bump to 1.9.4.

#### 1.9.3

 * Fix: i18n – recompiled all .mo files from .po (UTF-8) to prevent mojibake in 
   admin UI.

#### 1.9.1

 * Fix: i18n – regenerated .mo files from .po and completed missing admin strings
   translations.

#### 1.8.3

 * Fix: PHP fatal error (duplicate access modifier) in SEO logs.
 * Fix: WP-CLI audit argument parsing.
 * Add: WP-CLI command `saec-seo gsc list`.
 * Add: WP-CLI command `saec-seo logs purge` (with –dry-run).
 * Add: readme.txt with GPLv2 or later reference and SAEC Holding information.

## Meta

 *  Version **2.4.11**
 *  Last updated **3 months ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/saec-seo/)
 * Tags
 * [metadata](https://pcd.wordpress.org/plugins/tags/metadata/)[seo](https://pcd.wordpress.org/plugins/tags/seo/)
   [wp-cli](https://pcd.wordpress.org/plugins/tags/wp-cli/)
 *  [Advanced View](https://pcd.wordpress.org/plugins/saec-seo/advanced/)

## Ratings

No reviews have been submitted yet.

[Add my review](https://wordpress.org/support/plugin/saec-seo/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/saec-seo/reviews/)

## Contributors

 *   [ saec ](https://profiles.wordpress.org/saec/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/saec-seo/)