1<!DOCTYPE html> 2<html lang="nl-NL"> 3<head> 4 <!-- Google Tag Manager --> 5
5<script>
vendor: 343 bytes, lines 5-9
5(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 6 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 7 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 8 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 9 })(window,document,'script','dataLayer','
9GTM-MX9ZKHRN
vendor: 3 bytes, line 9
9');
9</script>
9 10 <!-- End Google Tag Manager --> 11 12 13 <meta charset="UTF-8"> 14 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 15 <meta name="format-detection" content="telephone=no"> 16 <meta name="description" content="Description"> 17 18 <title>Restaurant Smelt - Kaasfondue Amsterdam, Breda en Den Bosch</title> 19 20 <link rel="preload" href="https://restaurantsmelt.nl/wp-content/themes/smelt/dist/static/fonts/HelveticaRounded-Bold.woff2" as="font" crossorigin> 21 22 <link rel="preconnect" href="https://fonts.googleapis.com"> 23 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 24 <link href="https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap" rel="stylesheet"> 25 26 <link rel="apple-touch-icon" sizes="180x180" href="https://restaurantsmelt.nl/wp-content/themes/smelt/favicon/apple-touch-icon.png"> 27 <link rel="icon" type="image/png" sizes="32x32" href="https://restaurantsmelt.nl/wp-content/themes/smelt/favicon/favicon-32x32.png"> 28 <link rel="icon" type="image/png" sizes="16x16" href="https://restaurantsmelt.nl/wp-content/themes/smelt/favicon/favicon-16x16.png"> 29 <link rel="manifest" href="https://restaurantsmelt.nl/wp-content/themes/smelt/favicon/site.webmanifest"> 30 <link rel="mask-icon" href="https://restaurantsmelt.nl/wp-content/themes/smelt/favicon/safari-pinned-tab.svg" color="#000000"> 31 <link rel="shortcut icon" href="https://restaurantsmelt.nl/wp-content/themes/smelt/favicon/favicon.ico"> 32 <meta name="msapplication-TileColor" content="#ffffff"> 33 <meta name="msapplication-config" content="https://restaurantsmelt.nl/wp-content/themes/smelt/favicon/browserconfig.xml"> 34 <meta name="theme-color" content="#ffffff"> 35 36 <meta name="facebook-domain-verification" content="749ze6hgyenoosgoi9nt8tinbx3ld1" /> 37 38 <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> 39 40 <!-- This site is optimized with the Yoast SEO plugin v28.6 - https://yoast.com/product/yoast-seo-wordpress/ --> 41 <meta name="description" content="Restaurant Smelt serveert de beste kaasfondue in Amsterdam en 's-Hertogenbosch. Ambachtelijke kazen, gezellige sfeer. Binnenkort ook in Breda!" /> 42 <link rel="canonical" href="https://restaurantsmelt.nl/" /> 43 <meta property="og:locale" content="nl_NL" /> 44 <meta property="og:type" content="website" /> 45 <meta property="og:title" content="Restaurant Smelt - Kaasfondue Amsterdam, Breda en Den Bosch" /> 46 <meta property="og:description" content="Restaurant Smelt serveert de beste kaasfondue in Amsterdam en 's-Hertogenbosch. Ambachtelijke kazen, gezellige sfeer. Binnenkort ook in Breda!" /> 47 <meta property="og:url" content="https://restaurantsmelt.nl/" /> 48 <meta property="og:site_name" content="Restaurant Smelt" /> 49 <meta property="article:modified_time" content="2026-09-15T11:36:01+00:00" /> 50 <meta name="twitter:card" content="summary_large_image" /> 51
51<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/restaurantsmelt.nl\/","url":"https:\/\/restaurantsmelt.nl\/","name":"Restaurant Smelt - Kaasfondue Amsterdam, Breda en Den Bosch","isPartOf":{"@id":"https:\/\/restaurantsmelt.nl\/#website"},"datePublished":"2024-06-06T10:44:35+00:00","dateModified":"2026-09-15T11:36:01+00:00","description":"Restaurant Smelt serveert de beste kaasfondue in Amsterdam en 's-Hertogenbosch. Ambachtelijke kazen, gezellige sfeer. Binnenkort ook in Breda!","breadcrumb":{"@id":"https:\/\/restaurantsmelt.nl\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/restaurantsmelt.nl\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/restaurantsmelt.nl\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home"}]},{"@type":"WebSite","@id":"https:\/\/restaurantsmelt.nl\/#website","url":"https:\/\/restaurantsmelt.nl\/","name":"Restaurant Smelt","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/restaurantsmelt.nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"}]}</script>
51 52 <!-- / Yoast SEO plugin. --> 53 54 55<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://restaurantsmelt.nl/wp-json/oembed/1.0/embed?url=https%3A%2F%2Frestaurantsmelt.nl%2F" /> 56<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://restaurantsmelt.nl/wp-json/oembed/1.0/embed?url=https%3A%2F%2Frestaurantsmelt.nl%2F&format=xml" /> 57<style id="wp-img-auto-sizes-contain-inline-css"> 58img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 59/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 60</style> 61<link rel='stylesheet' id='sbi-tokens-local-css' href='https://restaurantsmelt.nl/wp-content/plugins/instagram-feed/assets/tokens/sb-tokens-local.css?ver=6.14.0' media='all' /> 62<link rel='stylesheet' id='sbi_styles-css' href='https://restaurantsmelt.nl/wp-content/plugins/instagram-feed/css/sbi-styles.min.css?ver=6.14.0' media='all' /> 63<style id="wp-emoji-styles-inline-css"> 64 65 img.wp-smiley, img.emoji { 66 display: inline !important; 67 border: none !important; 68 box-shadow: none !important; 69 height: 1em !important; 70 width: 1em !important; 71 margin: 0 0.07em !important; 72 vertical-align: -0.1em !important; 73 background: none !important; 74 padding: 0 !important; 75 } 76/*# sourceURL=wp-emoji-styles-inline-css */ 77</style> 78<style id="classic-theme-styles-inline-css"> 79/*! This file is auto-generated */ 80.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 81/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 82</style> 83 84<style id="global-styles-inline-css"> 85:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
85--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
85.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 86/*# sourceURL=global-styles-inline-css */ 87</style> 88 89<link rel='stylesheet' id='dashicons-css' href='https://restaurantsmelt.nl/wp-includes/css/dashicons.min.css?ver=7.1.3' media='all' /> 90<link rel='stylesheet' id='wpml-legacy-horizontal-list-0-css' href='https://restaurantsmelt.nl/wp-content/plugins/sitepress-multilingual-cms/templates/language-switchers/legacy-list-horizontal/style.min.css?ver=510000' media='all' /> 91<link rel='stylesheet' id='main-css-css' href='https://restaurantsmelt.nl/wp-content/themes/smelt/dist/css/bundle.css?ver=1.0' media='all' />
92<script id="wpml-cookie-js-extra"> 93var wpml_cookies = {"wp-wpml_current_language":{"value":"nl","expires":"Fri, 09 Oct 2026 03:50:28 GMT","path":"/"}}; 94//# sourceURL=wpml-cookie-js-extra 95</script>
vendor: 1 bytes, line 95
95
96<script data-wp-strategy="defer" defer id="wpml-cookie-js" src="https://restaurantsmelt.nl/wp-content/plugins/sitepress-multilingual-cms/res/js/cookies/language-cookie.js?ver=510000"></script>
vendor: 1 bytes, line 96
96
97<script id="facebook-signal-js-extra"> 98var facebookSignalConfig = {"cookieName":"wc_facebook_signals_state","ajaxUrl":"https://restaurantsmelt.nl/wp-admin/admin-ajax.php","signalsAction":"fbpix_set_pixel_signals","signalsNonce":"2ad143726b"}; 99//# sourceURL=facebook-signal-js-extra 100</script>
vendor: 1 bytes, line 100
100
101<script id="facebook-signal-js" src="https://restaurantsmelt.nl/wp-content/plugins/official-facebook-pixel/core/../js/facebook_signal.js?ver=5.2.2"></script>
vendor: 1 bytes, line 101
101
102<script id="jquery-core-js" src="https://restaurantsmelt.nl/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 102
102
103<script id="jquery-migrate-js" src="https://restaurantsmelt.nl/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
103 104<link rel="https://api.w.org/" href="https://restaurantsmelt.nl/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://restaurantsmelt.nl/wp-json/wp/v2/pages/6" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://restaurantsmelt.nl/xmlrpc.php?rsd" /> 105<meta name="generator" content="WordPress 7.1.3" /> 106<link rel='shortlink' href='https://restaurantsmelt.nl/' /> 107<meta name="generator" content="WPML ver:5.1.0 stt:37,1;" /> 108<meta name="google-site-verification" content="tKfCIHlWcdL2VBFEDCl-D54jh6X-77WVdK9DdzP4nms" /> 109 110<!-- Meta Pixel Code -->
111<script type='text/javascript'> 112!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? 113n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; 114n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; 115t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, 116document,'script','https://connect.facebook.net/en_US/fbevents.js'); 117</script>
117 118<!-- End Meta Pixel Code -->
119<script type='text/javascript'>FacebookSignal.init({"held":false,"ajaxUrl":"https:\/\/restaurantsmelt.nl\/wp-admin\/admin-ajax.php","releaseAction":"fbpix_release_signals","pixelId":"1598148811238914","attribution":{},"capig":"1"});FacebookSignal.initPixel("1598148811238914",{},{"agent":"wordpress_0-7.1.3-5.2.2","includeCapiIntegration":true});</script>
119<script type='text/javascript'> 120 fbq('track', 'PageView', []); 121 </script>
121</head> 122<body class="home wp-singular page-template-default page page-id-6 wp-theme-smelt"> 123 124<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 124-125
124 125<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
125GTM-MX9ZKHRN
vendor: 83 bytes, lines 125-126
125" 126height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
127<!-- End Google Tag Manager (noscript) --> 128 129<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 129-130
129 130<script async src="https://www.googletagmanager.com/gtag/js?id=
130G-0S3F6MY90L
vendor: 12 bytes, line 130
130"></script>
131<script> 132
vendor: 134 bytes, lines 132-136
132window.dataLayer = window.dataLayer || []; 133 function gtag(){dataLayer.push(arguments);} 134 gtag('js', new Date()); 135 136 gtag('config', '
136G-0S3F6MY90L
vendor: 4 bytes, line 136
136');
137</script>
137 138 139 140<header class="header -splash"> 141 <div class="header-bg"> 142 <img width="1024" height="683" src="https://restaurantsmelt.nl/wp-content/uploads/2025/01/x-14-3-1024x683.jpg" class="attachment-large size-large" alt="" decoding="async" fetchpriority="high" srcset="https://restaurantsmelt.nl/wp-content/uploads/2025/01/x-14-3-1024x683.jpg 1024w, https://restaurantsmelt.nl/wp-content/uploads/2025/01/x-14-3-300x200.jpg 300w, https://restaurantsmelt.nl/wp-content/uploads/2025/01/x-14-3-768x512.jpg 768w, https://restaurantsmelt.nl/wp-content/uploads/2025/01/x-14-3-1536x1024.jpg 1536w, https://restaurantsmelt.nl/wp-content/uploads/2025/01/x-14-3-2048x1365.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /> </div> 143 <div class="container"> 144 <div class="header-top"> 145 <a href="https://restaurantsmelt.nl/" class="header-top-logo"> 146 <img src="https://restaurantsmelt.nl/wp-content/themes/smelt/dist/img/logo/logo.svg" alt="Restaurant Smelt logo"> 147 </a> 148 <div class="header-top-location"> 149 <div class="header-top-location-trigger"> 150 Kies een locatie </div> 151 <ul class="header-top-location-list"> 152 <li> 153 <a href="https://restaurantsmelt.nl/9-straatjes/" target="">Amsterdam, 9 straatjes</a> 154 </li> 155 <li> 156 <a href="https://restaurantsmelt.nl/korte-putstraat/" target="">'s-Hertogenbosch, Korte Putstraat</a> 157 </li> 158 <li> 159 <a href="https://restaurantsmelt.nl/breda/" target="">Breda, Boschstraat</a> 160 </li> 161 </ul> 162 </div> 163 <div class="header-top-location header-top-location-menu"> 164 <div class="header-top-location-trigger"> 165 Navigeer </div> 166 <ul class="header-top-location-list"> 167 <li> 168 <a href="https://restaurantsmelt.nl/zakelijk/" target="">Zakelijk</a> 169 </li> 170 <li> 171 <a href="https://restaurantsmelt.nl/contact/" target="">Contact</a> 172 </li> 173 </ul> 174 </div> 175 <ul class="header-top-language"> 176 <li><a href="https://restaurantsmelt.nl/en/">EN</a></li> </ul> 177</div> <div class="header-info"> 178 <h1> 179 Welkom thuis<br /> 180in Restaurant Smelt </h1> 181 <ul class="header-splash"> 182 <li> 183 <div class="header-splash-title"> 184 Amsterdam </div> 185 <div class="header-splash-actions"> 186 <a href="https://restaurantsmelt.nl/amsterdam/" class="btn -accent"> 187 <svg> 188 <use xlink:href="https://restaurantsmelt.nl/wp-content/themes/smelt/dist/img/svgsprite/svgsprite.svg#pin"></use> 189 </svg> 190 9 straatjes </a> 191 </div> 192 </li> 193 <li> 194 <div class="header-splash-title"> 195 's-Hertogenbosch </div> 196 <div class="header-splash-actions"> 197 <a href="https://restaurantsmelt.nl/korte-putstraat/" class="btn -accent"> 198 <svg> 199 <use xlink:href="https://restaurantsmelt.nl/wp-content/themes/smelt/dist/img/svgsprite/svgsprite.svg#pin"></use> 200 </svg> 201 Korte Putstraat </a> 202 </div> 203 </li> 204 <li> 205 <div class="header-splash-title"> 206 Breda </div> 207 <div class="header-splash-actions"> 208 <a href="https://restaurantsmelt.nl/breda/" class="btn -accent"> 209 <svg> 210 <use xlink:href="https://restaurantsmelt.nl/wp-content/themes/smelt/dist/img/svgsprite/svgsprite.svg#pin"></use> 211 </svg> 212 Boschstraat </a> 213 </div> 214 </li> 215 </ul> 216 <div class="header-partners"> 217 <div class="header-partners-title"> 218 Geniet ook van Smelt fondue in: </div> 219 <ul class="header-splash"> 220 <li> 221 <div class="header-splash-title"> 222 Nijmegen (v.a. 1 okt) </div> 223 <div class="header-splash-actions"> 224 <a href="https://zottelemke.nl/" target="_blank" rel="noopener" class="btn -outline"> 225 <svg> 226 <use xlink:href="https://restaurantsmelt.nl/wp-content/themes/smelt/dist/img/svgsprite/svgsprite.svg#pin"></use> 227 </svg> 228 't Zotte Lemke </a> 229 </div> 230 </li> 231 <li> 232 <div class="header-splash-title"> 233 Eindhoven (5-15 nov) </div> 234 <div class="header-splash-actions"> 235 <a href="https://www.hetfondueatelier.nl/" target="_blank" rel="noopener" class="btn -outline"> 236 <svg> 237 <use xlink:href="https://restaurantsmelt.nl/wp-content/themes/smelt/dist/img/svgsprite/svgsprite.svg#pin"></use> 238 </svg> 239 Fondue Atelier </a> 240 </div> 241 </li> 242 <li> 243 <div class="header-splash-title"> 244 Dordrecht </div> 245 <div class="header-splash-actions"> 246 <a href="https://cbc38.nl/" target="_blank" rel="noopener" class="btn -outline"> 247 <svg> 248 <use xlink:href="https://restaurantsmelt.nl/wp-content/themes/smelt/dist/img/svgsprite/svgsprite.svg#pin"></use> 249 </svg> 250 No.38 City Bakery Café </a> 251 </div> 252 </li> 253 </ul> 254 </div> 255 </div> 256 </div> 257</header> 258 259 260 <!-- Meta Pixel Event Code --> 261
261<script type='text/javascript'> 262 (function () { 263 function runPixelCode( response ) { 264 if ( ! response || ! response.data || ! response.data.fb_pxl_code ) { 265 return; 266 } 267 268 try { 269 new Function( response.data.fb_pxl_code )(); 270 } catch ( e ) { 271 console && console.warn 272 && console.warn( 'Meta Pixel response parsing failed. Please check if your pixel is connected.', e ); 273 } 274 } 275 276 var radio = window.nfRadio 277 || ( window.Backbone && window.Backbone.Radio ); 278 if ( radio && radio.channel ) { 279 radio.channel( 'forms' ).on( 'submit:response', runPixelCode ); 280 } 281 282 if ( window.jQuery ) { 283 window.jQuery( document ).on( 284 'nfFormSubmitResponse', 285 function ( event, data ) { 286 if ( data && data.response ) { 287 runPixelCode( data.response ); 288 } 289 } 290 ); 291 } 292 })(); 293 </script>
293 294 <!-- End Meta Pixel Event Code --> 295 <!-- Meta Pixel Event Code --> 296
296<script type='text/javascript'> 297 (function ( $ ) { 298 if ( ! $ || typeof document === 'undefined' ) { 299 return; 300 } 301 // WPForms triggers this jQuery event and passes the AJAX response object. 302 $( document ).on( 'wpformsAjaxSubmitSuccess', function ( event, data ) { 303 if ( data && data.data && data.data.fb_pxl_code ) { 304 try { 305 new Function( data.data.fb_pxl_code )(); 306 } catch ( e ) { 307 console && console.warn && console.warn( 'Meta Pixel eval failed', e ); 308 } 309 } 310 } ); 311 })( window.jQuery ); 312 </script>
312 313 <!-- End Meta Pixel Event Code --> 314
314<script type="speculationrules"> 315{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/smelt/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 316</script>
316 317 <!-- Meta Pixel Event Code --> 318
318<script type='text/javascript'> 319 document.addEventListener( 'wpcf7mailsent', function( event ) { 320 if( "fb_pxl_code" in event.detail.apiResponse){ 321 eval(event.detail.apiResponse.fb_pxl_code); 322 } 323 }, false ); 324 </script>
324 325 <!-- End Meta Pixel Event Code --> 326 <div id="fb-pxl-ajax-code"></div><!-- Instagram Feed JS -->
327<script type="text/javascript"> 328var sbiajaxurl = "https://restaurantsmelt.nl/wp-admin/admin-ajax.php"; 329</script>
vendor: 2 bytes, line 329
329
330<script id="app-js-js" src="https://restaurantsmelt.nl/wp-content/themes/smelt/dist/js/index.js?ver=1.0"></script>
vendor: 1 bytes, line 330
330
331<script id="seoaiwp-form-tracking-js-extra"> 332var SeoaiwpConversionConfig = {"enabled":"","tagId":"","label":""}; 333//# sourceURL=seoaiwp-form-tracking-js-extra 334</script>
vendor: 1 bytes, line 334
334
335<script id="seoaiwp-form-tracking-js-after"> 336/** 337 * WordPress & HubSpot Form Events â GTM dataLayer + GA4 gtag 338 * 339 * Listens for successful form submissions from popular WordPress form 340 * plugins and HubSpot forms, then pushes events to both window.dataLayer 341 * (GTM) and gtag (GA4 direct). 342 * 343 * Also tracks clicks on tel: and mailto: links. 344 * 345 * Supported: CF7, Gravity Forms, WPForms, Forminator, Formidable, 346 * Ninja Forms, Fluent Forms, WS Form, Elementor Forms, Enfold (Avia), 347 * HubSpot Forms v3, HubSpot Forms v4, Pipedrive LeadBooster, Leadoo 348 */ 349 350// ââ IE11 closest() polyfill âââââââââââââââââââââââââââââââââââââââ 351 352if (!Element.prototype.closest) { 353 Element.prototype.closest = function (s) { 354 var el = this; 355 do { 356 if (el.matches(s)) return el; 357 el = el.parentElement || el.parentNode; 358 } while (el !== null && el.nodeType === 1); 359 return null; 360 }; 361} 362 363(function () { 364 'use strict'; 365 366 window.dataLayer = window.dataLayer || []; 367 368 // ââ helpers ââââââââââââââââââââââââââââââââââââââââââââââââââ 369 370 // Fires a Google Ads conversion event using values from SeoaiwpConversionConfig 371 // (injected via wp_localize_script from WPSEOAI â Settings â SEA). 372 function fireGoogleAdsConversion() { 373 var cfg = window.SeoaiwpConversionConfig; 374 if (!cfg || !cfg.enabled || !cfg.tagId || !cfg.label) return; 375 if (typeof gtag !== 'function') return; 376 377 gtag('event', 'conversion', { 378 send_to: 'AW-' + cfg.tagId + '/' + cfg.label 379 }); 380 } 381 382 function pushEvent(formPlugin, formId, formElement, extraData) { 383 var submitBtn = formElement 384 ? formElement.querySelector('[type="submit"]') 385 : null; 386 387 var submitText = ''; 388 if (submitBtn) { 389 submitText = submitBtn.tagName === 'INPUT' 390 ? submitBtn.value 391 : submitBtn.textContent.trim(); 392 } 393 394 var basePayload = { 395 event: 'wpseoai_form_submission', 396 formPlugin: formPlugin, 397 formId: formId || '', 398 formClass: formElement ? (formElement.className || '') : '', 399 submitText: submitText, 400 pageUrl: window.location.href, 401 pageTitle: document.title 402 }; 403 404 if (extraData) { 405 Object.keys(extraData).forEach(function (key) { 406 basePayload[key] = extraData[key]; 407 }); 408 } 409 410 // ââ GTM dataLayer push âââââââââââââââââââââââââââââââââââ 411 412 window.dataLayer.push(basePayload); 413 414 // ââ GA4 gtag direct ââââââââââââââââââââââââââââââââââââââ 415 416 if (typeof gtag === 'function') { 417 var gtagPayload = {}; 418 Object.keys(basePayload).forEach(function (key) { 419 if (key !== 'event') gtagPayload[key] = basePayload[key]; 420 }); 421 gtag('event', 'wpseoai_form_submission', gtagPayload); 422 } 423 424 // ââ Google Ads conversion ââââââââââââââââââââââââââââââââ 425 426 fireGoogleAdsConversion(); 427 } 428 429 function pushLinkClick(eventName, linkType, href, linkText) { 430 var payload = { 431 event: eventName, 432 linkType: linkType, 433 linkHref: href, 434 linkText: linkText, 435 pageUrl: window.location.href, 436 pageTitle: document.title 437 }; 438 439 window.dataLayer.push(payload); 440 441 if (typeof gtag === 'function') { 442 gtag('event', eventName, { 443 link_type: linkType, 444 link_href: href, 445 link_text: linkText, 446 page_url: window.location.href, 447 page_title: document.title 448 }); 449 } 450 451 // ââ Google Ads conversion ââââââââââââââââââââââââââââââââ 452 453 fireGoogleAdsConversion(); 454 } 455 456 // ââ 1. Contact Form 7 âââââââââââââââââââââââââââââââââââââââ 457 458 document.addEventListener('wpcf7mailsent', function (event) { 459 var formId = event.detail.contactFormId; 460 pushEvent('cf7', formId, event.target); 461 }, false); 462 463 // ââ 2. Gravity Forms ââââââââââââââââââââââââââââââââââââââââ 464 // 465 // Three confirmation types need separate handling: 466 // a) AJAX text confirmation â 'gform_confirmation_loaded' fires 467 // b) Non-AJAX page reload â '.gform_confirmation_message' present on load 468 // c) Page redirect â track before redirect via 'gform_pre_submission' 469 470 var gfTrackedForms = {}; 471 472 jQuery(function ($) { 473 474 // (a) AJAX text/message confirmation 475 $(document).on('gform_confirmation_loaded', function (event, formId) { 476 if (gfTrackedForms['conf_' + formId]) return; 477 gfTrackedForms['conf_' + formId] = true; 478 479 var formEl = document.getElementById('gform_' + formId) || 480 document.querySelector('#gform_wrapper_' + formId + ' form'); 481 pushEvent('gravity_forms', formId, formEl); 482 }); 483 484 // (b) Non-AJAX page reload â confirmation message rendered server-side 485 $('.gform_confirmation_message').each(function () { 486 var wrapper = $(this).closest('.gform_wrapper'); 487 var formId = (wrapper.attr('id') || '').replace('gform_wrapper_', ''); 488 if (formId && !gfTrackedForms['conf_' + formId]) { 489 gfTrackedForms['conf_' + formId] = true; 490 pushEvent('gravity_forms', formId, null); 491 } 492 }); 493 494 // (c) Redirect confirmation â capture before the browser navigates away 495 if (typeof gform !== 'undefined' && typeof gform.addAction === 'function') { 496 gform.addAction('gform_pre_submission', function (formEl) { 497 var formId = formEl ? formEl.getAttribute('id') : ''; 498 formId = formId.replace('gform_', ''); 499 if (formId) { 500 pushEvent('gravity_forms', formId, formEl); 501 gfTrackedForms['conf_' + formId] = true; 502 } 503 }); 504 } 505 506 // ââ 3. WPForms âââââââââââââââââââââââââââââââââââââââââ 507 508 $(document).on('wpformsAjaxSubmitSuccess', 'form.wpforms-form', function (event) { 509 var formId = $(event.target).attr('data-formid'); 510 pushEvent('wpforms', formId, event.target); 511 }); 512 513 // ââ 4. Forminator ââââââââââââââââââââââââââââââââââââââ 514 515 $(document).on('forminator:form:submit:success', function (event) { 516 var formId = $(event.target).find('input[name="form_id"]').val(); 517 pushEvent('forminator', formId, event.target); 518 }); 519 520 // ââ 5. Formidable Forms ââââââââââââââââââââââââââââââââ 521 // a) AJAX â frmFormComplete fires 522 // b) Non-AJAX page reload â .frm_message present on load 523 524 var frmTrackedForms = {}; 525 526 $(document).on('frmFormComplete', function (event, form) { 527 var formId = $(form).find('input[name="form_id"]').val(); 528 if (formId) frmTrackedForms['frm_' + formId] = true; 529 pushEvent('formidable', formId, form); 530 }); 531 532 // Non-AJAX: detect success message rendered after page reload 533 $('.frm_message').each(function () { 534 var wrapper = $(this).closest('.frm_forms'); 535 var formId = wrapper.find('input[name="form_id"]').val() || 536 (wrapper.attr('id') || '').replace('frm_form_', '').replace('_container', ''); 537 if (formId && !frmTrackedForms['frm_' + formId]) { 538 frmTrackedForms['frm_' + formId] = true; 539 pushEvent('formidable', formId, wrapper.find('form')[0] || null); 540 } 541 }); 542 543 // ââ 6. Ninja Forms âââââââââââââââââââââââââââââââââââââ 544 545 if ($.fn.onFirst) { 546 $(document).onFirst('nfFormSubmitResponse', function (event, data) { 547 var formId = data.response.data.form_id; 548 pushEvent('ninja_forms', formId, event.target); 549 }); 550 } else { 551 $(document).on('nfFormSubmitResponse', function (event, data) { 552 var formId = data.response.data.form_id; 553 pushEvent('ninja_forms', formId, event.target); 554 }); 555 } 556 557 // ââ 7. Fluent Forms ââââââââââââââââââââââââââââââââââââ 558 559 $(document).on('fluentform_submission_success', function (event, data) { 560 if (!data || !data.form) return; 561 var formId = data.config.id; 562 pushEvent('fluent_forms', formId, data.form[0] || event.target); 563 }); 564 565 // ââ 8. WS Form ââââââââââââââââââââââââââââââââââââââââ 566 567 $(document).on('wsf-submit-complete', function (event, formObject, formId) { 568 pushEvent('ws_form', formId, event.target); 569 }); 570 571 // ââ 9. Elementor Forms âââââââââââââââââââââââââââââââââ 572 573 function observeElementorForm(form) { 574 var observer = new MutationObserver(function (mutations) { 575 for (var i = 0; i < mutations.length; i++) { 576 if (form.querySelector('.elementor-message-success')) { 577 var formId = form.getAttribute('id') || 578 (form.querySelector('input[name="form_id"]') || {}).value || ''; 579 pushEvent('elementor_form', formId, form); 580 observer.disconnect(); 581 return; 582 } 583 } 584 }); 585 586 observer.observe(form, { 587 attributes: true, 588 childList: true, 589 subtree: true 590 }); 591 } 592 593 // existing forms on page 594 document.querySelectorAll('.elementor-form').forEach(function (form) { 595 observeElementorForm(form); 596 }); 597 598 // forms inside Elementor popups (loaded dynamically) 599 var popupObserver = new MutationObserver(function (mutationsList) { 600 for (var i = 0; i < mutationsList.length; i++) { 601 var popupForm = document.querySelector('[class*="elementor-popup"] form'); 602 if (popupForm) { 603 observeElementorForm(popupForm); 604 popupObserver.disconnect(); 605 break; 606 } 607 } 608 }); 609 popupObserver.observe(document.body, { childList: true, subtree: true }); 610 611 // ââ 10. Enfold (Avia) Contact Forms âââââââââââââââââââââââ 612 // 613 // Enfold forms submit via AJAX and do not fire custom JS events. 614 // On success the form slides up and the response container 615 // (#ajaxresponse_{id}) becomes visible with an .avia-form-success heading. 616 // We use a MutationObserver to detect this DOM change. 617 618 var enfoldTracked = {}; 619 620 function observeEnfoldResponse(responseEl) { 621 var observer = new MutationObserver(function () { 622 if (responseEl.classList.contains('hidden') || 623 responseEl.style.display === 'none') { 624 return; 625 } 626 627 if (!responseEl.querySelector('.avia-form-success')) { 628 return; 629 } 630
631 var formId = (responseEl.id || '').replace('ajaxresponse_', ''); 632 if (enfoldTracked[formId]) return; 633 enfoldTracked[formId] = true; 634 635 var formEl = responseEl.parentElement 636 ? responseEl.parentElement.querySelector('form.avia_ajax_form') || 637 responseEl.parentElement.querySelector('form.ajax_form') 638 : null; 639 640 pushEvent('enfold', formId, formEl); 641 observer.disconnect(); 642 }); 643 644 observer.observe(responseEl, { 645 attributes: true, 646 attributeFilter: ['class', 'style'], 647 childList: true, 648 subtree: true 649 }); 650 } 651 652 document.querySelectorAll('.ajaxresponse').forEach(function (el) { 653 observeEnfoldResponse(el); 654 }); 655 656 }); 657 658 // ââ 11. HubSpot Forms v3 âââââââââââââââââââââââââââââââââââ 659 // 660 // v3 forms communicate via window.postMessage. On success the 661 // message payload carries the form ID, conversion ID, and field values. 662 663 window.addEventListener('message', function (event) { 664 if (event.data.type === 'hsFormCallback' && 665 event.data.eventName === 'onFormSubmitted') { 666 667 pushEvent( 668 'hubspot_v3', 669 event.data.id, 670 null, 671 { 672 conversion_id: event.data.data.conversionId 673 } 674 ); 675 } 676 }); 677 678 // ââ 12. HubSpot Forms v4 âââââââââââââââââââââââââââââââââââ 679 // 680 // v4 forms fire a custom DOM event. Field values are fetched 681 // asynchronously via the HubspotFormsV4 API. 682 683 window.addEventListener('hs-form-event:on-submission:success', function (event) { 684 if (typeof HubspotFormsV4 === 'undefined') return; 685 686 var hsForm = HubspotFormsV4.getFormFromEvent(event); 687 if (!hsForm) return; 688 689 pushEvent( 690 'hubspot_v4', 691 hsForm.getFormId(), 692 null, 693 { 694 conversion_id: hsForm.getConversionId() 695 } 696 ); 697 }); 698 699 // ââ 13. Lead form submissions âââââââââââââââââââââââââââââ 700 // 701 // Lead forms dispatch a custom 'wpseoai:lead_form_submit' event on 702 // successful submission. The event detail may carry formId and any 703 // additional metadata the form wishes to surface. 704 705 document.addEventListener('wpseoai:lead_form_submit', function (event) { 706 pushEvent('wpseoai_lead_form', '', null); 707 }, false); 708 709 // ââ 14. Pipedrive LeadBooster Forms ââââââââââââââââââââââââââ 710 // 711 // Pipedrive forms are embedded as iframes and post a message to the 712 // parent window on submission. The payload includes formUUID which 713 // serves as the form identifier. 714 715 window.addEventListener('message', function (event) { 716 var data = event.data; 717 if (!data || data.event !== 'pipedrive_form_submit') return; 718 719 pushEvent('pipedrive', data.formUUID || '', null, null); 720 }); 721 722 // ââ 15. Leadoo ââââââââââââââââââââââââââââââââââââââââââââââââ 723 // 724 // Leadoo pushes a { event: 'LEAD' } object to window.dataLayer on 725 // form submission. We wrap dataLayer.push to intercept it. 726 // The _busy guard prevents re-entrancy from our own pushEvent calls. 727 728 (function () { 729 var dl = window.dataLayer; 730 if (!dl || typeof dl.push !== 'function') return; 731 732 var _orig = dl.push.bind(dl); 733 var _busy = false; 734 735 dl.push = function () { 736 if (!_busy) { 737 for (var i = 0; i < arguments.length; i++) { 738 var item = arguments[i]; 739 if (item && typeof item === 'object' && item.event === 'LEAD') { 740 _busy = true; 741 try { 742 pushEvent('leadoo', '', null, null); 743 } finally { 744 _busy = false;
745 } 746 } 747 } 748 } 749 return _orig.apply(null, arguments); 750 }; 751 }()); 752 753 // ââ 16. tel: and mailto: link clicks ââââââââââââââââââââââ 754 // 755 // Uses event delegation on document so dynamically injected links 756 // (popups, live chat widgets, etc.) are captured without re-binding. 757 // closest() walks up the DOM in case the click lands on a child 758 // element inside the anchor (e.g. an icon or span). 759 // hrefLower handles uppercase protocol variants (e.g. TEL:, MAILTO:). 760 761 document.addEventListener('click', function (event) { 762 var anchor = event.target.closest('a[href]'); 763 if (!anchor) return; 764 765 var href = anchor.getAttribute('href') || ''; 766 var hrefLower = href.toLowerCase(); 767 var linkText = anchor.textContent.trim(); 768 769 if (hrefLower.indexOf('tel:') === 0) { 770 pushLinkClick('wpseoai_tel_click', 'tel', href.slice(4), linkText); 771 } else if (hrefLower.indexOf('mailto:') === 0) { 772 pushLinkClick('wpseoai_mail_click', 'mailto', href.slice(7), linkText); 773 } 774 }, false); 775 776})(); 777 778//# sourceURL=seoaiwp-form-tracking-js-after 779</script>
vendor: 1 bytes, line 779
779
780<script id="seoaiwp-link-tracking-js-after"> 781/** 782 * Link click tracking â GTM dataLayer + GA4 gtag 783 * 784 * Delegated click listener that fires a `wpseoai_link_click` event to window.dataLayer 785 * (GTM) and, when present, gtag (GA4) whenever a visitor clicks an http(s) link. The 786 * event carries `linkHref`, the origin and path the link leads to â no query string, so 787 * a token or an address in one never reaches the analytics account. Independent of form 788 * tracking, with its own enable toggle. tel:/mailto: intent links stay with the 789 * form-tracking script. Add data-wpseoai-no-track to a link to exclude it. 790 */ 791 792// ââ IE11 matches()/closest() polyfills ââââââââââââââââââââââââââââ 793// closest() below relies on matches(); IE11 exposes it only as msMatchesSelector. 794 795if (!Element.prototype.matches) { 796 Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector; 797} 798 799if (!Element.prototype.closest) { 800 Element.prototype.closest = function (s) { 801 var el = this; 802 do { 803 if (el.matches(s)) return el; 804 el = el.parentElement || el.parentNode; 805 } while (el !== null && el.nodeType === 1); 806 return null; 807 }; 808} 809 810(function () { 811 'use strict'; 812 813 window.dataLayer = window.dataLayer || []; 814 815 // GTM reads the dataLayer key, GA4 reads the gtag parameter, and the two name it 816 // differently â snake_case is what GA4 accepts as an event parameter. The names match 817 // the tel:/mailto: events in the form tracking script, which carry a URL under the same. 818 function pushLinkClick(linkHref) { 819 window.dataLayer.push({ event: 'wpseoai_link_click', linkHref: linkHref }); 820 821 if (typeof gtag === 'function') { 822 gtag('event', 'wpseoai_link_click', { link_href: linkHref }); 823 } 824 } 825 826 // Event delegation on document so dynamically injected links (popups, 827 // widgets) are captured without re-binding. closest() walks up in case the 828 // click lands on a child element inside the anchor (icon/span). Bound to 829 // both `click` (primary/keyboard) and `auxclick` (middle button opens a new 830 // tab); on auxclick only the middle button (1) counts, never right-click. 831 function handleLinkClick(event) { 832 if (event.type === 'auxclick' && event.button !== 1) return; 833 834 var anchor = event.target.closest('a[href]'); 835 if (!anchor) return; 836 837 // Explicit opt-out for links that should never be tracked. 838 if (anchor.hasAttribute('data-wpseoai-no-track')) return; 839 840 var href = anchor.getAttribute('href') || ''; 841 842 // Skip empty hrefs and in-page anchors. tel:, mailto:, javascript: and other 843 // non-web schemes are excluded by the http(s) check below (tel:/mailto: keep 844 // their own events in the form-tracking script). 845 if (href === '' || href.charAt(0) === '#') { 846 return; 847 } 848 849 if (anchor.protocol !== 'http:' && anchor.protocol !== 'https:') { 850 return; 851 } 852 853 // Origin and path only. A query string can carry a reset token, an unsubscribe
853key 854 // or an address, and GA4's own query redaction does not reach a custom parameter. 855 // Built from the parts rather than anchor.origin, which IE11 does not implement; 856 // its pathname also omits the leading slash, hence the guard. 857 var path = anchor.pathname || ''; 858 859 if (path.charAt(0) !== '/') { 860 path = '/' + path; 861 } 862 863 pushLinkClick(anchor.protocol + '//' + anchor.host + path); 864 } 865 866 document.addEventListener('click', handleLinkClick, false); 867 document.addEventListener('auxclick', handleLinkClick, false); 868 869})(); 870 871//# sourceURL=seoaiwp-link-tracking-js-after 872</script>
vendor: 1 bytes, line 872
872
873<script id="wp-emoji-settings" type="application/json"> 874{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://restaurantsmelt.nl/wp-includes/js/wp-emoji-release.min.js?ver=7.1.3"}} 875</script>
vendor: 1 bytes, line 875
875
876<script type="module"> 877/*! This file is auto-generated */ 878var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 879//# sourceURL=https://restaurantsmelt.nl/wp-includes/js/wp-emoji-loader.min.js 880</script>
880 881</body> 882</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.