Cross-domain hreflang that does not gamble with missing pages.
Slim Hreflang is built for separate WordPress installations per language or market. Mapping is explicit, validation happens in the background, rendering stays local.
Mapping ≠ existence.
A CSV can tell us which URLs should correspond. It cannot prove that the remote page still exists. Slim Hreflang treats those as two different facts.
Designed for correctness before convenience.
Cross-domain mapping
One WordPress install per domain/language; the plugin does not translate content.
CSV import
Bidirectional URL mapping with BOM stripping and row validation.
Menu + Gutenberg switcher
Nav menu item or Gutenberg block.
JS-free dropdown
Native details/summary with short codes and accessible tooltips.
Background sync
Configurable WP-Cron from 15 minutes to daily plus WP-CLI.
Existence validation
REST manifest → XML sitemap → direct HEAD request.
Local fragment cache
Zero cross-domain calls at render time; indexed local DB fallback when cold.
Stale-state safety
Keep last known-good state if a peer becomes unreachable.
Authenticated manifest
Shared secret, rate limiting and never-cacheable response.
SEO-WP contract
Feeds alternates while SEO-WP remains the sole renderer.
Standalone fallback
Prints correct hreflang itself when SEO-WP is absent.
Strict mode
Only sync-confirmed counterparts become hreflang alternates.
Visitor fallback
Switcher may use mapped ancestor or target homepage.
Diagnostics
Sync status, mismatches, one-sided links and detailed failure reasons.
Manual Sync Now
Trigger without SSH and report partial failures accurately.
WP_DEBUG logging
[Slim Hreflang]-prefixed debug outcomes.
Language/domain UI
Dynamic language rows, current install and x-default configuration.

