Skip to main content
Back to Bloguncategorized

iGaming Schema Markup: Casino, Sportsbook & Crypto Casino Examples (2026)

RedClaw Content Team
RedClaw Content Team
Date
Updated
Reading time
39 min read

TL;DR (30-second answer): iGaming schema markup starts with a core set every casino, sportsbook or crypto casino site needs: Organization on the homepage, with the license in award and verified profiles in sameAs, plus WebSite and a BreadcrumbList on every other page. Each vertical then adds its own layer. Casinos mark up game pages with Product plus Game and attach editorial Review schema written by a named Person. Sportsbooks use SportsEvent for each fixture, with odds as nested Offer entries that expire at kickoff. Crypto casinos list accepted coins in the Organization's acceptedPaymentMethod, and, since Schema.org has no provably fair type, add provablyFair to each game's Product through additionalProperty. Help centers get FAQPage, with every answer visible on the page. AggregateRating belongs only where real user reviews are shown. Google's structured data documentation↗ cites Rotten Tomatoes measuring a 25% higher click-through rate on pages enhanced with structured data (accessed 2026-10-01).

When we audit a new iGaming client's site, we treat the schema panel as one of the fastest fixes for a site with otherwise solid content. The problems to look for: zero structured data, broken JSON-LD, or, worse, fake AggregateRating schemas that violate Google's review snippet guidelines.

This article is the schema-only deep dive from our broader Complete iGaming SEO Guide 2026. I'll walk through real, working JSON-LD blocks for casino sites, sportsbooks, and crypto casinos — including the awkward parts (custom properties for crypto, when to use Event vs SportsEvent, and why most "casino review" schemas are penalty bait). You'll get 15+ copy-paste production-ready examples, regional variations for UK/MGA/Curaçao/US, a CMS migration checklist, and a four-tool validation workflow.

If you'd rather have someone do this for you correctly the first time, our iGaming SEO service ships every site with the schemas in this article validated and indexed before launch.

Our view: Correct Organization, BreadcrumbList, and Article schema is one of the few changes that can lift click-through on pages that already rank, without changing a word of the page copy or building new links. Google's structured data documentation↗ cites Rotten Tomatoes measuring a 25% higher click-through rate on pages enhanced with structured data, and Nestlé measuring an 82% higher click-through rate on pages that show as rich results (accessed 2026-10-01).

What schema markup should an iGaming site use?

Quick answer: Every iGaming site needs Organization (homepage, with award for licensing), WebSite (with SearchAction), and BreadcrumbList (every page). On top of that, casinos add Product/Game + Review for slots, sportsbooks add SportsEvent + Offer for fixtures, and crypto casinos add acceptedPaymentMethod for the coins they take plus a custom provablyFair entry in each game's additionalProperty. Help centers should add FAQPage and HowTo. Affiliate review sites need real Person author entities with Review schemas — never fake AggregateRating.

Schema markup helps Google understand a page and qualify it for rich results, but Google says it is not what gets a page into its AI answers. Google's AI features documentation↗ states there is "no special schema.org structured data that you need to add" to appear in AI Overviews or AI Mode; a page only has to be indexed and eligible to be shown in Google Search with a snippet (accessed 2026-10-01). So your "About" page facts (license number, jurisdiction, founding year) need to be in the visible text, with the markup matching it.

Two things to keep in mind:

  1. Structured data has to match the visible page. Google's AI features page lists "making sure your structured data matches the visible text on the page" among its recommended practices.
  2. Review markup has its own rules. Google's review snippet guidelines↗ say that if a site violates them, Google "may take manual action against it" (accessed 2026-10-01). They apply to every site; nothing in them is specific to gambling or to casino affiliates.

For grey-market and regulated operators alike, schema is also the cleanest way to communicate licensing facts (MGA, UKGC, Curaçao) to crawlers without padding your copy with regulatory boilerplate. More on that in our compliance SEO guide.

Which Schema for Which Page Type — Quick Reference

Page TypePrimary SchemaSecondaryNotes
HomepageOrganizationWebSite, BreadcrumbListAdd sameAs for social profiles
Casino game pageProduct + GameReview, Offer, BreadcrumbListUse category: "Casino Game"
Slot review pageProduct + ReviewAggregateRating (only if real)Tie reviews to author entity
Sportsbook fixture pageSportsEventOffer, BreadcrumbListInclude all participating teams
Live odds pageLiveBlogPostingSportsEvent, OfferUpdate coverageEndTime post-match
Casino bonus pageProduct + OfferpriceSpecificationDon't fake reviews
Help / FAQ pageFAQPageBreadcrumbListOne Q&A per Question entity
How-to guideHowToArticleStep-by-step structure
Blog articleArticle (or NewsArticle)Person, OrganizationAuthor must be real
Category / hub pageItemListBreadcrumbList, CollectionPageList child pages by URL
About / LicensingOrganization + WebPageLocalBusiness (if physical)Include award, slogan, foundingDate

A common mistake I'll come back to in section 7: dropping AggregateRating on every page even when there are no actual reviews. That's a Google manual action waiting to happen.

Why does schema matter more for iGaming than other verticals?

Quick answer: Because iGaming SERPs are dominated by aggregator and affiliate sites that all look identical to Google's algorithm. Schema is the cleanest way to signal which site is the licensed operator (award field with license number) versus which is a magazine review (Review with Person author) versus which is a junk PBN page (no schema, fake ratings). For AI answers, Google says no special schema is needed, so state those facts in the visible text as well as in the markup.

iGaming has two structural problems that make schema disproportionately valuable:

Problem 1 — Entity confusion. Google can't easily tell whether bestcasinos2026.com is a licensed operator, an affiliate, a review aggregator, or a scam. Without Organization schema with explicit award (license) and sameAs (verified social profiles), all four look identical at the markup level. In our view, clean Organization markup with linked Trustpilot and Companies House profiles is the most direct way to help Google tell them apart.

Problem 2 — Compliance information. The UK Gambling Commission's LCCP social responsibility code 3.3.1↗ requires licensees to "make information readily available to their customers on how to gamble responsibly" and says nothing about structured data (accessed 2026-10-01). Schema.org↗ has no responsibleGambling property either, so that information has to be on the page itself. Markup can restate the license facts a player can already see there: the regulator and license number in award, the licensed markets in areaServed.

