Skip to content
iGaming SEO

Slot Demo Pages and SEO: How to Get Google to Index the Content, Not Just the Game

Slot Demo iframe SEO

Last reviewed: October 2026

On a slot or casino game page, the demo is what players came for, but the text around it’s what Google ranks. On mobile, a heavy game iframe that loads straight away tends to push that text out of view, slow the page down and add very little that a search engine can read. The fix I use is simple to describe: render the useful text in the page itself, show a lightweight preview where the game sits, and only load the real game when someone taps to play.

This guide explains why that works, what Google actually does with iframes, and how I’d set up a game page so it ranks, gets cited by AI tools and still lets people play. It’s written for SEOs and developers working on casino and slot review sites in markets where online gambling is licensed and legal.

The short answer

  • Google can sometimes index iframed content as part of the host page, but its own Search Advocate says it’s “not always trivial” and recommends putting important content directly on the page.
  • Most AI crawlers don’t render JavaScript at all, so an iframe loaded by script is effectively invisible to them.
  • On mobile, Google indexes the mobile version of your page. If the demo fills the first screen and the text is thin, that’s the page Google judges.
  • A click-to-play facade, a static preview that swaps in the real game on tap, keeps the page light and puts the text first.
  • If a game loads through a provider’s JavaScript SDK, load that SDK on interaction, not in the page head.
  • In some markets, demos need an age check before anyone can play. Plan for that in the layout from the start.

What Google actually does with iframes

There’s a lot of folklore here, so it’s worth starting with what Google has said. In April 2023, John Mueller of Google said that Google “does try to crawl iframed content and include it in the indexed page, if it’s allowed”. In the same answer he said it’s “not always trivial”, and that for content you want indexed in the page’s context, he’d “work to include it directly rather than relying on iframes”.

There’s also a robots directive built for this situation. indexifembedded, used together with noindex, lets a page stay out of search results on its own while its content can still be indexed when another page embeds it. It’s useful for publishers of embeddable media. It isn’t something a casino affiliate can rely on, because you don’t control the provider’s game URL or its headers.

For a slot page, the practical reading is this. Whatever sits inside the provider’s iframe is the provider’s content, it’s the same on every site that embeds it, and you have no control over whether Google folds any of it into your page. The only content you can count on is the content in your own HTML.

The test I use: open the page, choose View Source (not Inspect), and search for your key facts: RTP, volatility, max win, provider, features. If they aren’t in the source, most AI crawlers can’t see them, and you’re relying on Google’s renderer to find them.

Why mobile is where game pages break

Google indexes the mobile version of pages. That matters more on game pages than almost anywhere else, because the typical desktop layout, a large demo at the top with a review underneath, becomes something very different on a 390-pixel screen.

What happens on mobileWhy it hurts
The demo iframe takes the whole first screenThe text that explains the game starts below the fold, and the first thing Google’s renderer sees is a third-party frame
The provider loads several megabytes of scripts, images and audioSlower Largest Contentful Paint, and a page that feels sluggish on mid-range phones
The iframe has no fixed size until it loadsLayout shift as the game appears, which is a Core Web Vitals problem
Game scripts keep the main thread busyPoor Interaction to Next Paint, so taps on your menu or table respond late
The demo autoloads for every visitorYou pay the full cost even for visitors who only wanted the RTP or the review

None of that means the demo is bad for SEO. Free play is a genuine part of the search intent for many slot queries. The problem is loading it before anyone has asked for it.

The pattern I use: text first, facade in place, game on tap

This is the structure I’d recommend for a slot or game page. It works with iframes and with provider SDKs, and it keeps the page fast without hiding the demo.

1. Put the substance in the HTML

Above or beside the game area, server-render a short game facts box and an opening paragraph that answers the main question. Below it, the full review. The facts that matter for search and for AI answers are the ones players compare:

  • Provider and release date
  • RTP, and whether the game has more than one RTP setting, which many do
  • Volatility and maximum win, as stated by the provider
  • Reels, rows, paylines or ways, and minimum and maximum bet
  • Bonus features explained in plain words, with how they’re triggered
  • Your own testing notes: what the base game felt like, how often features landed in your session, anything that surprised you

That last point is the one most slot pages skip, and it’s the one that makes a page worth citing. Provider facts appear on hundreds of sites. Honest notes from someone who actually played the game don’t.

2. Replace the iframe with a facade

A facade is a static stand-in that looks like the embed but costs almost nothing to load. Chrome’s own documentation describes the pattern: show the facade on load, start connecting to the third party when the user shows intent, and swap in the real embed on click. Their example is YouTube, where a facade of about 3 KB replaces a player of around 540 KB until someone presses play.

For a game, the facade is a properly sized thumbnail with a clear play button and a short line such as “Free demo, no deposit needed. 18+.” The container reserves the game’s aspect ratio, so nothing jumps when the game loads.

<div class="game-demo" style="aspect-ratio:16/9" data-src="https://provider.example/demo?game=123">
  <img src="/img/game-123-cover.webp" width="1280" height="720"
       alt="Book of Example slot, opening screen" loading="eager">
  <button type="button" class="game-demo__play">Play free demo</button>
