1<!doctype html> 2<html lang="en"> 3 <head> 4 <!-- Termly Consent Banner (MUST be the very first script/tag in head) --> 5
5<script src="https://app.termly.io/resource-blocker/406fcd7c-2ce1-4c17-9662-d31615cc85e8?autoBlock=on"></script>
5 6 7 <!-- Google Tag Manager --> 8 <!-- 9 Container GTM-K8H4C4H9. Must stay AFTER the Termly blocker above: 10 autoBlock=on intercepts googletagmanager.com and holds GTM until the 11 visitor consents. Do not hoist this above Termly. 12 13 This snippet was lost in the PR #48 dev merge (2026-03-20), which 14 silently reverted index.html to a pre-GTM revision and left the 15 container with no data source for ~4 months. 16 --> 17
17<script> 18 ;(function (w, d, s, l, i) { 19 w[l] = w[l] || [] 20 w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }) 21 var f = d.getElementsByTagName(s)[0], 22 j = d.createElement(s), 23 dl = l != 'dataLayer' ? '&l=' + l : '' 24 j.async = true 25 j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl 26 f.parentNode.insertBefore(j, f) 27 })(window, document, 'script', 'dataLayer', 'GTM-K8H4C4H9') 28 </script>
28 29 <!-- End Google Tag Manager --> 30 31 <meta charset="UTF-8" /> 32 <link rel="icon" type="image/png" href="/favicon.png" /> 33 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 34 35 <!-- Google Analytics is injected at runtime by src/main.jsx (production only) --> 36 37 <!-- Google Fonts --> 38 <link rel="preconnect" href="https://fonts.googleapis.com" /> 39 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 40 <link 41 href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;600;700&display=swap" 42 rel="stylesheet" 43 /> 44 45 <!-- Primary Meta Tags --> 46 <title>Wattsipper | The Affordable Path to 120V Cooking</title> 47 <meta 48 name="title" 49 content="Wattsipper | The Affordable Path to 120V Cooking" 50 /> 51 <meta 52 name="description" 53 content="Wattsipper offers affordable electrification designed for apartments, multifamily housing, and homes in need of transitioning from gas to electric cooking." 54 /> 55 <meta 56 name="keywords"
57 content="energy efficiency, sustainable living, energy saving, Wattsipper, eco-friendly appliances, energy star" 58 /> 59 <meta name="author" content="Wattsipper" /> 60 <meta name="robots" content="index, follow" /> 61 62 <!-- Open Graph / Facebook --> 63 <meta property="og:type" content="website" /> 64 <meta property="og:url" content="https://www.wattsipper.com" /> 65 <meta 66 property="og:title" 67 content="Wattsipper | The Affordable Path to 120V Cooking" 68 /> 69 <meta 70 property="og:description" 71 content="Wattsipper offers affordable electrification designed for apartments, multifamily housing, and homes in need of transitioning from gas to electric cooking." 72 /> 73 <meta property="og:image" content="https://www.wattsipper.com/wattsipper-og.png" /> 74 <meta property="og:image:width" content="1200" /> 75 <meta property="og:image:height" content="627" /> 76 <meta property="og:image:type" content="image/png" /> 77 <meta 78 property="og:image:alt" 79 content="Wattsipper - Affordable 120V Electric Cooking" 80 /> 81 <meta property="og:site_name" content="Wattsipper" /> 82 <meta property="og:locale" content="en_US" /> 83 84 <!-- Twitter --> 85 <meta name="twitter:card" content="summary_large_image" /> 86 <meta name="twitter:url" content="https://www.wattsipper.com" /> 87 <meta 88 name="twitter:title" 89 content="Wattsipper | The Affordable Path to 120V Cooking" 90 /> 91 <meta 92 name="twitter:description" 93 content="Wattsipper offers affordable electrification designed for apartments, multifamily housing, and homes in need of transitioning from gas to electric cooking." 94 /> 95 <meta name="twitter:image" content="https://www.wattsipper.com/wattsipper-og.png" /> 96 <meta name="twitter:site" content="@wattsipper" /> 97 <meta name="twitter:creator" content="@wattsipper" /> 98 99 <!-- Additional SEO --> 100 <link rel="canonical" href="https://www.wattsipper.com" /> 101 <meta name="theme-color" content="#242424" /> 102 103 <!-- Organization structured data --> 104 <!-- 105 Served in the raw HTML (via _template.html + edge middleware) rather 106 than injected by GTM, so crawlers see it without executing JS and 107 without waiting on consent â the Termly blocker holds GTM back until 108 the visitor accepts, which would hide a GTM-injected copy. 109 110 Site-wide by design: this describes the organization, not the page. 111 Keep it BELOW the meta tags above â middleware.js rewrites those by 112 regex and this block must not sit in the way of those patterns. 113 --> 114
114<script type="application/ld+json"> 115 { 116 "@context": "https://schema.org", 117 "@type": "Organization", 118 "@id": "https://www.wattsipper.com/#organization", 119 "name": "Wattsipper", 120 "url": "https://www.wattsipper.com/", 121 "logo": { 122 "@type": "ImageObject", 123 "url": "https://www.wattsipper.com/wattsipper-logo.png", 124 "width": 1800, 125 "height": 900 126 }, 127 "description": "Wattsipper is a collection of 120V induction ranges designed for apartments and older buildings, offering affordable electrification without requiring a 220V connection or batteries.", 128 "email": "[email protected]", 129 "telephone": "+1-718-893-3900", 130 "address": { 131 "@type": "PostalAddress", 132 "streetAddress": "770 Garrison Ave", 133 "addressLocality": "Bronx", 134 "addressRegion": "NY", 135 "postalCode": "10474", 136 "addressCountry": "US" 137 }, 138 "parentOrganization": { 139 "@type": "Organization", 140 "name": "Felix Storch, Inc.", 141 "url": "https://www.summitappliance.com/" 142 }, 143 "contactPoint": { 144 "@type": "ContactPoint", 145 "contactType": "customer service", 146 "telephone": "+1-718-893-3900", 147 "email": "[email protected]", 148 "areaServed": "US", 149 "availableLanguage": "English" 150 }, 151 "sameAs": [ 152 "https://www.linkedin.com/showcase/wattsipper", 153 "https://www.instagram.com/wattsipper/" 154 ] 155 } 156 </script>
156 157
157<script type="module" crossorigin src="/assets/index-DYv7-hB6.js"></script>
157 158 <link rel="stylesheet" crossorigin href="/assets/index-DWFFfJAV.css"> 159 </head> 160 <body> 161 <!-- Google Tag Manager (noscript) -->
vendor: 87 bytes, lines 161-164
161 162 <noscript 163 ><iframe 164 src="https://www.googletagmanager.com/ns.html?id=
164GTM-K8H4C4H9
vendor: 126 bytes, lines 164-170
164" 165 height="0" 166 width="0" 167 style="display: none; visibility: hidden" 168 ></iframe 169 ></noscript> 170
170<!-- End Google Tag Manager (noscript) --> 171 172 <div id="root"></div> 173
173<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"49831029bf214028bf2c64271be84992","r":1,"spa":2}' crossorigin="anonymous"></script>
173 174</body> 175</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.