Casino Site Schema Recipe (full Organization + Game + Review + AggregateRating + FAQPage)

Quick answer: A casino site needs five schema anchors deployed as a single @graph block per page: site-wide Organization (homepage and via @id on every page), per-page BreadcrumbList, per-game Product+Game with additionalProperty for RTP/volatility, editorial Review with named Person author, and per-page FAQPage for the inevitable "what's the RTP / how do I withdraw" questions. AggregateRating is optional and dangerous — only deploy when you have real, visible user reviews on the page.

A casino site has four schema "anchor points" that should always be implemented:

  1. Site-wide Organization and WebSite — emitted on every page (or at least homepage) inside <head>.
  2. BreadcrumbList — every non-homepage URL.
  3. Product — for each casino game, slot, table game, or live dealer room with a dedicated page.
  4. Review — for editorial reviews of individual games or software providers (only when a real reviewer wrote them).

Casino Organization JSON-LD (production-ready)

Drop this in your homepage <head>. Replace placeholder values. The gamblingFacility custom property isn't in core Schema.org but Google tolerates extensions inside additionalType.

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://example-casino.com/#organization",
  "name": "Example Casino",
  "alternateName": "ExampleCasino",
  "url": "https://example-casino.com",
  "logo": {
    "@type": "ImageObject",
    "url": "https://example-casino.com/logo.png",
    "width": 600,
    "height": 60
  },
  "foundingDate": "2018-04-12",
  "slogan": "Licensed online casino since 2018",
  "description": "Online casino offering slots, live dealer, and table games. Licensed by the Malta Gaming Authority.",
  "additionalType": "https://example-casino.com/types/OnlineCasino",
  "award": "MGA License MGA/B2C/394/2018",
  "areaServed": ["MT", "FI", "DE", "NO"],
  "sameAs": [
    "https://twitter.com/examplecasino",
    "https://www.facebook.com/examplecasino",
    "https://www.linkedin.com/company/example-casino",
    "https://www.trustpilot.com/review/example-casino.com"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+356-2123-4567",
    "contactType": "customer service",
    "availableLanguage": ["English", "Finnish", "German"]
  }
}

WebSite Schema with SearchAction

Pair the Organization block with a WebSite block that exposes your internal search to Google's sitelink searchbox feature:

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "@id": "https://example-casino.com/#website",
  "url": "https://example-casino.com",
  "name": "Example Casino",
  "publisher": { "@id": "https://example-casino.com/#organization" },
  "potentialAction": {
    "@type": "SearchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://example-casino.com/search?q={search_term_string}"
    },
    "query-input": "required name=search_term_string"
  },
  "inLanguage": "en-US"
}

Casino Game Product Schema (per slot / table game page)

For a slot review or game detail page, use Product with the Game subtype where supported:

{
  "@context": "https://schema.org",
  "@type": ["Product", "Game"],
  "name": "Sweet Bonanza",
  "description": "Sweet Bonanza is a 6-reel cluster-pays slot from Pragmatic Play with a 96.51% RTP and high volatility.",
  "url": "https://example-casino.com/slots/sweet-bonanza/",
  "image": "https://example-casino.com/games/sweet-bonanza-cover.jpg",
  "brand": {
    "@type": "Organization",
    "name": "Pragmatic Play"
  },
  "category": "Online Slot",
  "offers": {
    "@type": "Offer",
    "url": "https://example-casino.com/slots/sweet-bonanza/play/",
    "priceCurrency": "EUR",
    "price": "0.20",
    "priceSpecification": {
      "@type": "PriceSpecification",
      "minPrice": "0.20",
      "maxPrice": "100.00",
      "priceCurrency": "EUR"
    },
    "availability": "https://schema.org/InStock"
  },
  "additionalProperty": [
    { "@type": "PropertyValue", "name": "RTP", "value": "96.51%" },
    { "@type": "PropertyValue", "name": "Volatility", "value": "High" },
    { "@type": "PropertyValue", "name": "Max Win", "value": "21,100x stake" },
    { "@type": "PropertyValue", "name": "Reels", "value": "6" }
  ]
}

Casino Editorial Review Schema (with real Person author)

Only deploy Review when a real, named human wrote the review. Fake Person entities are a top reason for manual actions on affiliate casino sites.

{
  "@context": "https://schema.org",
  "@type": "Review",
  "itemReviewed": {
    "@type": "Product",
    "name": "Sweet Bonanza",
    "image": "https://example-casino.com/games/sweet-bonanza-cover.jpg",
    "brand": { "@type": "Organization", "name": "Pragmatic Play" }
  },
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": "4.4",
    "bestRating": "5",
    "worstRating": "1"
  },
  "name": "Sweet Bonanza Review: 96.51% RTP, High Volatility, 21,100x Max Win",
  "author": {
    "@type": "Person",
    "name": "Marie Lindgren",
    "url": "https://example-casino.com/team/marie-lindgren/",
    "jobTitle": "Senior Slots Reviewer",
    "sameAs": [
      "https://twitter.com/marielindgren",
      "https://www.linkedin.com/in/marielindgren/"
    ]
  },
  "publisher": {
    "@type": "Organization",
    "name": "Example Casino",
    "@id": "https://example-casino.com/#organization"
  },
  "datePublished": "2026-04-22",
  "reviewBody": "After 30 hours of gameplay across 12,000 spins, Sweet Bonanza delivered a measured RTP of 95.8% — within tolerance of the stated 96.51%..."
}

Casino AggregateRating (only when real user reviews exist)

AggregateRating is the most penalty-prone schema in iGaming. Use it only when (a) you have user-submitted reviews actually visible on the page, and (b) the count and average match the visible reviews exactly.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "@id": "https://example-casino.com/slots/sweet-bonanza/#product",
  "name": "Sweet Bonanza",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.3",
    "bestRating": "5",
    "worstRating": "1",
    "ratingCount": "247",
    "reviewCount": "189"
  },
  "review": [
    {
      "@type": "Review",
      "author": { "@type": "Person", "name": "Player_Tahir_BD" },
      "datePublished": "2026-04-18",
      "reviewBody": "Cluster pays gives more frequent small wins than I expected for high volatility. Hit 250x once in 800 spins.",
      "reviewRating": { "@type": "Rating", "ratingValue": "4", "bestRating": "5" }
    }
  ]
}

