orbit-compat-yoastlisted
Install: claude install-skill adityaarsharma/orbit
# 🪐 orbit-compat-yoast — Yoast SEO coexistence
Yoast is on 13M+ sites. Any plugin that touches SEO output (meta tags, schema, sitemaps, breadcrumbs, titles) coexists with Yoast or breaks customer trust.
---
## What this skill checks
### 1. Title-tag collision
**Whitepaper intent:** Two plugins setting `<title>` results in duplicate or empty `<title>`. Yoast adds `add_theme_support( 'title-tag' )` and runs at priority 1. Your plugin shouldn't override `<title>` unless gating with `function_exists( 'YoastSEO' ) === false`.
```php
// ❌ Conflicts with Yoast
add_filter( 'document_title_parts', 'my_plugin_title', 10 );
// ✅ Defer to Yoast if present
add_filter( 'document_title_parts', function( $parts ) {
if ( defined( 'WPSEO_VERSION' ) ) return $parts; // let Yoast handle
// your title logic
return $parts;
}, 10 );
```
### 2. Schema duplication
Yoast ships JSON-LD schema. Plugins that also output schema cause duplicates → search engines confused.
```php
// Detect Yoast schema and skip yours, OR hook into Yoast's pipeline:
add_filter( 'wpseo_schema_graph', 'my_plugin_extend_yoast_schema', 10, 2 );
```
### 3. Meta description collision
Same pattern — let Yoast win, OR hook into its filter:
```php
add_filter( 'wpseo_metadesc', 'my_plugin_alter_yoast_metadesc' );
```
### 4. Sitemap collision
Yoast generates `sitemap_index.xml`. If your plugin also generates a sitemap → 2 sitemaps fighting for `robots.txt` / Search Console.
```php
// ✅ Hook into Yoast's sitemap to ad