Slot Demos Cascade
A drop-in WordPress plugin that loads slot game demo iframes directly from official provider CDNs, with a configurable cascade fallback chain.
→ View on GitHub · → Release notes · → Report issue
Why this exists
Affiliate review sites embedding slot demos typically rely on a single aggregator URL that breaks every few weeks when the provider rotates their CDN, expires a token, or geo-blocks the visitor. This plugin wraps N independent provider sources behind one shortcode and tries them in cascade order until one returns a working iframe URL — so a single broken provider doesn't take your demo down site-wide.
Features
10 provider sources
Yggdrasil, NoLimit, Relax, Quickspin, Wazdan, Push Gaming, Endorphina, Hacksaw, Thunderkick, Stakelogic — extensible via SourceInterface.
Cascade fallback
Tries each configured source per game in priority order; returns the first that resolves in under 800 ms.
REST API
GET /wp-json/slot-demos-cascade/v1/launch?game=<slug> for headless use.
Daily health check
WP-Cron sweeps every (game, source) pair; logs latency + HTTP status to JSONL.
Admin dashboard
Colour-coded matrix at Tools → Demo Health.
Shortcode
[slot_demo game="razor-shark"] renders responsive iframe.
Install
composer require slot-demos-cascade/wp-slot-demos-cascade
Or download from Releases and drop into wp-content/plugins/.
Configure
Map game slugs to provider IDs in data/games-map.json:
{
"razor-shark": {
"push-gaming": "razor-shark"
},
"san-quentin-xways": {
"nolimit": "san-quentin"
},
"valley-of-the-gods": {
"yggdrasil": "ValleyoftheGods"
}
}
Embed
[slot_demo game="razor-shark" height="600"]
Production deployment
This plugin powers slot demo embedding on Sobrejuegos — a Spanish-market slot review site indexing ~600 game review pages, where it routes roughly 12 000 demo loads per month with a 96.4% first-attempt success rate.
Live example: Sweet Bonanza demo page — shows the rendered iframe plus the fallback chain in action.
Running this plugin in production? Open a Discussion to get listed here.
Architecture
SourceInterface— contract every provider implements.DirectSource— base class for direct-CDN providers (URL templates, HEAD probe).CascadeRouter— loadsgames-map.json, tries each source, returns first resolution.Cache,Logger— Transients + rotating JSONL logs.Cron\HealthCheck— daily sweep at 04:00 UTC.Admin\HealthScreen— game × source matrix in WP admin.Rest\{Launch,Health}Route— REST endpoints.