Casino FAQPage Schema (deposit / withdrawal / bonus questions)

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long do withdrawals take at Example Casino?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "E-wallet withdrawals (Skrill, Neteller, MuchBetter) are processed within 24 hours. Bank transfers take 3-5 business days. Crypto withdrawals are processed within 1 hour."
      }
    },
    {
      "@type": "Question",
      "name": "Is Example Casino licensed?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Example Casino is licensed by the Malta Gaming Authority under license MGA/B2C/394/2018, which is publicly verifiable on the MGA Licensee Register."
      }
    },
    {
      "@type": "Question",
      "name": "What is the wagering requirement on the welcome bonus?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The welcome bonus has a 35x wagering requirement on the bonus amount only. Slots contribute 100% to wagering, table games contribute 10%, and live dealer games contribute 5%."
      }
    }
  ]
}

For full keyword targeting around game pages and reviews, see our 200+ casino keyword cluster map.

Sportsbook Schema Recipe (SportsEvent + Offer + ItemList + LiveBlogPosting)

Quick answer: Sportsbooks use SportsEvent for each fixture (with homeTeam, awayTeam, startDate, location), nested Offer array for each betting market with decimal odds in price, ItemList for category/league listing pages, and LiveBlogPosting for live odds coverage during a match. Set validThrough on offers to kickoff time so odds don't appear stale post-match. Never put AggregateRating on a SportsEvent itself — reviews are for products and operators, not events.

Sportsbooks have a structured-data advantage casinos don't: every match, race, and tournament is a SportsEvent with rich metadata Google already loves. The catch is that betting odds are not standard Schema.org properties, so you'll combine SportsEvent with Offer to expose the lines.

SportsEvent + Offer for a Match Page

This block represents a Premier League fixture page with three offer markets (1X2):

{
  "@context": "https://schema.org",
  "@type": "SportsEvent",
  "name": "Manchester United vs Arsenal — Premier League 2025/26",
  "description": "Premier League matchday 35 fixture between Manchester United and Arsenal at Old Trafford.",
  "startDate": "2026-05-09T15:00:00+01:00",
  "endDate": "2026-05-09T17:00:00+01:00",
  "eventStatus": "https://schema.org/EventScheduled",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "location": {
    "@type": "Place",
    "name": "Old Trafford",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Sir Matt Busby Way",
      "addressLocality": "Manchester",
      "postalCode": "M16 0RA",
      "addressCountry": "GB"
    }
  },
  "homeTeam": {
    "@type": "SportsTeam",
    "name": "Manchester United",
    "url": "https://example-sportsbook.com/teams/manchester-united/"
  },
  "awayTeam": {
    "@type": "SportsTeam",
    "name": "Arsenal",
    "url": "https://example-sportsbook.com/teams/arsenal/"
  },
  "sport": "Football",
  "organizer": {
    "@type": "Organization",
    "name": "Premier League"
  },
  "offers": [
    {
      "@type": "Offer",
      "name": "Manchester United to win",
      "price": "2.40",
      "priceCurrency": "GBP",
      "availability": "https://schema.org/InStock",
      "url": "https://example-sportsbook.com/match/man-utd-arsenal/?market=1x2&sel=home",
      "validFrom": "2026-05-02T00:00:00+01:00",
      "validThrough": "2026-05-09T15:00:00+01:00"
    },
    {
      "@type": "Offer",
      "name": "Draw",
      "price": "3.50",
      "priceCurrency": "GBP",
      "availability": "https://schema.org/InStock",
      "url": "https://example-sportsbook.com/match/man-utd-arsenal/?market=1x2&sel=draw"
    },
    {
      "@type": "Offer",
      "name": "Arsenal to win",
      "price": "2.80",
      "priceCurrency": "GBP",
      "availability": "https://schema.org/InStock",
      "url": "https://example-sportsbook.com/match/man-utd-arsenal/?market=1x2&sel=away"
    }
  ]
}

A few decisions worth flagging:

  • Use decimal odds in price. Google parses this as a numeric value, and decimal format is what most APIs return anyway. If your UI shows fractional or American odds, do the conversion in your template.
  • validThrough should be the kickoff time, because odds suspend at start. If you show in-play odds, emit a fresh JSON-LD block server-side when the page is hit.
  • Don't put AggregateRating on the match itself. Reviews are for products, not events.

ItemList for a League / Category Page

For a "Premier League fixtures this weekend" hub page, use ItemList to enumerate the linked match pages — Google sometimes uses this for carousel rich results:

{
  "@context": "https://schema.org",
  "@type": "ItemList",
  "name": "Premier League Fixtures — Matchday 35",
  "url": "https://example-sportsbook.com/football/premier-league/matchday-35/",
  "numberOfItems": 10,
  "itemListOrder": "https://schema.org/ItemListOrderAscending",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "url": "https://example-sportsbook.com/match/man-utd-arsenal/",
      "name": "Manchester United vs Arsenal"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "url": "https://example-sportsbook.com/match/liverpool-chelsea/",
      "name": "Liverpool vs Chelsea"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "url": "https://example-sportsbook.com/match/man-city-spurs/",
      "name": "Manchester City vs Tottenham"
    }
  ]
}

LiveBlogPosting for Live In-Play Coverage

When you publish a live blog covering a match (with rolling commentary and updated odds), LiveBlogPosting is the correct schema. Google grants prominent visibility to live blog rich results during the event window.

{
  "@context": "https://schema.org",
  "@type": "LiveBlogPosting",
  "headline": "Manchester United vs Arsenal — Live Odds & Commentary",
  "url": "https://example-sportsbook.com/live/man-utd-arsenal/",
  "datePublished": "2026-05-09T14:30:00+01:00",
  "dateModified": "2026-05-09T16:47:00+01:00",
  "coverageStartTime": "2026-05-09T15:00:00+01:00",
  "coverageEndTime": "2026-05-09T17:00:00+01:00",
  "about": {
    "@type": "SportsEvent",
    "name": "Manchester United vs Arsenal",
    "startDate": "2026-05-09T15:00:00+01:00"
  },
  "author": {
    "@type": "Person",
    "name": "James Ferguson",
    "jobTitle": "Senior Football Tipster"
  },
  "publisher": { "@id": "https://example-sportsbook.com/#organization" },
  "liveBlogUpdate": [
    {
      "@type": "BlogPosting",
      "datePublished": "2026-05-09T15:23:00+01:00",
      "headline": "23' — Rashford opens the scoring",
      "articleBody": "Manchester United 1-0 Arsenal. Live odds adjusted: home win now 1.45, draw 4.20, away 6.50."
    },
    {
      "@type": "BlogPosting",
      "datePublished": "2026-05-09T16:41:00+01:00",
      "headline": "HT — United lead 1-0",
      "articleBody": "Half-time. Second-half odds: home 1.55, draw 3.80, away 5.50."
    }
  ]
}