</div>
<script>
document.querySelectorAll('.game-demo').forEach(function (box) {
  var src = box.dataset.src;
  var origin = new URL(src).origin;
  function warm() {
    var l = document.createElement('link');
    l.rel = 'preconnect'; l.href = origin;
    document.head.appendChild(l);
  }
  box.addEventListener('pointerenter', warm, { once: true });
  box.addEventListener('touchstart', warm, { once: true, passive: true });
  box.querySelector('button').addEventListener('click', function () {
    var f = document.createElement('iframe');
    f.src = src; f.title = 'Free demo';
    f.allow = 'fullscreen'; f.style.cssText = 'width:100%;height:100%;border:0';
    box.replaceChildren(f);
  });
});
</script>

Two details matter more than they look. Give the iframe a descriptive title, because screen readers announce it. And keep the cover image’s width and height set, so the browser reserves the space before anything loads.

3. If the game uses a provider SDK, load it on demand

Some aggregators and providers load games through a JavaScript SDK rather than a plain iframe URL. The same rule applies: don’t put the SDK in the page head. Load it when the player taps play, then initialise the game into the reserved container. If the provider insists on early loading, ask whether they support a lighter launcher or an iframe launch URL; many do.

button.addEventListener('click', function () {
  var s = document.createElement('script');
  s.src = 'https://provider.example/sdk.js';
  s.onload = function () { window.ProviderSDK.launch({ el: box, game: '123', mode: 'demo' }); };
  document.head.appendChild(s);
}, { once: true });

4. Don’t lean on native lazy loading for the main demo

loading="lazy" on an iframe is useful for embeds further down the page, such as a second game in a “similar slots” section. It doesn’t help the main demo, because that one is usually in the first screen, so the browser loads it straight away anyway. For anything above the fold, the facade is what saves the cost.

Compliance shapes the layout too

In some regulated markets, a free demo isn’t simply a free demo. In 2019 the UK Gambling Commission told licensees that free-to-play versions of their games must only be played by customers whose age has been verified, said self-declared dates of birth aren’t enough, and specifically called out free-play games offered through affiliates. Licensees are responsible for the third parties they work with, so in practice that rule reaches affiliate sites too.

That’s another reason the facade pattern works well. The same placeholder can lead to the demo, to an age check, or to a note that demos aren’t available in your region, without changing the text Google sees. Keep the written content identical for every visitor and for Googlebot, and only change what happens behind the play button. Showing search engines different content from users is cloaking, and that’s a line you don’t want to cross.

And if your site serves several markets, don’t show demos at all where online gambling isn’t legal.

Structured data: keep it honest

Mark up what’s visibly on the page: Article or Review for the review itself, BreadcrumbList for the navigation, and an image object for the game cover if it helps. If you show a rating, make sure the rating, the method behind it and the reviewer are all visible. Don’t add review markup for scores the reader can’t see, and don’t expect rich results to carry a gambling page. The content is what ranks.

How I check a game page before it goes live

  1. View Source on a phone-sized viewport and confirm the facts box and opening paragraph are in the HTML.
  2. Run URL Inspection in Search Console, then a live test, and look at both the screenshot and the rendered HTML. The facade should appear, and the text should be there.
  3. Run PageSpeed Insights on mobile. The demo shouldn’t be part of the initial load at all.
  4. Load the page on a mid-range Android phone over 4G, tap the menu before touching the game, and check it responds immediately.
  5. Tap play and check the game fills the reserved space without the page jumping.
  6. Check the age gate or regional message appears where it should, and that the written content doesn’t change.

Mistakes I see on slot pages

  • Autoloading the demo for every visitor, including the ones who only wanted the RTP.
  • A one-line intro above a full-screen demo, with the review hidden in a tab or accordion.
  • Copying the provider’s description word for word, which is the same text on hundreds of other pages.
  • Loading the provider SDK in the head of every page on the site, not just game pages.
  • No reserved space for the game, so the page jumps when it loads.
  • Different text for different countries without a clear reason, which drifts towards cloaking.

Frequently asked questions

Does Google index content inside an iframe?

Sometimes. Google has said it tries to include iframed content in the host page when it’s allowed, but that it isn’t always straightforward, and it recommends including important content directly. For a slot page, treat the iframe as the provider’s content and put your own content in the HTML.

Will a click-to-play demo hurt my rankings?

No. The text is what ranks, and a facade makes the page faster and the text easier to reach. Players who want the demo still get it with one tap.

Should I use loading=”lazy” on game iframes?

Yes for iframes further down the page. For the main demo near the top, use a facade instead, because the browser loads above-the-fold iframes straight away.

Can AI tools like ChatGPT read my slot reviews?

Only the parts in your HTML. Most AI crawlers don’t run JavaScript, so anything loaded by script, including script-injected iframes, won’t be seen.

Do UK affiliates need age verification for demos?

The UK Gambling Commission requires age verification before free-to-play games, and it has said licensees are responsible for affiliates offering their free-play games. Check your operator agreements, as many now require it.

Final word

Treat the demo as a feature people opt into, not the page itself. Put the facts and your own experience of the game in the HTML, keep the first screen fast on a phone, and load the game when someone asks for it. You’ll usually get better rankings and a better experience for players at the same time, which isn’t something SEO offers very often.

If you want me to look at your game page templates, get in touch. For the wider picture, see the complete iGaming SEO guide and the technical SEO guide.

I work only with brands licensed in the markets they serve, in markets where online gambling is legal. This guide is for SEO professionals and isn’t aimed at players. Gambling is for adults only.

Sources

Core Web Vitals Igaming SEO slot pages technical SEO

Found this useful? Share it

Leave a comment