1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" /> 6 <link rel="icon" href="/favicon.ico" sizes="any" /> 7 <link rel="icon" type="image/png" href="/favicon.png" /> 8 <link rel="apple-touch-icon" href="/apple-touch-icon.png" /> 9 <!-- Canonical is set per-route by src/components/PageMeta.tsx so each page self-references. 10 A static canonical here would override every route for non-JS crawlers. --> 11 12 <title>The UK's #1 Rated Bubble Football Experience | Spartacus Bubble Soccer</title> 13 <meta 14 name="description" 15 content="The UK's #1 rated bubble football experience. Spartacus-certified coaches across the UK. No subcontracting. Thousands of 5-star reviews. Book instantly." 16 /> 17 <meta name="author" content="Spartacus Bubble Soccer" /> 18 <meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" /> 19 <meta name="theme-color" content="#0a0a0a" /> 20 21 <!-- Google Tag Manager --> 22
22<script>
vendor: 358 bytes, lines 22-27
22 23 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 24 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 25 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 26 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 27 })(window,document,'script','dataLayer','
27GTM-M43KJWX6
vendor: 8 bytes, lines 27-28
27'); 28
28</script>
28 29 <!-- End Google Tag Manager --> 30 31 <!-- Meta (Facebook) Pixel --> 32
32<script>
vendor: 453 bytes, lines 32-41
32 33 !function(f,b,e,v,n,t,s) 34 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 35 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 36 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 37 n.queue=[];t=b.createElement(e);t.async=!0; 38 t.src=v;s=b.getElementsByTagName(e)[0]; 39 s.parentNode.insertBefore(t,s)}(window, document,'script', 40 'https://connect.facebook.net/en_US/fbevents.js'); 41 fbq('init', '
411627988114401213
vendor: 40 bytes, lines 41-43
41'); 42 fbq('track', 'PageView'); 43
43</script>
43 44 45 <!-- Preconnect + preload critical fonts to eliminate FOUT on initial paint --> 46 <link rel="preconnect" href="https://fonts.googleapis.com" /> 47 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 48 <link 49 rel="preload" 50 as="style" 51 href="https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Poppins:ital,wght@0,400;0,500;0,600;1,400&display=swap" 52 /> 53 <link 54 rel="stylesheet" 55 href="https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Poppins:ital,wght@0,400;0,500;0,600;1,400&display=swap" 56 /> 57 58 <meta property="og:site_name" content="Spartacus Bubble Soccer" /> 59 <meta property="og:title" content="The UK's #1 Rated Bubble Football Experience | Spartacus Bubble Soccer" /> 60 <meta 61 property="og:description" 62 content="The UK's #1 rated bubble football experience. Spartacus-certified coaches across the UK. No subcontracting. Thousands of 5-star reviews." 63 /> 64 <meta property="og:type" content="website" /> 65 <meta property="og:url" content="https://spartacusbubblesoccer.co.uk/" /> 66 <meta property="og:image" content="https://spartacusbubblesoccer.co.uk/og-image.jpg" /> 67 <meta property="og:image:width" content="1216" /> 68 <meta property="og:image:height" content="640" /> 69 <meta property="og:image:alt" content="Spartacus Bubble Soccer â UK's #1 rated bubble football experience" /> 70 <meta property="og:locale" content="en_GB" /> 71 72 <meta name="twitter:card" content="summary_large_image" /> 73 <meta name="twitter:title" content="The UK's #1 Rated Bubble Football Experience | Spartacus" /> 74 <meta 75 name="twitter:description" 76 content="High-energy bubble football across the UK. Thousands of 5-star reviews. No subcontracting." 77 /> 78 <meta name="twitter:image" content="https://spartacusbubblesoccer.co.uk/og-image.jpg" /> 79 80 <!-- Site-wide structured data (WebSite) for AI + search engines --> 81
81<script type="application/ld+json"> 82 { 83 "@context": "https://schema.org", 84 "@graph": [ 85 { 86 "@type": "WebSite", 87 "@id": "https://spartacusbubblesoccer.co.uk/#website", 88 "url": "https://spartacusbubblesoccer.co.uk/", 89 "name": "Spartacus Bubble Soccer", 90 "publisher": { "@id": "https://spartacusbubblesoccer.co.uk/#organization" }, 91 "inLanguage": "en-GB" 92 } 93 ] 94 } 95 </script>
95 96
96<script type="module" crossorigin src="/assets/index-9fVx3ZYv.js"></script>
96 97 <link rel="stylesheet" crossorigin href="/assets/index-BP5qj6Bd.css"> 98
98<script defer src="/~flock.js" data-proxy-url="/~api/analytics"></script>
98</head> 99 100 <body> 101 <div id="root"></div> 102 103 <!-- Google Tag Manager (noscript) -->
vendor: 87 bytes, lines 103-106
103 104 <noscript 105 ><iframe 106 src="https://www.googletagmanager.com/ns.html?id=
106GTM-M43KJWX6
vendor: 123 bytes, lines 106-112
106" 107 height="0" 108 width="0" 109 style="display:none;visibility:hidden" 110 ></iframe 111 ></noscript> 112
112<!-- End Google Tag Manager (noscript) --> 113 114 <!-- Meta (Facebook) Pixel noscript fallback --> 115 <noscript> 116 <img 117 height="1" 118 width="1" 119 style="display:none" 120 src="https://www.facebook.com/tr?id=1627988114401213&ev=PageView&noscript=1" 121 alt="Meta Pixel" 122 /> 123 </noscript> 124
124<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a464e347e8bed94c',t:'MTc5MTI5MjAzMw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
124</body> 125</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.