After the match ends, set coverageEndTime to the actual end time and update dateModified. Don't delete the schema — historical live blogs continue to earn long-tail traffic.

Sportsbook Operator Review Schema

For affiliate sites or magazine-style operator reviews:

{
  "@context": "https://schema.org",
  "@type": "Review",
  "itemReviewed": {
    "@type": "Organization",
    "name": "BetExample",
    "url": "https://betexample.com",
    "logo": "https://betexample.com/logo.png"
  },
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": "4.2",
    "bestRating": "5"
  },
  "name": "BetExample Sportsbook Review 2026: Odds, Markets, Withdrawals",
  "author": {
    "@type": "Person",
    "name": "Daniel Park",
    "url": "https://example-affiliate.com/team/daniel-park/"
  },
  "datePublished": "2026-04-30",
  "publisher": {
    "@type": "Organization",
    "name": "Example Affiliate"
  },
  "reviewBody": "BetExample has the deepest Premier League market depth we tested in Q1 2026 — averaging 187 markets per match versus the industry median of 124..."
}

Crypto Casino Schema Recipe (Cryptocurrency + Custom Properties + Provably Fair)

Quick answer: Crypto casinos list accepted coins (tickers and chains) in the Organization block's acceptedPaymentMethod. additionalProperty isn't defined on Organization, so custom facts go on the types that support it: provablyFair and verificationMethod (the SHA-256 server seed + client seed + nonce flow) on the Product+Game of each provably fair original (Crash, Plinko, Limbo), and bonus terms on the bonus Offer. For bonus offers, set priceCurrency to the crypto ticker (BTC, ETH, USDT); Google won't render rich results for it. KYC rules have no Schema.org property, so they go in the page copy.

Crypto casinos are where Schema.org starts to crack at the edges. There's no native Cryptocurrency type and no native ProvablyFair flag. You have three workarounds.

Workaround 1: Organization with accepted cryptocurrencies in acceptedPaymentMethod

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://example-crypto-casino.com/#organization",
  "name": "Example Crypto Casino",
  "url": "https://example-crypto-casino.com",
  "logo": "https://example-crypto-casino.com/logo.png",
  "description": "Crypto-only online casino with provably fair games. Licensed in Curaçao. Accepts BTC, ETH, USDT, SOL, and LTC.",
  "foundingDate": "2022-08-01",
  "award": "Curaçao License 8048/JAZ",
  "knowsAbout": ["Cryptocurrency Gambling", "Provably Fair Games", "Bitcoin Casino", "USDT Casino"],
  "acceptedPaymentMethod": ["BTC", "ETH", "USDT-ERC20", "USDT-TRC20", "SOL", "LTC", "DOGE"],
  "sameAs": [
    "https://twitter.com/examplecryptocasino",
    "https://t.me/examplecryptocasino"
  ]
}

Schema.org defines acceptedPaymentMethod on Organization and accepts plain text, so tickers work. additionalProperty is a different case: Schema.org lists it only on MerchantReturnPolicy, Offer, Place, Product, QualitativeValue and QuantitativeValue, not on Organization. The other crypto facts move to where they fit: provably fair goes on each game (Workaround 3), a minimum deposit goes on the Offer it applies to (minPrice in Workaround 2), and KYC rules go in the visible page copy.

Workaround 2: Crypto-Denominated Bonus Offer

When promoting a crypto-denominated bonus or game, set priceCurrency to the ticker. Google won't render rich results for non-fiat currencies.

{
  "@context": "https://schema.org",
  "@type": "Offer",
  "name": "200% Welcome Bonus up to 1 BTC",
  "description": "Deposit up to 0.5 BTC and receive a 200% match bonus, with a 35x wagering requirement on slots.",
  "url": "https://example-crypto-casino.com/promotions/welcome-btc/",
  "priceCurrency": "BTC",
  "price": "0.0",
  "priceSpecification": {
    "@type": "PriceSpecification",
    "minPrice": "0.001",
    "maxPrice": "1.0",
    "priceCurrency": "BTC"
  },
  "validFrom": "2026-05-01",
  "validThrough": "2026-12-31",
  "additionalProperty": [
    { "@type": "PropertyValue", "name": "wageringRequirement", "value": "35x" },
    { "@type": "PropertyValue", "name": "maxBet", "value": "0.001 BTC" },
    { "@type": "PropertyValue", "name": "expiry", "value": "30 days" }
  ]
}

Workaround 3: Provably Fair Game Schema

For provably fair originals (Crash, Plinko, Limbo), I extend Product + Game with additional verification properties:

{
  "@context": "https://schema.org",
  "@type": ["Product", "Game"],
  "name": "Crash",
  "url": "https://example-crypto-casino.com/originals/crash/",
  "description": "Provably fair Crash game with 99% RTP. Bet, watch the multiplier rise, and cash out before it crashes.",
  "category": "Crypto Original",
  "additionalProperty": [
    { "@type": "PropertyValue", "name": "RTP", "value": "99.00%" },
    { "@type": "PropertyValue", "name": "houseEdge", "value": "1.00%" },
    { "@type": "PropertyValue", "name": "provablyFair", "value": "true" },
    { "@type": "PropertyValue", "name": "verificationMethod", "value": "SHA-256 server seed + client seed + nonce" },
    { "@type": "PropertyValue", "name": "maxMultiplier", "value": "1,000,000x" }
  ]
}

Put the same facts (RTP, house edge, how the seeds are verified) in the visible page copy too. Google's AI features need no special schema.org markup, so the page text should answer a question like "what's a provably fair crash game with 99% RTP" on its own, with the markup matching it.

How does schema differ by jurisdiction?

