How It Works
The compatibility system automatically detects other SEO plugins and adjusts GEO AI’s behavior to prevent overlapping outputs. File:includes/class-geoai-compat.php
Supported Plugins
Yoast SEO
Detects
WPSEO_VERSION constant or WPSEO_Options classRank Math
Detects
RANK_MATH_VERSION constant or RankMath classSEOPress
Detects
SEOPRESS_VERSION constant or SEOPress classAll in One SEO
Detects
AIOSEO_VERSION constant or All_in_One_SEO_Pack classDetection Logic
TheGeoAI_Compat class runs on initialization and checks for active SEO plugins:
Compatibility Modes
GEO AI supports two modes:- Standalone Mode (Default)
- Coexist Mode
GEO AI outputs all meta tags, schema, and sitemaps as if it’s the only SEO plugin.Use when:
- GEO AI is your primary SEO plugin
- No other SEO plugins are active
- You want full control over SEO outputs
Configure Mode
Via Settings:- Go to Settings → GEO AI → General
- Find “Compatibility Mode” dropdown
- Select Standalone or Coexist
- Save changes
Suppression Mechanism
When coexist mode is active and conflicts are detected, GEO AI removes its output hooks:What Gets Suppressed
In coexist mode, GEO AI suppresses:Meta Tags
Meta Tags
Social Tags
Social Tags
Schema Markup
Schema Markup
Not currently suppressed - you should disable schema in one plugin to avoid duplicates.
Sitemaps
Sitemaps
Not currently suppressed - disable sitemaps in one plugin.Most plugins use different sitemap URLs:
- GEO AI:
/sitemap.xml - Yoast:
/sitemap_index.xml - Rank Math:
/sitemap_index.xml - SEOPress:
/sitemaps/posts-post-1.xml
What Still Works
Even in coexist mode, these GEO AI features remain active:AI Analysis
Google Gemini-powered audits continue to work
Editor Sidebar
Gutenberg panel shows scores and recommendations
Analyzers
All 5 analyzers (keyword, readability, etc.) function normally
WP-CLI
Command-line audits and reports
Dashboard
SEO health dashboard and statistics
Internal Linking
Suggestions for internal links
Migration Workflow
Migrating from another SEO plugin to GEO AI:Enable Coexist Mode
Go to Settings → GEO AI → General and set compatibility mode to Coexist.This prevents duplicate meta tags during migration.
Programmatic Access
Check compatibility status in your code:Custom Plugin Detection
Add support for custom or niche SEO plugins:Troubleshooting
Duplicate meta tags appearing
Duplicate meta tags appearing
GEO AI not detecting other plugin
GEO AI not detecting other plugin
Symptoms: Other plugin is active but not in conflicts arraySolution:
- Check if plugin loads before GEO AI (use
plugins_loadedpriority) - Verify the constant/class the plugin defines
- Add custom detection with
geoai_detected_conflictsfilter - Report unknown plugin to GEO AI support
Want to use GEO AI meta with other plugin's features
Want to use GEO AI meta with other plugin's features
Symptoms: Yoast active but want GEO AI to handle meta tagsSolution:
- Keep GEO AI in standalone mode
- Disable meta output in the other plugin (Yoast, etc.)
- Use other plugin’s features (redirects, breadcrumbs, etc.) without meta conflict
Known Limitations
Best Practices
Recommendations
- Use coexist mode temporarily during migration, then switch to standalone
- Don’t run multiple SEO plugins long-term - choose one as primary
- Test meta tags after switching modes (view-source, not DevTools)
- Clear all caches when changing compatibility settings
- Monitor Search Console for duplicate title/description issues
- Disable unused features in both plugins to reduce overhead
API Reference
Class: GeoAI\Core\GeoAI_Compat
Methods:
| Method | Returns | Description |
|---|---|---|
get_instance() | GeoAI_Compat | Singleton instance |
detect_conflicts() | array | List of detected plugin names |
init_compat_mode() | void | Initialize compatibility hooks |
maybe_suppress_outputs() | void | Remove meta output hooks if needed |
is_standalone_mode() | bool | Check if standalone mode active |
should_output_meta() | bool | Check if safe to output meta |
Related Resources
Installation
Install GEO AI alongside existing plugins
Settings
Configure compatibility mode
Hooks & Filters
Customize compatibility behavior
Migration Guide
Step-by-step migration from other plugins