PageSourceSearch

https://gomuda.id/kategori/turtleneck

html gomuda.id collected 2026-10-10 01:02:05 UTC 18,609 bytes, 189 lines download raw bytes

1<!doctype html>
2<html lang="id">
3  <head>
4    <meta charset="UTF-8" />
5    <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
6    <meta name="theme-color" content="#161412" />
7    <!-- LCP: foto hero dirender oleh JS (SPA) sehingga ditemukan telat. Preload
8         agar browser mengunduhnya SEGERA (paralel dgn JS) → LCP jauh lebih cepat.
9         (Bila hero diganti kustom via admin, ini hanya 1 unduhan ~96KB tak terpakai.) -->
10    <!-- Percepat koneksi ke Firebase Storage (foto produk & hero kustom). -->
11    <link rel="preconnect" href="https://firebasestorage.googleapis.com" crossorigin />
12    <link rel="manifest" href="/manifest.json" />
13    <!-- Katalog ARD untuk agen AI. Penanda eksplisit ini membuat penemuannya
14         tidak bergantung pada lokasi .well-known, yang dalam spesifikasi masih
15         bisa berpindah. Ia juga membuat katalog yang rusak GAGAL dengan berisik
16         alih-alih diam-diam dianggap "tidak ada katalog". -->
17    <link rel="ai-catalog" href="/.well-known/ai-catalog.json" />
18    <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
19    <link rel="apple-touch-icon" href="/icons/apple-touch-icon-v4.png" />
20    <link rel="icon" type="image/png" sizes="32x32" href="/icons/favicon-32-v3.png" />
21    <link rel="icon" type="image/png" sizes="16x16" href="/icons/favicon-16-v3.png" />
22    
23    
24    <!-- Canonical self-referensi per halaman (tanpa UTM/query) → cegah "Duplikat
25         tanpa versi kanonis" di Google Search. Diset segera dari path saat ini,
26         lalu disempurnakan per-rute oleh app (_syncCanonical). -->
27    <link rel="canonical" id="gm-canonical" href="https://gomuda.id/kategori/turtleneck" />
28    
28<script>(function(){try{var p=(location.pathname||'/');if(p==='/index.html')p='/';document.getElementById('gm-canonical').setAttribute('href','https://gomuda.id'+p);}catch(e){}})();</script>
28
29    <!-- Open Graph (WhatsApp / Facebook / LinkedIn) -->
30    <meta property="og:site_name" content="Gomuda" />
31    <meta property="og:locale" content="id_ID" />
32    <!-- Twitter / X -->
33    <meta name="twitter:card" content="summary_large_image" />
34    <!-- Data terstruktur (Schema.org) → bantu Google memahami situs: nama, logo,
35         sosial, & kotak pencarian sitelinks. Memperbesar peluang hasil brand
36         tampil rapi (bukan cuplikan teks acak). -->
37    
37<script type="application/ld+json">
38    {
39      "@context": "https://schema.org",
40      "@graph": [
41        {
42          "@type": "Organization",
43          "@id": "https://gomuda.id/#organization",
44          "name": "Gomuda",
45          "alternateName": "Gomuda Knitwear",
46          "url": "https://gomuda.id/",
47          "logo": "https://gomuda.id/icons/apple-touch-icon-v3.png",
48          "image": "https://gomuda.id/og-gomuda-v2.jpg",
49          "description": "Timeless Knitwear, Boundless Spirit — rajut pria berkualitas dari Bandung.",
50          "sameAs": [
51            "https://instagram.com/gomuda.id",
52            "https://youtube.com/@gomudaid",
53            "https://www.tiktok.com/@gomuda.id",
54            "https://www.threads.net/@gomuda.id"
55          ]
56        },
57        {
58          "@type": "WebSite",
59          "@id": "https://gomuda.id/#website",
60          "url": "https://gomuda.id/",
61          "name": "Gomuda",
62          "publisher": { "@id": "https://gomuda.id/#organization" },
63          "inLanguage": "id-ID",
64          "potentialAction": {
65            "@type": "SearchAction",
66            "target": {
67              "@type": "EntryPoint",
68              "urlTemplate": "https://gomuda.id/katalog?q={search_term_string}"
69            },
70            "query-input": "required name=search_term_string"
71          }
72        }
73      ]
74    }
75    </script>
75
76    <!-- Splash app (PWA): wordmark GOMUDA taupe di atas krem #F4F1EA -->
77    <style>
78      #gm-splash{position:fixed;inset:0;z-index:9999;background:#F4F1EA;display:flex;align-items:center;justify-content:center;transition:opacity .45s ease,visibility .45s ease;}
79      #gm-splash.gm-hide{opacity:0;visibility:hidden;pointer-events:none;}
80      #gm-splash .gm-splash-in{display:flex;flex-direction:column;align-items:center;gap:20px;padding:0 28px;}
81      #gm-splash svg{width:min(56vw,272px);height:auto;display:block;}
82      #gm-splash .gm-splash-tag{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#A99E91;text-align:center;text-wrap:balance;}
83      html.gm-no-splash #gm-splash{display:none !important;}
84    </style>
85    
85<script>try{
86      // Cegah DOUBLE splash: saat berjalan sebagai APP terinstal (PWA/TWA Play
87      // Store), Android sudah menampilkan splash native (ikon G) → matikan splash
88      // HTML agar tak dobel. Di browser biasa (tanpa splash native), splash HTML
89      // tetap tampil. Juga dilewati bila sudah tampil sekali di sesi ini.
90      var _standalone=(window.matchMedia&&window.matchMedia('(display-mode: standalone)').matches)||window.navigator.standalone===true||(document.referrer||'').indexOf('android-app://')===0;
91      if(_standalone||sessionStorage.getItem("gm_splash")==="1")document.documentElement.classList.add("gm-no-splash");
92    }catch(e){}</script>
92
93    
93<script type="module" crossorigin src="/assets/index-pxrOF1x7.js"></script>
93
94    <link rel="modulepreload" crossorigin href="/assets/Brand-Bv3Se9No.js">
95    <link rel="modulepreload" crossorigin href="/assets/index.esm-BmJ8S0Kb.js">
96    <link rel="modulepreload" crossorigin href="/assets/firebase-iw7q7iG8.js">
97    <link rel="modulepreload" crossorigin href="/assets/index.esm-Cya0L9nZ.js">
98    <link rel="stylesheet" crossorigin href="/assets/index-Dc2utu12.css">
99      <title>Turtleneck - Gomuda Knitwear</title>
100    <meta name="description" content="Turtleneck Gomuda: koleksi turtleneck rajut pria berkualitas. Kualitas terjamin, dari Bandung." />
101    <meta property="og:type" content="website" />
102    <meta property="og:title" content="Turtleneck - Gomuda Knitwear" />
103    <meta property="og:description" content="Turtleneck Gomuda: koleksi turtleneck rajut pria berkualitas. Kualitas terjamin, dari Bandung." />
104    <meta property="og:url" content="https://gomuda.id/kategori/turtleneck" />
105    <meta property="og:image" content="https://firebasestorage.googleapis.com/v0/b/gomudaid.firebasestorage.app/o/products%2F1777255880872-wuaf2z.webp?alt=media&amp;token=262a61c8-e3dd-46e4-bf7c-3bc26ae7160b" />
106    <meta name="twitter:title" content="Turtleneck - Gomuda Knitwear" />
107    <meta name="twitter:description" content="Turtleneck Gomuda: koleksi turtleneck rajut pria berkualitas. Kualitas terjamin, dari Bandung." />
108    <meta name="twitter:image" content="https://firebasestorage.googleapis.com/v0/b/gomudaid.firebasestorage.app/o/products%2F1777255880872-wuaf2z.webp?alt=media&amp;token=262a61c8-e3dd-46e4-bf7c-3bc26ae7160b" />
109    
109<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","name":"Turtleneck — Gomuda Knitwear","url":"https://gomuda.id/kategori/turtleneck","description":"Koleksi turtleneck rajut pria Gomuda, dirajut di Bandung."},{"@type":"ItemList","itemListOrder":"https://schema.org/ItemListOrderAscending","numberOfItems":6,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://gomuda.id/produk/mock-turtleneck-knitwear","name":"Mock Turtleneck Knitwear","image":"https://firebasestorage.googleapis.com/v0/b/gomudaid.firebasestorage.app/o/products%2F1777255880872-wuaf2z.webp?alt=media&token=262a61c8-e3dd-46e4-bf7c-3bc26ae7160b"},{"@type":"ListItem","position":2,"url":"https://gomuda.id/produk/roll-neck-knitwear","name":"Roll Neck Knitwear","image":"https://firebasestorage.googleapis.com/v0/b/gomudaid.firebasestorage.app/o/products%2Fp3%2F1782118278195-gomuda-knitwear-black-s-roll-neck-knitwear-1231619064_small.webp?alt=media&token=30441fe1-c0ad-4278-9d1c-d22599be41de"},{"@type":"ListItem","position":3,"url":"https://gomuda.id/produk/mockneck-stripe-fuji-knitwear","name":"Mockneck Stripe Fuji Knitwear","image":"https://firebasestorage.googleapis.com/v0/b/gomudaid.firebasestorage.app/o/products%2F1777259703318-uyzm3t.webp?alt=media&token=db93897f-2d84-46c8-b847-3d2ddacab9bb"},{"@type":"ListItem","position":4,"url":"https://gomuda.id/produk/slimfit-ribbed-roll-neck-knitwear","name":"Slimfit Ribbed Roll Neck Knitwear","image":"https://firebasestorage.googleapis.com/v0/b/gomudaid.firebasestorage.app/o/products%2F1777255740904-6610y7.webp?alt=media&token=8cca87f2-e0c4-47c2-a805-2aed13c28be4"},{"@type":"ListItem","position":5,"url":"https://gomuda.id/produk/mockneck-short-sleeve-knitwear","name":"Mockneck Short Sleeve Knitwear","image":"https://firebasestorage.googleapis.com/v0/b/gomudaid.firebasestorage.app/o/products%2F1777256064973-tyeklo.webp?alt=media&token=79cedb99-750c-41a2-b3c8-476d9689c543"},{"@type":"ListItem","position":6,"url":"https://gomuda.id/produk/cord-turtleneck-knitwear","name":"Cord Turtleneck Knitwear","image":"https://firebasestorage.googleapis.com/v0/b/gomudaid.firebasestorage.app/o/products%2F1777262010298-oid6tn.webp?alt=media&token=0ed9afa7-e116-41e2-a909-e90e4ae9da02"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Beranda","item":"https://gomuda.id/"},{"@type":"ListItem","position":2,"name":"Kategori","item":"https://gomuda.id/kategori"},{"@type":"ListItem","position":3,"name":"Turtleneck","item":"https://gomuda.id/kategori/turtleneck"}]}]}</script>
109
110  </head>
111  <body>
112    <div id="gm-splash" aria-hidden="true">
113      <div class="gm-splash-in">
114        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 559.09 91.12" fill="#8f8077" role="img" aria-label="GOMUDA"><path d="M60.21,90.98l-11.52.14c-11.23,0-23.48-5.98-32.8-16.18-4.81-5.25-8.74-11.37-11.38-18.22C1.46,49.28,0,41.25,0,32.95c0-4.81.88-9.33,2.48-13.41,1.75-4.08,4.22-7.58,7.29-10.5C15.9,3.35,24.2.29,33.24.29h22.16v16.62h-22.16c-4.96,0-9.18,1.46-12.1,4.22-2.91,2.77-4.52,6.86-4.52,11.81,0,6.13,1.02,12.1,3.21,17.64,2.04,4.96,4.81,9.33,8.31,13.12,3.21,3.5,6.85,6.27,10.64,8.16,1.61.87,3.2,1.46,4.81,1.9v-37.91h16.62v55.12Z"/><path d="M162.67,45.78c0,11.81-3.64,22.89-10.35,31.35-3.35,4.23-7.44,7.73-11.95,10.06-4.81,2.62-9.91,3.93-15.31,3.93s-10.5-1.31-15.31-3.93c-4.52-2.34-8.46-5.83-11.95-10.06-6.71-8.46-10.35-19.54-10.35-31.35s3.64-22.89,10.35-31.35c3.5-4.23,7.44-7.73,11.95-10.06,4.81-2.62,10.06-3.93,15.31-3.93s10.5,1.31,15.31,3.93c4.51,2.34,8.6,5.83,11.95,10.06,6.7,8.45,10.35,19.54,10.35,31.35ZM146.2,45.78c0-4.08-.73-8.01-1.9-11.81-1.17-3.5-2.92-6.56-4.96-9.18-3.93-4.95-9.03-7.73-14.29-7.73s-10.35,2.77-14.28,7.73c-2.04,2.63-3.64,5.69-4.81,9.18-1.31,3.79-1.9,7.72-1.9,11.81s.59,8.02,1.9,11.81c1.17,3.5,2.77,6.56,4.81,9.18,3.93,4.96,9.04,7.73,14.28,7.73s10.35-2.78,14.29-7.73c2.04-2.63,3.79-5.69,4.96-9.18,1.17-3.79,1.9-7.73,1.9-11.81Z"/><path d="M273.59,91.12h-16.62v-56.7l-17.06,43.59h-15.02l-16.91-43.59v56.71h-16.62V.29h21.14l19.97,51.32L252.45.29h21.14v90.83Z"/><path d="M368.31,66.34c0,6.56-2.34,12.68-6.71,17.34-2.04,2.34-4.66,4.08-7.44,5.39-2.91,1.32-6.12,2.04-9.33,2.04-9.77,0-20.26-5.69-28.72-15.74-7.73-9.18-12.39-20.41-12.39-30.03V.29h16.62v45.05c0,5.54,3.35,13.12,8.46,19.39,5.1,5.98,11.23,9.77,16.04,9.77,3.79,0,6.86-3.65,6.86-8.16V.29h16.62v66.04h0Z"/><path d="M464.72,58.61c0,4.81-.73,9.18-2.48,13.27s-4.08,7.58-7.29,10.64c-5.98,5.54-14.28,8.6-23.33,8.6h-31.63V.44l16.03-.14c11.22,0,23.47,6.13,32.81,16.18,4.95,5.39,8.74,11.52,11.52,18.37,2.92,7.44,4.37,15.45,4.37,23.76ZM448.25,58.61c0-6.27-1.17-12.25-3.35-17.64-2.04-4.95-4.81-9.47-8.3-13.27-3.06-3.35-6.86-6.27-10.64-8.16-3.21-1.6-6.41-2.48-9.33-2.62v57.59h15.01c4.81,0,9.04-1.46,11.96-4.23,3.06-2.77,4.66-6.86,4.66-11.67Z"/><path d="M541.89,91.12l-4.81-17.5h-28.14l-4.81,17.5h-17.2L511.71,0h22.6l24.78,91.12h-17.2ZM522.93,21.58l-9.62,35.42h19.24l-9.62-35.42Z"/></svg>
115        <div class="gm-splash-tag">Timeless Knitwear, Boundless Spirit</div>
116      </div>
117    </div>
118    <div id="root"></div>
119    <div id="ssr-seo" style="position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden" aria-hidden="true"><h1>Turtleneck — Gomuda Knitwear</h1><p>Turtleneck Gomuda: koleksi turtleneck rajut pria berkualitas. Kualitas terjamin, dari Bandung.</p><ul><li><a href="/produk/mock-turtleneck-knitwear">Mock Turtleneck Knitwear</a> — Rp350.000</li><li><a href="/produk/roll-neck-knitwear">Roll Neck Knitwear</a> — Rp350.000</li><li><a href="/produk/mockneck-stripe-fuji-knitwear">Mockneck Stripe Fuji Knitwear</a> — Rp400.000</li><li><a href="/produk/slimfit-ribbed-roll-neck-knitwear">Slimfit Ribbed Roll Neck Knitwear</a> — Rp400.000</li><li><a href="/produk/mockneck-short-sleeve-knitwear">Mockneck Short Sleeve Knitwear</a> — Rp350.000</li><li><a href="/produk/cord-turtleneck-knitwear">Cord Turtleneck Knitwear</a> — Rp300.000</li></ul></div>
120    <!-- Di sini dulu ada satu blok tersembunyi berisi judul h1 dan paragraf
121         kata kunci, supaya body tidak kosong bagi perayap yang membaca HTML
122         mentah. Dibuang setelah beranda benar-benar di-pre-render saat build
123         (scripts/prerender.mjs), karena sejak itu ia lebih merugikan:
124           - Berkas ini merangkap cadangan SPA untuk SEMUA rute, jadi judul
125             tersembunyi yang sama persis ikut di /kategori/*, /akun, /panduan
126             dan puluhan URL lain. Bagi perayap semuanya mengaku halaman sama.
127           - Di beranda ia jadi judul utama KEDUA, bersaing dengan judul hero
128             yang sungguhan. (Kalimat hero-nya sengaja TIDAK dikutip di sini:
129             beberapa uji memakainya sebagai penanda "isi beranda bocor ke
130             berkas yang seharusnya polos", dan kutipan di komentar membuatnya
131             merah tanpa ada yang bocor.)
132           - Teks padat kata kunci yang disembunyikan di luar layar justru yang
133             dicari Google untuk ditindak. Dulu itu tebusan yang masuk akal demi
134             body yang tidak kosong; sekarang tidak ada lagi yang ditebus.
135         Rute non-beranda untuk sementara kembali tanpa teks di HTML mentah, dan
136         itu disengaja: shell kosong tidak mengaku-ngaku jadi halaman lain.
137         Penggantinya yang benar adalah SSR kategori, bukan blok ini. -->
138    <!-- Pemulihan otomatis: jika bundle gagal dimuat / app tak ter-mount (mis.
139         shell basi di cache, atau browser lama), bersihkan SW+cache lalu reload
140         SEKALI. Bila masih gagal, tampilkan pesan + teks error (bukan layar
141         putih) supaya mudah didiagnosa. -->
142    
142<script>
143      (function () {
144        var RK = 'gm_recover', last = '';
145        function clearAndReload() {
146          try { if ('serviceWorker' in navigator) navigator.serviceWorker.getRegistrations().then(function (rs) { rs.forEach(function (r) { r.unregister(); }); }); } catch (e) {}
147          try {
148            if (window.caches) { caches.keys().then(function (ks) { return Promise.all(ks.map(function (k) { return caches.delete(k); })); }).then(function () { location.reload(); }, function () { location.reload(); }); }
149            else { location.reload(); }
150          } catch (e) { location.reload(); }
151        }
152        function recovered() { try { return sessionStorage.getItem(RK) === '1'; } catch (e) { return false; } }
153        function markRecover() { try { sessionStorage.setItem(RK, '1'); } catch (e) {} }
154        // "Sudah ter-mount?" TIDAK boleh diukur dari isi #root lagi.
155        //
156        // Sejak beranda di-pre-render saat build, #root SUDAH berisi HTML
157        // sebelum satu baris JS pun jalan. Ukuran lama (r.children.length)
158        // karenanya selalu benar — termasuk saat bundle-nya gagal dimuat, yang
159        // justru satu-satunya saat penjaga ini dibutuhkan. Sekarang yang
160        // ditanya penanda yang hanya bisa dipasang aplikasi yang benar-benar
161        // hidup (lihat src/main.jsx).
162        function terpasang() { return window.__gmMounted === true; }
163        function fallback(msg) {
164          var r = document.getElementById('root'); if (!r || terpasang()) return;
165          var s = document.getElementById('gm-splash'); if (s) s.style.display = 'none';
166          r.innerHTML = '<div style="min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#161412;background:#F4F1EA;text-align:center"><div style="max-width:440px"><div style="font-size:18px;font-weight:600;margin-bottom:8px">Gagal memuat halaman</div><div style="font-size:13px;color:#5b5954;line-height:1.6;margin-bottom:18px">Coba muat ulang. Bila tetap gagal, perbarui browser Anda ke versi terbaru.</div><button onclick="location.reload()" style="background:#161412;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:13px;font-weight:600;cursor:pointer">Muat Ulang</button>' + (msg ? '<pre style="margin-top:18px;text-align:left;white-space:pre-wrap;word-break:break-word;font-size:11px;color:#9c5a3c;background:#fff;border:1px solid #ECE9E3;border-radius:8px;padding:10px;max-height:180px;overflow:auto">' + String(msg).replace(/[<>&]/g, function (c) { return { '<': '&lt;', '>': '&gt;', '&': '&amp;' }[c]; }) + '</pre>' : '') + '</div></div>';
167        }
168        // Sumber (script/CSS) gagal dimuat → kemungkinan shell basi: recover sekali.
169        window.addEventListener('error', function (e) {
170          var t = e && e.target;
171          if (t && (t.tagName === 'SCRIPT' || t.tagName === 'LINK')) { if (!recovered()) { markRecover(); clearAndReload(); } else { fallback('Gagal memuat: ' + (t.src || t.href || '')); } }
172          else if (e && e.message) { last = e.message + (e.filename ? ('\n' + e.filename + ':' + (e.lineno || '')) : ''); setTimeout(function () { fallback(last); }, 1500); }
173        }, true);
174        window.addEventListener('unhandledrejection', function (e) { last = 'Promise: ' + ((e && e.reason && (e.reason.message || e.reason)) || ''); });
175        // App tak ter-mount dalam 8 dtk → recover sekali; bila sudah pernah, tampilkan pesan.
176        window.addEventListener('load', function () {
177          setTimeout(function () {
178            if (terpasang()) { try { sessionStorage.removeItem(RK); } catch (e) {} return; }
179            if (!recovered()) { markRecover(); clearAndReload(); } else { fallback(last); }
180          }, 8000);
181        });
182      })();
183    </script>
183
184    <!-- regions.js (provinsi→kota utk checkout) hanya dipakai saat isi alamat —
185         defer agar TIDAK memblokir render awal (window.GM_REGIONS tetap siap
186         jauh sebelum pembeli mencapai checkout). -->
187    
187<script defer src="/regions.js"></script>
187
188  </body>
189</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.