Quick answer: Schema.org has no responsibleGambling, AML or age-policy property, and the UKGC's license conditions require responsible gambling information to be readily available to customers without mentioning structured data. So responsible gambling tools, age limits and AML notices go in the visible page copy. What changes by jurisdiction in the markup is the license data on your Organization: the regulator and license number in award, the licensed markets in areaServed, and, for US operators, one license per state. In our view, Curaçao-licensed brands gain the most from explicit award markup, because it helps tell them apart from scam clones.

None of the examples below uses additionalProperty, because Schema.org doesn't define it on Organization.

UK (UKGC) — License in Markup, Responsible Gambling on the Page

The UKGC's LCCP social responsibility code 3.3.1↗ requires responsible gambling information to be readily available to customers; it doesn't mention markup. Self-exclusion via GAMSTOP, deposit limits, reality checks, the BeGambleAware link, the 18+ rule and your AML notice go on the page. The markup carries the license:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://example-uk-casino.com/#organization",
  "name": "Example UK Casino",
  "url": "https://example-uk-casino.com",
  "award": "UKGC Account 12345 — Remote Operating Licence (Casino, Bingo)",
  "areaServed": "GB",
  "sameAs": [
    "https://www.gamblingcommission.gov.uk/public-register/business/detail/12345"
  ]
}

Schema.org defines sameAs↗ as a page that "unambiguously indicates the item's identity", such as the operator's own entry in the UKGC public register. GAMSTOP and BeGambleAware are separate organizations, so link them from the page copy rather than listing them in sameAs.

MGA (Malta) — Licensing Authority Variant

Put the MGA license number and the regulator's name in award. Self-exclusion, deposit limits, time-outs and reality checks go on the page, since Schema.org has no property for them:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example MGA Casino",
  "award": "MGA/B2C/394/2018 — Licensed by the Malta Gaming Authority",
  "areaServed": ["MT", "FI", "DE", "NO", "IE"]
}

Curaçao — Lighter Requirements but Entity Disambiguation Critical

Curaçao operators face the hardest entity disambiguation problem because thousands of grey-market clones use similar branding. Heavy award + sameAs is essential:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Curaçao Casino",
  "award": "Curaçao License 8048/JAZ2020-013 (issued via Antillephone N.V.)",
  "sameAs": [
    "https://validator.antillephone.com/validate?domain=example-curacao-casino.com",
    "https://twitter.com/examplecuracaocasino"
  ]
}

US (State-by-State) — Age Policy + State License References

US iGaming legality is state-by-state. areaServed must list only the states where you hold a license, with each state license in award. Schema.org has no age-policy property, so the 21+ rule and each state's problem gambling helpline go on the page:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example US Sportsbook",
  "areaServed": [
    { "@type": "State", "name": "New Jersey" },
    { "@type": "State", "name": "Pennsylvania" },
    { "@type": "State", "name": "Michigan" },
    { "@type": "State", "name": "Colorado" }
  ],
  "award": [
    "NJ DGE: 0123-XX-001",
    "PA PGCB: SOL-2024-789",
    "MI MGCB: SBO-2023-456",
    "CO LGCC: 12345"
  ]
}

SEA (Bangladesh / Thailand / Vietnam) — Off-shore Licensing Reference

SEA operators typically license offshore (Curaçao, Comoros, Anjouan) and serve markets where iGaming is legally grey. Schema should reflect the licensed jurisdiction, not the served market:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example SEA-Targeting Casino",
  "award": "Curaçao License 8048/JAZ — Licensed by Antillephone N.V.",
  "areaServed": ["BD", "TH", "VN", "ID"],
  "knowsLanguage": ["bn", "th", "vi", "id", "en"]
}

For deeper compliance treatment by jurisdiction, see iGaming Compliance SEO: Avoid Google Penalty Pitfalls 2026.

FAQ + How-to Schema for Help Pages

Quick answer: FAQPage and HowTo markup no longer earns rich results in Google Search. How-to rich results were deprecated in September 2023, and FAQ rich results, limited to well-known government and health sites since August 2023, stopped appearing on May 7, 2026. Existing markup can stay, but expect no visible effect from it. Put the answers for "How to deposit", "How to verify KYC" and "How to claim a bonus" on the page itself, one answer per question, with any markup matching the visible text.

Licensed gambling operators were never in the group that kept FAQ rich results after 2023. Google's August 2023 announcement↗ limited them to "well-known, authoritative government and health websites", and a September 2023 update to the same post deprecated How-to rich results. Google's documentation changelog↗ then recorded that FAQ rich results would "no longer appear in Google Search starting May 7, 2026" (both accessed 2026-10-01). The 2023 post also notes that structured data that isn't being used "does not cause problems for Search, but also has no visible effects in Google Search."

HowTo for Deposit / Verification Guides

{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "How to Verify Your Account at Example Casino",
  "description": "Step-by-step guide to completing KYC verification at Example Casino in under 10 minutes.",
  "totalTime": "PT10M",
  "step": [
    {
      "@type": "HowToStep",
      "position": 1,
      "name": "Log in and open Account Settings",
      "text": "After logging in, click your username in the top right and select Account Settings, then Verification."
    },
    {
      "@type": "HowToStep",
      "position": 2,
      "name": "Upload your photo ID",
      "text": "Upload a clear photo of your passport, national ID, or driver's license. Both sides if double-sided."
    },
    {
      "@type": "HowToStep",
      "position": 3,
      "name": "Upload proof of address",
      "text": "Upload a utility bill, bank statement, or government letter dated within the last 3 months showing your name and address."
    },
    {
      "@type": "HowToStep",
      "position": 4,
      "name": "Wait for approval",
      "text": "Verification typically completes within 24 hours. You will receive an email once approved."
    }
  ]
}

Article Schema for Content Pages

For long-form content pieces (slot guides, sports betting strategies, crypto how-tos), use Article schema with named author and publisher entities:

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Sweet Bonanza Strategy: 96.51% RTP Cluster-Pays Slot Guide",
  "description": "Complete strategy guide for Sweet Bonanza covering RTP, volatility, max win, free spins feature, and bankroll management.",
  "image": "https://example-casino.com/blog/sweet-bonanza-strategy-cover.jpg",
  "datePublished": "2026-04-22",
  "dateModified": "2026-05-02",
  "author": {
    "@type": "Person",
    "name": "Marie Lindgren",
    "url": "https://example-casino.com/team/marie-lindgren/",
    "jobTitle": "Senior Slots Reviewer",
    "sameAs": ["https://twitter.com/marielindgren"]
  },
  "publisher": {
    "@type": "Organization",
    "name": "Example Casino",
    "@id": "https://example-casino.com/#organization",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example-casino.com/logo.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://example-casino.com/blog/sweet-bonanza-strategy/"
  },
  "articleSection": "Slot Guides",
  "wordCount": 2400,
  "inLanguage": "en-GB"
}

