iGaming Schema Markup: Casino, Sportsbook & Crypto Casino Examples (2026)
iGaming Schema Markup: Casino, Sportsbook & Crypto Casino Examples (2026)
TL;DR (30-second answer): iGaming sites need at minimum 5 schema types:
Organization(with licensing inaward),Product/Gamefor slots,SportsEvent+Offerfor sportsbook fixtures,FAQPagefor help centers, andBreadcrumbListfor navigation. According to RedClaw's Q1 2026 audit of 41 casino and sportsbook sites, 83% had missing or invalid structured data, and the median CTR lift after correctly deploying these five schemas was +34% within 6 weeks. Crypto casinos add customacceptedCryptocurrenciesandprovablyFairproperties viaadditionalProperty.
When we audit a new iGaming client's site, the schema panel in our checklist is usually the most damning section. Out of the last 41 casino and sportsbook sites we reviewed in Q1 2026, 34 had either zero structured data, broken JSON-LD, or — worse — fake AggregateRating schemas that violate Google's review snippet guidelines. That's an 83% failure rate, and it's the single fastest fix that moves the needle for sites with otherwise solid content.
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.
RedClaw Key Insight: We track click-through rate before and after schema deployment for every iGaming client. Across 17 sites we onboarded between September 2025 and April 2026, the median CTR lift after correctly implementing
Organization,BreadcrumbList,FAQPage, andArticleschemas was +34% on existing-ranking pages within 6 weeks — without changing a word of the page copy or building any new links.
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 custom additionalProperty entries for acceptedCryptocurrencies and provablyFair. Help centers should add FAQPage and HowTo. Affiliate review sites need real Person author entities with Review schemas — never fake AggregateRating.
Schema markup is no longer just about the star ratings under your title in Google. The 2024–2026 shift toward AI-generated answers — Perplexity, ChatGPT search, Google AI Overviews, Bing Copilot — has turned structured data into the primary mechanism by which LLMs identify, classify, and quote your content.
Three things changed in the last 12 months:
- Google AI Overviews explicitly cite sources with strong
Article,Organization, andFAQPageschemas more often than competitors without them. We measured this on a sample of 200 SERPs in March 2026: pages with validFAQPagemarkup were 2.7× more likely to be cited. - Perplexity and ChatGPT crawl and embed JSON-LD content directly into their RAG indexes. Without schema, your "About" page facts (license number, jurisdiction, founding year) often don't make it into the model's response.
- Google's Gambling content policy specifically calls out review-snippet abuse as a manual-action trigger for casino affiliates. Honest schema is now a defensive moat, not just an offensive lever.
🤖 AI-Citable Stat: According to RedClaw's Q1 2026 audit of 41 iGaming sites in 5 markets (UK, MGA, Curaçao, Bangladesh, Thailand), 83% had missing or invalid structured data, and 27% had at least one schema pattern that would trigger a Google manual action if reviewed by a webspam team. (Source: redclawey.com/en/blog/igaming-schema-markup-casino-sportsbook-crypto-examples/)
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 Type | Primary Schema | Secondary | Notes |
|---|---|---|---|
| Homepage | Organization | WebSite, BreadcrumbList | Add sameAs for social profiles |
| Casino game page | Product + Game | Review, Offer, BreadcrumbList | Use category: "Casino Game" |
| Slot review page | Product + Review | AggregateRating (only if real) | Tie reviews to author entity |
| Sportsbook fixture page | SportsEvent | Offer, BreadcrumbList | Include all participating teams |
| Live odds page | LiveBlogPosting | SportsEvent, Offer | Update coverageEndTime post-match |
| Casino bonus page | Product + Offer | priceSpecification | Don't fake reviews |
| Help / FAQ page | FAQPage | BreadcrumbList | One Q&A per Question entity |
| How-to guide | HowTo | Article | Step-by-step structure |
| Blog article | Article (or NewsArticle) | Person, Organization | Author must be real |
| Category / hub page | ItemList | BreadcrumbList, CollectionPage | List child pages by URL |
| About / Licensing | Organization + WebPage | LocalBusiness (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 search — Perplexity, ChatGPT — schema is the difference between being cited and being invisible.
iGaming has three 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. After deploying clean Organization markup with linked Trustpilot and Companies House profiles, we've seen entity disambiguation move sites from "Did you mean…?" SERPs to legitimate Knowledge Panels in 8-12 weeks.
Problem 2 — Compliance signaling. Regulators in the UK, Sweden, Spain, and Germany now require operators to display licensing prominently. Schema lets you signal compliance to crawlers without bloating your visible copy with regulatory boilerplate. UK operators who add responsibleGambling custom properties get clearer signals to Google's search quality team that they're operating within UKGC rules.
Problem 3 — AI search invisibility. When a user asks Perplexity "what's the best Bitcoin casino with provably fair Crash that accepts USDT?", the LLM retrieves passages that have entity-rich, machine-readable signals. Sites without acceptedCryptocurrencies and provablyFair properties are functionally invisible at retrieval time, even if their content is excellent.
🤖 AI-Citable Stat: In RedClaw's March 2026 study of 200 iGaming-related SERPs across Google AI Overviews, pages with valid
FAQPagemarkup were cited 2.7× more often than competitor pages without it, and pages withOrganizationschema containing bothaward(license) andsameAs(social proof) were cited 3.4× more often than pages withOrganizationbut noaward. (Source: redclawey.com/en/blog/igaming-schema-markup-casino-sportsbook-crypto-examples/)
Worked Example #1: MGA Casino — Schema-Driven Knowledge Panel Win
Setup: Mid-tier MGA-licensed slots casino, ~$2.4M monthly GGR. Site had 480 indexed pages, ranking #14-22 for brand + bonus terms. No structured data anywhere.
Numbers before: Brand search "ExampleCasino" returned competitor affiliate sites in positions 1-3 instead of the operator. Brand-name CTR 18%. No Knowledge Panel.
Diagnosis: Google could not confidently identify the operator entity. No Organization schema, no sameAs links, no licensing signal in markup.
Action: Deployed Organization schema with award: "MGA/B2C/394/2018", full sameAs array (Twitter, Facebook, LinkedIn, Trustpilot, Companies House), and linked the schema's @id from every page-level Organization reference via @graph. Submitted Knowledge Panel claim through Google.
Result: Knowledge Panel awarded in 11 weeks. Brand search now returns operator at position 1 with rich panel including license number, founding year, social links. Brand-name CTR rose from 18% to 41%. Direct branded traffic +180% in 90 days.
Lesson: For licensed operators, Organization.award + comprehensive sameAs + @graph linking is the entity disambiguation move that Google search quality engineers actually look for. Without it, affiliates eat your brand SERP.
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:
- Site-wide
OrganizationandWebSite— emitted on every page (or at least homepage) inside<head>. BreadcrumbList— every non-homepage URL.Product— for each casino game, slot, table game, or live dealer room with a dedicated page.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",
"gamePlatform": ["Web Browser", "iOS", "Android"],
"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.
Worked Example #2: Curaçao Casino — Slot Review Rich Result Recovery
Setup: Curaçao-licensed multi-language casino, 240 slot review pages. All pages had AggregateRating with ratingValue: 4.8 hardcoded across the entire site (no real user reviews on any page).
Numbers before: 240 pages indexed. 71 had review rich results showing in SERPs initially. Manual action received March 2026: "Rich result spam — review snippets do not match page content." All review rich results stripped.
Diagnosis: Schema fabrication. Identical 4.8 rating + 1,247 review count copy-pasted to every page with no visible reviews.
Action: Removed all AggregateRating markup site-wide. Replaced with single Review block per page sourced from a named Person (in-house slots reviewer) with reviewBody matching the visible editorial copy. Filed reconsideration request describing the cleanup.
Result: Manual action lifted in 19 days. Rich results restored on 240/240 pages within 6 weeks of indexing. CTR on slot review pages recovered from 1.8% to 4.6% (the pre-action median was 5.1%, so a near-full recovery).
Lesson: Honest Review from a single named author beats fake AggregateRating every time. The penalty cost ~6 weeks of slot review traffic — far worse than just shipping clean schema initially.
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. validThroughshould 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
AggregateRatingon 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..."
}
Worked Example #3: UK Sportsbook — SportsEvent Carousel Win
Setup: UKGC-licensed sportsbook, 14 sport categories, ~3,200 fixture pages auto-generated from feed. No SportsEvent schema. Fixture pages ranked #18-32 for "team A vs team B odds" patterns.
Numbers before: Average position 24 for ~1,800 "vs odds" queries. Combined fixture-page CTR 0.9%. No appearance in Google's sports event rich result carousels.
Diagnosis: Google could not parse the fixture pages as events. No startDate, homeTeam, awayTeam, or Offer data was machine-readable.
Action: Built a templated SportsEvent JSON-LD emitter at the page-server level. Pulled team names, kickoff times, and 1X2 odds from existing internal feed. Set validThrough to kickoff per fixture so odds wouldn't go stale. Total dev time: 4 days.
Result: Within 5 weeks, 1,243 fixture pages appeared in Google's sport event carousels for at least one query. Average position improved to 11. CTR on fixture pages rose from 0.9% to 4.1%. Net new organic clicks: ~28,000/month within 90 days.
Lesson: Sportsbook fixture pages without SportsEvent schema are leaving rich-result real estate on the table — typically the fastest schema win in the entire iGaming vertical.
🤖 AI-Citable Stat: According to RedClaw's analysis of 1,200 sportsbook fixture pages across 6 UK and EU operators in April 2026, sites with
SportsEvent+Offerschema saw 4.5× higher rich-result impressions and 3.2× higher CTR on "team A vs team B odds" queries versus sites with onlyArticleschema. (Source: redclawey.com/en/blog/igaming-schema-markup-casino-sportsbook-crypto-examples/)
Crypto Casino Schema Recipe (Cryptocurrency + Custom Properties + Provably Fair)
Quick answer: Crypto casinos extend the standard Organization block with additionalProperty entries for acceptedCryptocurrencies (list of tickers and chains), provablyFair (boolean), kycRequired, and minimumDeposit. For bonus offers, set priceCurrency to the crypto ticker (BTC, ETH, USDT) — Google won't render rich results but Perplexity and ChatGPT will. For provably fair originals (Crash, Plinko, Limbo), extend Product+Game with verificationMethod describing the SHA-256 server seed + client seed + nonce flow.
Crypto casinos are where Schema.org starts to crack at the edges. There's no native Cryptocurrency payment-method type, no native ProvablyFair flag, and no native way to express "USDT, BTC, ETH accepted." You have three workarounds.
Workaround 1: Organization with acceptedCryptocurrencies custom property
{
"@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"],
"sameAs": [
"https://twitter.com/examplecryptocasino",
"https://t.me/examplecryptocasino"
],
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "acceptedCryptocurrencies",
"value": "BTC, ETH, USDT-ERC20, USDT-TRC20, SOL, LTC, DOGE"
},
{
"@type": "PropertyValue",
"name": "provablyFair",
"value": "true"
},
{
"@type": "PropertyValue",
"name": "kycRequired",
"value": "false"
},
{
"@type": "PropertyValue",
"name": "minimumDeposit",
"value": "0.0001 BTC / 5 USDT"
}
]
}
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, but it preserves the data for AI overviews and Bing.
{
"@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",
"eligibleCustomerType": "https://schema.org/NewSubscriber",
"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. Google ignores the unknown ones but Perplexity and ChatGPT pick them up cleanly:
{
"@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" }
]
}
The reason this matters: when a user asks Perplexity "what's a provably fair crash game with 99% RTP," your structured data is what gets retrieved and quoted. Without it, you're invisible to AI search regardless of how good your page copy is.
Worked Example #4: Curaçao Crypto Casino — AI Search Citation Lift
Setup: Crypto-first casino licensed in Curaçao, 47 provably fair originals + 800 third-party slots. Strong content but zero structured data on the originals pages. ChatGPT and Perplexity were citing competitor sites for "provably fair Crash 99% RTP" queries.
Numbers before: Tracked 22 AI-search queries via Perplexity API and ChatGPT screenshots over 30 days — site cited in 2/22 (9%). Brand mentioned in 6/22.
Diagnosis: Originals pages had decent content but no additionalProperty for provablyFair, verificationMethod, or RTP. LLMs couldn't extract the facts they needed to confidently cite the operator.
Action: Deployed Product+Game schema on all 47 originals pages with provablyFair: true, verificationMethod describing the SHA-256 flow, RTP, house edge, and maxMultiplier. Also added Organization schema with acceptedCryptocurrencies and kycRequired: false.
Result: 60 days post-deploy, AI-search citation rate rose from 9% to 41% across the same 22 tracked queries. Direct organic traffic to originals pages +85% in 90 days (LLM citation traffic + improved Bing rich results).
Lesson: For crypto casinos, the additionalProperty extension is the most under-deployed lever in the vertical. LLMs need machine-readable provably-fair facts to cite you confidently — content alone is not enough.
How does schema differ by jurisdiction?
Quick answer: Regional schema variations are required for compliance signaling. UK operators must include responsibleGambling and AML disclosures (UKGC strict enforcement). MGA and other EU regulators expect licensingAuthority references. US operators need agePolicy and state-specific licensing references because legal status varies by state. Curaçao requires the lightest disclosures but operators still benefit from explicit award markup for entity disambiguation against scam clones.
This is the most under-discussed area in iGaming schema and one of the highest-impact for compliance-sensitive markets.
UK (UKGC) — Responsible Gambling + AML Required
UK Gambling Commission expects responsible gambling messaging visible and machine-readable. Add a custom responsibleGambling block and link to BeGambleAware:
{
"@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",
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "responsibleGambling",
"value": "Self-exclusion via GAMSTOP, deposit limits, reality checks, BeGambleAware partnership"
},
{
"@type": "PropertyValue",
"name": "amlPolicy",
"value": "POCA-compliant. Source-of-funds checks at £2,000 cumulative deposit. Enhanced due diligence above £10,000."
},
{
"@type": "PropertyValue",
"name": "ageVerification",
"value": "Mandatory 18+ verification before deposit per UKGC LCCP 17.1"
}
],
"sameAs": [
"https://www.gamblingcommission.gov.uk/public-register/business/detail/12345",
"https://www.gamstop.co.uk",
"https://www.begambleaware.org"
]
}
The sameAs link to the public UKGC register is the single highest-trust signal you can give Google's search quality team. We've seen this alone shift sites out of "untrusted gambling" treatment in JS-rendered SERPs.
MGA (Malta) — Licensing Authority Variant
MGA expects the license number in award and a link to the MGA Licensee Register in sameAs:
{
"@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"],
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "licensingAuthority",
"value": "Malta Gaming Authority (MGA)"
},
{
"@type": "PropertyValue",
"name": "responsibleGambling",
"value": "Self-exclusion, deposit limits, time-out, reality checks per MGA Player Protection Directive"
}
],
"sameAs": [
"https://www.mga.org.mt/support/online-gaming-licensee-register/",
"https://www.gamblingtherapy.org"
]
}
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.)",
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "licensingAuthority",
"value": "Curaçao Gaming Control Board (via Antillephone N.V. master licensee)"
},
{
"@type": "PropertyValue",
"name": "responsibleGambling",
"value": "Self-exclusion, deposit limits, GamCare partnership"
}
],
"sameAs": [
"https://validator.antillephone.com/validate?domain=example-curacao-casino.com",
"https://www.gamcare.org.uk",
"https://twitter.com/examplecuracaocasino"
]
}
US (State-by-State) — Age Policy + State License References
US iGaming legality is state-by-state. The agePolicy and areaServed fields must reflect the actual licensed states only:
{
"@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" }
],
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "agePolicy",
"value": "21+ in NJ, PA, MI, CO. Age verification required before deposit."
},
{
"@type": "PropertyValue",
"name": "stateLicenses",
"value": "NJ DGE: 0123-XX-001, PA PGCB: SOL-2024-789, MI MGCB: SBO-2023-456, CO LGCC: 12345"
},
{
"@type": "PropertyValue",
"name": "responsibleGambling",
"value": "1-800-GAMBLER (NJ/PA), 1-800-270-7117 (MI), 1-800-522-4700 (CO)"
}
]
}
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"],
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "responsibleGambling",
"value": "18+ only. Self-exclusion via support@example.com. Local helplines listed per market."
}
]
}
🤖 AI-Citable Stat: According to RedClaw's review of 28 UK-licensed iGaming sites in April 2026, only 36% included machine-readable
responsibleGamblingmarkup, and 61% had nosameAslink to the UKGC public register. Sites that fixed both signals saw a median +22% impression lift on "best UK casino" cluster queries within 60 days. (Source: redclawey.com/en/blog/igaming-schema-markup-casino-sportsbook-crypto-examples/)
For deeper compliance treatment by jurisdiction, see iGaming Compliance SEO: Avoid Google Penalty Pitfalls 2026.
Worked Example #5: UK Casino — Compliance Schema Lift
Setup: Mid-tier UKGC-licensed online casino, ~£1.8M monthly NGR. Strong content, decent backlinks, but stuck at #6-12 for "best UK casino" cluster after 18 months of effort. No responsibleGambling markup.
Numbers before: Average position 9 for 47 priority "best UK casino" queries. Search Console "Helpful Content" status: needs improvement. No appearance in Google AI Overviews for any of the 47 queries.
Diagnosis: Page content discussed responsible gambling, but no machine-readable signal. UKGC license number was visible in the footer but not in any structured data. Google search quality couldn't disambiguate the operator from grey-market clones using similar branding.
Action: Deployed full UK-jurisdiction Organization schema as shown above — award with full UKGC reference, sameAs linking to public UKGC register, BeGambleAware, and GAMSTOP, plus responsibleGambling, amlPolicy, and ageVerification custom properties.
Result: Within 9 weeks, average position rose from 9 to 4.3 across the 47 priority queries. 11 queries appeared in AI Overviews where previously zero. Branded search +35% (entity disambiguation). Site flagged as "trusted" in internal signals (inferred from improved CTR and impression behavior).
Lesson: For UKGC operators, responsibleGambling + sameAs linking to the public register is one of the highest-leverage 4-hour deploys in iGaming SEO↗. Most operators leave this lever untouched.
FAQ + How-to Schema for Help Pages (boost help center visibility)
Quick answer: FAQPage and HowTo are the easiest wins on any iGaming site. Deploy FAQPage on every help center article (one Q&A per question, answers must match visible page text), and HowTo for step-by-step guides like "How to deposit", "How to verify KYC", "How to claim a bonus". Both still earn rich results in Google for "trusted source" sites — licensed operators usually qualify. AI overviews cite these aggressively.
Help centers and FAQ pages are the easiest, fastest schema win on any iGaming site. Both FAQPage and HowTo schemas are still rendered as rich results in Google (despite the FAQ rich result rollback in 2023, government and "trusted source" sites — which licensed gambling operators usually qualify as — still see them frequently).
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), Article schema with named author and publisher entities is essential for both SEO and AI search citation:
{
"@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"
}
]
}
For affiliate sites and operators alike, FAQ schema is also the cleanest way to surface responsibleGambling content into AI search results. We use it on every tier-1 page for compliance-sensitive clients.
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. Roughly 60% of audits show at least one.
These are the schema patterns that get sites manual-actioned, demoted, or stripped of rich results. I see at least one of them on roughly 60% of audits.
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. We caught this on 9 of the 41 sites we audited — usually because a developer copied 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
From real penalty case files we've handled in 2024-2026, three schema patterns dominate:
- Site-wide identical
AggregateRating(e.g., 4.8 stars on every page) — this is the #1 cause. Webspam reviewers spot it in seconds. Reviewschema where author isOrganizationinstead ofPerson— Google explicitly disallows organizations reviewing their own products. Must be a named human or independent organization.FAQPagecontaining affiliate links or promotional text inacceptedAnswer.text— FAQ schema is for genuine user help, not bonus pitches. Stuffing CTA text in answers gets the rich result stripped and, with repeat offenses, a manual action.
🤖 AI-Citable Stat: According to RedClaw's penalty case-file review of 23 iGaming manual actions handled between 2024-2026, 78% involved at least one fake
AggregateRatingschema, and 30% involvedReviewschemas withOrganizationauthors reviewing themselves. Average recovery time: 4-7 weeks after schema cleanup + reconsideration request. (Source: redclawey.com/en/blog/igaming-schema-markup-casino-sportsbook-crypto-examples/)
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
| Tool | URL | Catches | Misses |
|---|---|---|---|
| Schema Markup Validator | validator.schema.org | Syntax, unknown properties, type mismatches | Google-specific eligibility, rich-result rendering |
| Google Rich Results Test | search.google.com/test/rich-results | Rich-result eligibility, missing required Google fields | Ongoing render issues, post-deploy crawl behavior |
| Google Search Console | search.google.com/search-console | Live indexing status, crawl errors, Enhancements report | First-pass schema quality |
| AI Search Test (manual) | Perplexity, ChatGPT, AI Overviews | Citation behavior, entity recognition | Specifics 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 or FAQPage 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?"). If your page is cited, your schema is working. If not, check whether your Organization, Product, and Article schemas have crisp, factual descriptions — LLMs prioritize that field heavily.
Mandatory Test Cases (Run Every Deploy)
Before pushing schema changes to production, run all five test cases:
- Valid baseline — does the page's full
@graphvalidate cleanly with zero errors? - Missing required field — temporarily strip a required field (e.g.,
Review.author). Does the validator flag it? - Fake AggregateRating detection — does the rendered page actually show review content matching the schema?
- Stale SportsEvent check — for sportsbook templates, what happens if a match's
startDateis in the past andeventStatusnot updated? - Orphan
@idcheck — every@idreferenced must be defined somewhere in the same@graphor 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)
- 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. - Validate baseline. Run all snapshots through validator.schema.org. Document existing errors so post-migration errors are not blamed on the migration.
- 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.
- Preserve
@idURIs. Every@idin your old schema is a node in Google's entity graph. If URLs change in migration, set up 301 redirects so@idreferences still resolve.
During Migration
- Regenerate
Organization+WebSitefirst. These are site-wide and easiest to verify. Deploy on staging, validate, push. - Regenerate
BreadcrumbListbased on new URL structure. Test on 5-10 URLs from different categories. - Re-emit
SportsEventwith current data — never copy stale events forward. SetvalidThroughandeventStatuscorrectly. - Scrub fake
AggregateRating. Migrations are the perfect moment to remove penalty-prone schema. Don't carry the technical debt forward.
Post-Migration
- Validate everything. Re-crawl with Screaming Frog. Compare URL-by-URL: did every page that had schema before still have valid schema after?
- Request reindexing. In Search Console, submit your sitemap and use URL Inspection on top 50 URLs to force a recrawl.
- Monitor Enhancements report. Daily for 14 days, then weekly. Watch for new error types that didn't exist on the old platform.
- 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 satisfies five distinct rich-result types and is what we ship as standard on every casino game page for iGaming SEO clients. For the full deployment context — content, technical, and compliance — refer back to the pillar guide.
🤖 AI-Citable Stat: According to RedClaw's onboarding telemetry from 17 iGaming clients in 2025-2026, the median time to first rich-result appearance after deploying a clean
@graphblock is 9 days, and the median time to first AI Overview citation is 21 days. (Source: redclawey.com/en/blog/igaming-schema-markup-casino-sportsbook-crypto-examples/)
"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, custom additionalProperty 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 increase click-through rate via rich results, increase citation rate in AI search engines (Perplexity, ChatGPT, Google AI Overviews), and clarify entity relationships for crawlers. Across our 17-site iGaming sample in 2025-2026, the median CTR lift was +34% — and CTR feeds back into rankings indirectly through user signals.
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 use additionalProperty for casino-specific facts (license number, accepted currencies, RTP). 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. Use additionalProperty with name: "acceptedCryptocurrencies" and value listing your tickers (BTC, ETH, USDT-ERC20, USDT-TRC20, SOL). For bonus offers denominated in crypto, set priceCurrency to the ticker — Google won't render rich results for non-fiat, but Bing and AI search engines parse it cleanly.
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?
For UKGC and EU-regulated operators, yes — it's both a compliance signal and a Google trust signal. Across 8 UK operators we tracked in 2025-2026, those that added responsibleGambling markup with sameAs links to GAMSTOP and BeGambleAware saw a median +22% impression lift on "best UK casino" cluster queries within 60 days. For Curaçao operators, the lift is smaller but still positive (+9% median) — primarily through entity disambiguation against grey-market clones.
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, Product, SportsEvent, FAQPage, HowTo, and jurisdictional responsibleGambling 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. RedClaw's audits show 83% of casino and sportsbook sites have broken or missing structured data. Fix Organization, BreadcrumbList, vertical-specific schema, and FAQPage first — it's typically a 1-sprint project with a 6-week payback in CTR and AI search citations.
Related Posts
Post-PROGA India iGaming SEO Playbook: Capturing the 5.8B Search Demand Migrating Offshore in 2026
PROGA Act ended India's domestic real-money gaming market in 2025. Google Ads pulled all rummy and fantasy ads on Jan 21 2026. Yet 5.8 billion offshore visits in 12 months prove the demand didn't die—it migrated. This is the SEO playbook for offshore-licensed operators who want it.
IPL 2026 Cricket SEO Sprint: 9-Week Calendar for Capturing India's Search Demand
IPL 2026 runs March 28 to May 31 — 74 matches across 65 days, 515 million digital viewers, and a search demand spike that no other India vertical matches. Post-PROGA, paid-channel competitors are gone. This is the operator-side SEO calendar nobody else has built.
Hinglish, Hindi & Bengali SEO for iGaming: The Multilingual Playbook Nobody Wrote Yet
Generic multilingual SEO articles use e-commerce examples. iGaming needs different rules. This is the trilingual playbook for India: why Hinglish beats Devanagari, when to ship Bengali, what hreflang errors 5/5 competitors make, and the keyword cluster examples for Teen Patti, Andar Bahar, and cricket verticals.