Description
SEO Agent Helper connects your WordPress site to SEO Agent (seo-agent.io),
an AI-powered content platform that helps you plan, write, and publish
SEO-optimized articles based on real keyword research for your niche.
Free plan includes 3 articles and 20 AI image alt texts per month through the SEO Agent service.
No credit card required.
What this plugin does
- Receives and publishes articles prepared by SEO Agent — content you have reviewed and
approved through the SEO Agent dashboard before it reaches your site - Applies SEO metadata to each published post (Yoast, Rank Math, AIOSEO, SEOPress)
- Fills missing image alt text using AI to improve accessibility and search coverage
- Injects Organization schema markup for structured data
- Syncs published post URLs back to SEO Agent so the service can update its internal links
- Removes duplicate-content query parameters (?nocache=, ?elementor_popup=) from canonical URLs
External Service Notice
This plugin connects to seo-agent.io to publish articles and generate alt text.
Your site URL, published post URLs, and image URLs are transmitted to this service.
See: https://seo-agent.io/privacy and https://seo-agent.io/terms
Requirements
A free SEO Agent account is required. Sign up at seo-agent.io – no credit card needed.
External Services
This plugin communicates with seo-agent.io for all core functionality:
- What is sent: Site URL (on first page load after installation, with automatic retry backoff), published post URLs and titles
(on publish/update/delete), page URLs (site audit), image URLs (for alt text
generation), plugin version (on each poll), crash reports (on fatal errors).
If WooCommerce is installed: product titles, URLs, and status changes are synced
automatically via webhooks to power internal linking. - When: On activation, every 5 minutes via WP-Cron, on post publish/update/delete,
and on WooCommerce product changes (if WooCommerce is installed). - Privacy policy: https://seo-agent.io/privacy
- Terms of service: https://seo-agent.io/terms
Installation
- Install and activate the plugin
- The plugin connects automatically on activation
- Visit SEO Agent in your WordPress admin to complete setup
FAQ
-
Is the plugin free?
-
Yes. The plugin is free. A free SEO Agent account gives you 3 articles and
20 AI alt texts per month. Paid plans remove these limits. -
Does the plugin work without an account?
-
The plugin will auto-register a free account when activated. No manual setup needed.
-
What data is sent to seo-agent.io?
-
Your site URL, published post URLs, image URLs for alt text generation, and crash reports on fatal errors.
See the External Services section below.
Reviews
Contributors & Developers
“SEO Agent IO” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “SEO Agent IO” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
4.89
- Rename plugin display name to «SEO Agent IO»
4.88
- Fix auto-update for existing ZIP installs (revert ZIP directory name to seo-agent-helper/)
4.87
- Fix ZIP directory name for WordPress.org compatibility (reverted in 4.88)
4.86
- Fix preg_match fatal error on publish-post route (remove sanitize_title as sanitize_callback for slug param)
4.85
- Replace parse_url() with wp_parse_url() throughout (WP.org scanner compliance)
- Replace strip_tags() with wp_strip_all_tags() throughout (WP.org scanner compliance)
- Add wp_unslash() to $_SERVER reads (REMOTE_ADDR, HTTP_ORIGIN, REQUEST_METHOD)
- Fix uninstall.php: prefix all global variables with seo_agent_ namespace
4.84
- Remove custom update hooks (pre_set_site_transient_update_plugins, auto_update_plugin) – WordPress.org handles plugin updates natively
4.83
- Rename plugin slug to seoagentio-helper (WordPress.org requirement)
- Fix image alt text: use 20s timeout for async retry cron (5s default caused silent failures)
- Add fallback: set alt from server-generated text if AI API times out during sideload
4.82
- Strip wpautop-added paragraph wrappers from inline JSON-LD blocks
4.81
- Fix unused variable in inject-schema handler
- Refactor ob_start helper so each caller has explicit ob_end_flush() for static analysis
4.80
- inject-schema endpoint now stores schema in post meta instead of post_content
- Add comment clarifying base64_decode usage (HTTP Basic Auth header decoding)
4.79
- Refactor output buffer handling: shared helper eliminates duplicate flush logic
- Shutdown hook priority -1 ensures buffer closes before WordPress core cleanup
- Skip unnecessary ob_get_status() calls on AJAX and cron requests
4.78
- Explicit shutdown handler to close output buffer opened at template_redirect
- Remove load_plugin_textdomain() – WordPress 4.6+ loads translations automatically
- Fix code comment that triggered WP.org automated scanner
4.77
- Fix featured image sideload: preserve original alt text set by fill_alt_texts
- Decode HTML entities from media library title on sideload
4.76
- Fix image alt text: use payload alt_text field, decode HTML entities from post title
- Support caption and description fields in set_featured_image task
4.75
- Add _yoast_wpseo_canonical to SEO meta keys allowlist for canonical URL override
4.74
- WP-native auto-update via pre_set_site_transient_update_plugins filter
- Noindex WooCommerce add-to-cart and added-to-cart URL parameters
4.73
- Add activate_plugin task type to re-activate deactivated plugins after reinstall
4.72
- Replace sanitize_url() with esc_url_raw() for WordPress 5.6 compatibility
- Fix double-encoded & in admin page free plan label
- Wrap cron schedule display strings in __() for i18n
- Fix uninstall.php multisite: clear cron hooks and transients per-site
4.71
- Redesigned admin status page with SEO Agent visual identity (all 4 connection states)
4.70
- WP_Filesystem API for all filesystem writes (WP.org scanner compliance)
- Pre-computed SVG icon constant (no base64_encode at runtime)
- sanitize_key on WooCommerce attribute query params
4.69
- WP_Filesystem API for llms.txt writes (WP.org compliance)
- is_wp_error guard on org-schema homepage fetch
- Remove sslverify=false from direct-URL fallback (security)
4.68
- Deactivation clears all cron hooks via wp_clear_scheduled_hook
- Added uninstall.php for full cleanup on plugin deletion
4.67
- Added WooCommerce HPOS compatibility declaration
- Renamed cron intervals to plugin-prefixed names (seo_agent_twicehourly)
- i18n support and textdomain loading
- Converted all anonymous closures to named functions
4.66
- Available on WordPress.org
- Added free tier: 3 articles/month, 20 alt texts/month
- Removed self-update mechanism (updates now via WordPress.org)
4.65
- Fix dashboard link