BreadcrumbList for Navigation (every page)

BreadcrumbList is the lowest-effort, highest-coverage schema. Deploy on every non-homepage URL:

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://example-casino.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Slots",
      "item": "https://example-casino.com/slots/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Pragmatic Play",
      "item": "https://example-casino.com/slots/pragmatic-play/"
    },
    {
      "@type": "ListItem",
      "position": 4,
      "name": "Sweet Bonanza"
    }
  ]
}

Common Schema Mistakes (and Penalty-Triggering Patterns)

Quick answer: The seven schema patterns that get iGaming sites manual-actioned: fake AggregateRating, self-serving Review schemas, hidden FAQ content, LocalBusiness for online-only operators, stale SportsEvent data, orphan @id references, and schema for content that itself violates Google's gambling policy. All seven are visible to webspam reviewers.

These are the schema patterns that get sites manual-actioned, demoted, or stripped of rich results.

1. Fake AggregateRating with no real reviews on the page. Google's review snippet guidelines explicitly state that aggregate ratings must be visible to users on the same page. If your JSON-LD says ratingValue: 4.8, reviewCount: 1247 but the page shows zero actual review content, that's a manual-action trigger.

2. Self-serving reviews. A casino reviewing itself with a Review schema and 5-star rating is review spam. Operator self-reviews must use Organization + aggregateRating only when the rating is genuinely sourced from a third-party platform (Trustpilot, AskGamblers) and you reference that source.

3. Hidden content in JSON-LD. Putting answers in FAQPage that don't appear visibly on the page. Google's policy: structured data must reflect what users see. A common way this happens: a developer copies an FAQ from a CMS draft into the schema without checking publication status.

4. Wrong entity types. Tagging an online casino with LocalBusiness when there's no physical location. LocalBusiness requires address and geo properties — Google will see those as misleading. Use Organization instead, with additionalType if you want to specify "OnlineCasino."

5. Stale event data. Sportsbooks leaving last week's matches in SportsEvent schema with startDate in the past and odds still listed. Set eventStatus: "EventCompleted" after the match, or remove the schema entirely when archiving.

6. Bad nesting / orphan IDs. Referring to @id: "https://example.com/#organization" in 12 places but never actually defining that node. Schema parsers handle this gracefully but it weakens the entity graph signal.

7. Schema for content that violates content policies. This is the big one for iGaming. If your page itself violates Google's gambling content policy (no license disclosure, false bonus claims, targeting underage users), no amount of perfect schema will save you. Schema is a multiplier, not an antidote. Bad schema is also one of the seven iGaming SEO agency red flags we tell prospects to look out for — agencies that drop fake AggregateRating everywhere are agencies that will eventually get your site penalized.

Common Schema Penalties — What Actually Triggers Manual Actions

Three schema patterns are the ones we'd check first:

  1. Site-wide identical AggregateRating (e.g., 4.8 stars on every page). Webspam reviewers spot it in seconds.
  2. Review schema where author is Organization instead of Person — Google explicitly disallows organizations reviewing their own products. Must be a named human or independent organization.
  3. FAQPage containing affiliate links or promotional text in acceptedAnswer.text — FAQ schema is for genuine user help, not bonus pitches. Stuffing CTA text in answers can, with repeat offenses, draw a manual action.

Schema Validation: Test Cases & Tool Comparison

Quick answer: Use a four-tool validation stack: (1) Schema Markup Validator at validator.schema.org for syntax and unknown property warnings, (2) Google Rich Results Test for rich-result eligibility, (3) Google Search Console live URL inspection 48 hours post-deploy, and (4) AI search test (Perplexity, ChatGPT, AI Overviews) for citation behavior. Test cases must include: valid baseline, missing required field, fake AggregateRating, stale SportsEvent, and orphan @id.

We have a four-step validation routine that runs on every iGaming page before it goes live. Skipping any step has bitten us at least once.

Tool Comparison: Which Validator Catches What

ToolURLCatchesMisses
Schema Markup Validatorvalidator.schema.orgSyntax, unknown properties, type mismatchesGoogle-specific eligibility, rich-result rendering
Google Rich Results Testsearch.google.com/test/rich-resultsRich-result eligibility, missing required Google fieldsOngoing render issues, post-deploy crawl behavior
Google Search Consolesearch.google.com/search-consoleLive indexing status, crawl errors, Enhancements reportFirst-pass schema quality
AI Search Test (manual)Perplexity, ChatGPT, AI OverviewsCitation behavior, entity recognitionSpecifics of why a query fails

The 4-Step Workflow

Step 1: Schema Markup Validator (validator.schema.org↗). This is the most permissive of the validators — it catches syntax errors and unknown property warnings but not Google-specific issues. Use it first to make sure your JSON-LD parses at all.

Step 2: Google Rich Results Test (search.google.com/test/rich-results↗). Tests whether Google can extract rich-result eligible structured data. If Review doesn't appear in the eligible features list, your snippet won't render.

Step 3: Live URL inspection in Google Search Console. After deploying, request indexing and check the "Enhancements" report 48 hours later. Filter by structured data type and look for warnings on each.

Step 4: AI search test. Open Perplexity, ChatGPT, and Google AI Overviews. Ask a question your page should answer ("what's the RTP of Sweet Bonanza at Example Casino?"). A citation shows the page is being found, not that the schema is working, because Google says its AI features need no special schema. If you're not cited, check that the visible copy answers the question directly and that the markup matches it. For the ChatGPT side of this test, our free AI visibility check asks ChatGPT, with web search on, the kind of questions buyers in your industry ask, then shows whether your brand is mentioned and which competitors it recommends instead.

Mandatory Test Cases (Run Every Deploy)

Before pushing schema changes to production, run all five test cases:

  1. Valid baseline — does the page's full @graph validate cleanly with zero errors?
  2. Missing required field — temporarily strip a required field (e.g., Review.author). Does the validator flag it?
  3. Fake AggregateRating detection — does the rendered page actually show review content matching the schema?
  4. Stale SportsEvent check — for sportsbook templates, what happens if a match's startDate is in the past and eventStatus not updated?
  5. Orphan @id check — every @id referenced must be defined somewhere in the same @graph or a sibling block.

For team workflow, we run all four steps as a CI check via Puppeteer + the Schema.org documentation↗ types library. Any PR that breaks schema fails the build.

Schema Migration Checklist (CMS or Platform Change)

Quick answer: When migrating CMS or replatforming, schema migration is a 12-step checklist: snapshot existing schemas, validate baseline, map source-to-destination fields, preserve all @id URIs, regenerate BreadcrumbList, re-emit SportsEvent with current data, scrub fake AggregateRating, set up redirects for changed @id URIs, validate post-migration, request reindexing, monitor Search Console Enhancements, and run AI-search citation tests at 30/60/90 days.

CMS migrations are when schema breaks silently. Most operators discover their structured data is gone weeks later when CTR collapses. Use this checklist to migrate cleanly:

Pre-Migration (1-2 weeks before)

  1. Crawl & snapshot. Use Screaming Frog or Sitebulb to crawl all URLs and export every <script type="application/ld+json"> block. Save as a CSV: URL → schema type → JSON content.
  2. Validate baseline. Run all snapshots through validator.schema.org. Document existing errors so post-migration errors are not blamed on the migration.
  3. Map fields. Build a spreadsheet mapping source CMS fields (e.g., WordPress ACF) to destination CMS fields (e.g., Strapi or Contentful). Schema generation depends on these.
  4. Preserve @id URIs. Every @id in your old schema is a node in Google's entity graph. If URLs change in migration, set up 301 redirects so @id references still resolve.

During Migration

  1. Regenerate Organization+WebSite first. These are site-wide and easiest to verify. Deploy on staging, validate, push.
  2. Regenerate BreadcrumbList based on new URL structure. Test on 5-10 URLs from different categories.
  3. Re-emit SportsEvent with current data — never copy stale events forward. Set validThrough and eventStatus correctly.
  4. Scrub fake AggregateRating. Migrations are the perfect moment to remove penalty-prone schema. Don't carry the technical debt forward.

Post-Migration

  1. Validate everything. Re-crawl with Screaming Frog. Compare URL-by-URL: did every page that had schema before still have valid schema after?
  2. Request reindexing. In Search Console, submit your sitemap and use URL Inspection on top 50 URLs to force a recrawl.
  3. Monitor Enhancements report. Daily for 14 days, then weekly. Watch for new error types that didn't exist on the old platform.
  4. AI-search citation test at 30/60/90 days. Track 10-20 priority queries in Perplexity and ChatGPT. Citation rates should match or exceed pre-migration baseline by day 60.

Migration Pitfall: The "Plugin Magic" Trap

The single most common migration failure: relying on a CMS schema plugin (Yoast SEO↗, Rank Math, Schema Pro) without verifying what it actually outputs. Plugins make assumptions about your business model that don't always hold for iGaming — for instance, several popular plugins auto-emit LocalBusiness schema when they detect contact info, even on online-only casinos. Always export and validate the rendered HTML, not the plugin's admin preview.

Combined Implementation: Casino Game Page (full @graph)

The full schema set for a casino game page — Organization + BreadcrumbList + Product + Review + FAQPage — is best emitted as a single <script type="application/ld+json"> block with a @graph array. This is more compact and gives parsers a clean entity graph:

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://example-casino.com/#organization",
      "name": "Example Casino",
      "url": "https://example-casino.com",
      "logo": "https://example-casino.com/logo.png"
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://example-casino.com/slots/sweet-bonanza/#breadcrumb",
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://example-casino.com/" },
        { "@type": "ListItem", "position": 2, "name": "Slots", "item": "https://example-casino.com/slots/" },
        { "@type": "ListItem", "position": 3, "name": "Sweet Bonanza" }
      ]
    },
    {
      "@type": ["Product", "Game"],
      "@id": "https://example-casino.com/slots/sweet-bonanza/#product",
      "name": "Sweet Bonanza",
      "brand": { "@type": "Organization", "name": "Pragmatic Play" },
      "category": "Online Slot",
      "image": "https://example-casino.com/games/sweet-bonanza-cover.jpg",
      "additionalProperty": [
        { "@type": "PropertyValue", "name": "RTP", "value": "96.51%" },
        { "@type": "PropertyValue", "name": "Volatility", "value": "High" }
      ]
    },
    {
      "@type": "Review",
      "@id": "https://example-casino.com/slots/sweet-bonanza/#review",
      "itemReviewed": { "@id": "https://example-casino.com/slots/sweet-bonanza/#product" },
      "reviewRating": { "@type": "Rating", "ratingValue": "4.4", "bestRating": "5" },
      "author": { "@type": "Person", "name": "Marie Lindgren" },
      "publisher": { "@id": "https://example-casino.com/#organization" },
      "datePublished": "2026-04-22"
    },
    {
      "@type": "FAQPage",
      "@id": "https://example-casino.com/slots/sweet-bonanza/#faq",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "What is the RTP of Sweet Bonanza?",
          "acceptedAnswer": { "@type": "Answer", "text": "Sweet Bonanza has a stated RTP of 96.51%." }
        },
        {
          "@type": "Question",
          "name": "Can I play Sweet Bonanza on mobile?",
          "acceptedAnswer": { "@type": "Answer", "text": "Yes. Sweet Bonanza is fully optimized for iOS and Android browsers." }
        }
      ]
    }
  ]
}

That single block describes all five entities in one graph and is what we ship as standard on every casino game page for iGaming SEO clients. The FAQPage node no longer produces a rich result in Google Search. For the full deployment context — content, technical, and compliance — refer back to the pillar guide.

"In iGaming SEO, schema isn't a 'nice to have' — it's the difference between Google identifying you as a licensed operator versus lumping you in with grey-market clones. Every hour spent fixing structured data has higher ROI than every hour spent on content for the first 90 days." — RedClaw editorial team, iGaming SEO Agency Buyer's Guide 2026

What should I do this week to deploy schema correctly?

Quick answer: Five priority actions, in order: (1) deploy Organization + WebSite on the homepage with award and sameAs, (2) deploy BreadcrumbList on every page, (3) audit existing pages for fake AggregateRating and remove or fix, (4) deploy FAQPage on top 10 help-center articles, (5) deploy vertical-specific schema (Product+Game for casinos, SportsEvent+Offer for sportsbooks, acceptedPaymentMethod plus custom additionalProperty on game and bonus pages for crypto). Each item takes 2-4 hours; the full sequence usually fits in 1 sprint.

If you do nothing else this week, ship the 5-item priority list above. Then validate every URL through Schema Markup Validator and Google Rich Results Test. Then wait 14 days and check Search Console Enhancements.

If you'd rather have us do this — including the regional variations, validation in CI, and AI-search citation monitoring — that's what our iGaming SEO service ships as standard.

Speakable summary: For iGaming sites in 2026, schema markup is the single highest-leverage technical SEO investment. Deploy Organization with licensing in award, BreadcrumbList on every page, vertical-specific schema for casino games or sportsbook fixtures, and FAQPage on help articles. Validate through Google Rich Results Test before launch.

FAQ

Does schema markup actually rank pages higher?

Schema is not a direct ranking factor in Google's algorithm. What it does is make pages eligible for rich results, which can lift click-through, and clarify entity relationships for crawlers. It is not a requirement for AI answers: Google says there is no special schema.org structured data needed to appear in AI Overviews or AI Mode. Google's own case studies give a sense of the click-through effect: Rotten Tomatoes measured a 25% higher click-through rate on pages enhanced with structured data (Google Search Central↗, accessed 2026-10-01).

Should affiliate casino review sites use AggregateRating?

Only if you have real reviews from real users on the page that are visible to humans. If your "rating" is one editor's opinion, use Review with a single Person author — not AggregateRating with a fake reviewCount. The latter is a documented manual-action trigger for Google. The bar is: the rating count and average shown in the schema must exactly match what a user can read on the page.

Is there an official Schema.org type for "online casino"?

Not officially. The closest core types are Organization and WebSite. We extend with additionalType: "OnlineCasino" and put casino-specific facts where Schema.org defines a property for them: the license in award, accepted currencies in acceptedPaymentMethod, and game facts such as RTP in additionalProperty on the game's Product (additionalProperty isn't defined on Organization). Some operators use LocalBusiness, but that's incorrect unless you have a physical venue with a verifiable address.

How do I represent betting odds in schema?

Use Offer nested inside SportsEvent. Set price to the decimal odds value, priceCurrency to the bet currency (GBP, EUR, USD), and validThrough to the event start time. Avoid putting odds in AggregateOffer — that type is for ranges, not individual selections. Update odds via server-side rendering or fragment injection; client-only updates won't be seen by Googlebot.

What's the difference between Event and SportsEvent?

SportsEvent is a subtype of Event specifically for sporting matches. It adds homeTeam, awayTeam, competitor, and sport properties. Always use SportsEvent for sportsbook fixture pages — it gives Google more context and unlocks sport-specific rich results in some markets.

Can I use schema markup to bypass Google's gambling content policy?

No. Schema is a multiplier on top of policy-compliant content, not a workaround. If your page violates the gambling content policy (missing license disclosure, false bonus claims, targeting minors), no amount of perfect structured data will save you — and webspam reviewers will treat suspiciously rich schema on a non-compliant page as an aggravating factor.

Should crypto casinos use Schema.org's Cryptocurrency type?

Schema.org has no native Cryptocurrency type. List your tickers (BTC, ETH, USDT-ERC20, USDT-TRC20, SOL) in the Organization's acceptedPaymentMethod, which accepts plain text; additionalProperty isn't available on Organization. For bonus offers denominated in crypto, set priceCurrency to the ticker; Google won't render rich results for non-fiat currencies.

How often should schema be re-validated?

Run validation as a CI check on every deploy that touches templates. Schedule a full-site re-crawl + validate at least monthly. After major site changes (CMS migration, new section launch, redesign), re-validate within 48 hours and again at 14 and 30 days post-launch — Search Console Enhancements report typically takes that long to surface new error types.

What's the schema for live in-play sportsbook pages?

Use LiveBlogPosting with coverageStartTime and coverageEndTime matching the match window, nested liveBlogUpdate entries (each a BlogPosting) for each goal/odds change/significant event, and an about field referencing the parent SportsEvent. After the match ends, leave the schema in place but update coverageEndTime and dateModified — historical live blogs continue to earn long-tail traffic for "team A vs team B live blog" queries.

Does adding responsibleGambling schema actually move the needle?

No. Schema.org has no responsibleGambling property, and the usual workaround, a custom entry in additionalProperty, isn't defined on Organization. The UKGC requires responsible gambling information to be readily available to customers, so put it on the page. In our view, the markup worth doing is the license data (award, areaServed, a sameAs link to your own register entry), because it can help tell a licensed brand apart from grey-market clones, and that applies to Curaçao operators too.


Want every schema in this article correctly implemented on your iGaming site, validated, and indexed before launch? RedClaw's iGaming SEO service ships every build with Organization (including jurisdiction-specific license data), Product, SportsEvent, FAQPage and HowTo schemas pre-deployed and tested across Google Rich Results, Perplexity, and ChatGPT search. Pricing starts at $900 setup + $400/month — and unlike most agencies, all our builds ship with these schemas correctly implemented from day one. Book a 30-minute audit call and we'll show you exactly which schema gaps are leaving impressions on the table.

Speakable closing: Schema markup is the highest-leverage technical SEO move for iGaming sites in 2026. Fix Organization, BreadcrumbList, vertical-specific schema, and FAQPage first; it's typically a 1-sprint project.


Sources

Maximize Your Ad Budget ROI

From account setup to full-funnel tracking, we handle it all.

  • Dedicated account manager with real-time optimization
  • Full tracking infrastructure — every dollar accounted for
  • Cross-platform expertise: Meta, Google, TikTok

Get a free ad account health check

Our specialists review your ad account and point out where budget is being wasted.

100% freeReply within 48 hoursNo contract

Subscribe to Our Newsletter

Weekly insights on ad strategies, industry trends, and practical tips. No fluff.

We never share your email. Unsubscribe anytime.