SEO a obsah

Prohlížeč meta tagů zdarma

Okamžitě zobrazte značky title, meta description, robots, canonical, viewport, charset, OG a Twitter dané URL.

Zkontrolujte meta tagy
Informace

O prohlížeči meta tagů zdarma

Meta tagy jsou skryté řádky HTML, které webová stránka používá k prezentaci vyhledávačům a platformám sociálních médií. Správně strukturované meta tagy... </code> a <code><meta popis></code> I když to přímo ovlivňuje pozice ve vyhledávání Google, <code>og:title</code> a <code>og:image</code> jako <strong>Otevřít graf</strong> Štítky určují náhled, který se zobrazí v příspěvcích na Facebooku, LinkedInu a WhatsAppu. <code>roboti</code> Tag `<head>` určuje, zda má být stránka indexována, či nikoli.</p> <p>Tento bezplatný nástroj pro prohlížení meta tagů odešle na zadanou URL adresu požadavek na straně serveru, aby se zobrazil meta tag stránky. <strong>titul</strong>, <strong>meta popis</strong>, <strong>klíčová slova</strong>, <strong>roboti</strong>, <strong>kanonický</strong>, <strong>výřez</strong> a <strong>znaková sada</strong> včetně všech standardních meta tagů <strong>Otevřít graf (og:*)</strong> a <strong>Twitterová karta</strong> Analyzuje tagy a uvádí je v tabulce seskupené podle typu. To vám umožňuje analyzovat SEO strukturu konkurenčních webů a rychle identifikovat chybějící nebo nesprávné tagy na vaší vlastní stránce.</p> <p>Šetření je prováděno bezpečně: pouze <code>http</code>/<code>https</code> Povolené adresy: lokální síť a rozsahy privátních IP adres (<em>localhost, 127.0.0.1, 10.x, 192.168.x atd.</em>Požadavek bude zablokován a jeho platnost vyprší, pokud nebude dokončen do 10 sekund. Na našich serverech nejsou uložena žádná data.</p> </div> </div> <div class="col-lg-6"> <span class="hg-eyebrow">Jak to používat?</span> <h2 class="mt-2 mb-4">Krok za krokem</h2> <ol class="hg-tool-steps"> <li>Zadejte adresu stránky, kterou chcete zobrazit: <strong>https://example.com</strong> Zadejte nebo vložte celou URL adresu v tomto formátu.</li><li><strong>Získat štítky</strong> Klikněte na tlačítko; nástroj stáhne stránku ze serveru. <code><hlavička></code> Odděluje sekci.</li><li>Název stránky (<strong>titul</strong>), znaková sada (<strong>znaková sada</strong>Nejprve jsou shrnuty tagy `<head>` a `canonical URL`; poté jsou v tabulce uvedeny všechny meta tagy.</li><li>Štítky se rozlišují podle typu pomocí barevných odznaků: <strong>Norma</strong>, <strong>Otevřít graf</strong>, <strong>Twitterová karta</strong> a <strong>Ostatní</strong>.</li><li>Libovolná hodnota <strong>Kopie</strong> Můžete jej přidat do schránky pomocí tlačítka.</li> </ol> </div> </div> </div> </section> <section class="section-space-bottom"> <div class="container"> <div class="row justify-content-center"> <div class="col-lg-9"> <div class="text-center mb-8"> <span class="hg-eyebrow">FAQ</span> <h2 class="mt-2 mb-0">Často kladené otázky</h2> </div> <div class="accordion accordion--primary accordion-separate-body" id="faq-meta-etiket-goruntuleyici"> <div class="accordion-item"> <h3 class="accordion-header"> <button class="accordion-button fw-medium shadow" type="button" data-bs-toggle="collapse" data-bs-target="#faq-meta-etiket-goruntuleyici-0" aria-expanded="true"> Proč jsou meta tagy důležité pro SEO? </button> </h3> <div id="faq-meta-etiket-goruntuleyici-0" class="accordion-collapse shadow collapse show" data-bs-parent="#faq-meta-etiket-goruntuleyici"> <div class="accordion-body border border-dark border-opacity-5 fs-14">Google a další vyhledávače, <code>titul</code> a <code>meta popis</code> Zobrazuje klíčová slova a poutavé popisy ve výsledcích vyhledávání. Správná klíčová slova a atraktivní popisy zvyšují míru prokliku. <code>roboti</code> Tag určuje, zda bude stránka indexována či nikoli. <code>kanonický</code> Tím se zabrání problémům s duplicitním obsahem zadáním původní adresy URL.</div> </div> </div><div class="accordion-item"> <h3 class="accordion-header"> <button class="accordion-button fw-medium shadow collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq-meta-etiket-goruntuleyici-1" aria-expanded="false"> K čemu se používají tagy OpenGraph? </button> </h3> <div id="faq-meta-etiket-goruntuleyici-1" class="accordion-collapse shadow collapse" data-bs-parent="#faq-meta-etiket-goruntuleyici"> <div class="accordion-body border border-dark border-opacity-5 fs-14">Tagy Open Graph (og:title, og:description, og:image atd.) ovládají kartu, která se zobrazí při sdílení stránky na platformách jako Facebook, LinkedIn, WhatsApp a Discord. Pokud og:image chybí nebo je jeho velikost nesprávná, karta sdílení se bude zobrazovat nefunkčně.</div> </div> </div><div class="accordion-item"> <h3 class="accordion-header"> <button class="accordion-button fw-medium shadow collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq-meta-etiket-goruntuleyici-2" aria-expanded="false"> Liší se samolepky Twitter Card od Open Graphu? </button> </h3> <div id="faq-meta-etiket-goruntuleyici-2" class="accordion-collapse shadow collapse" data-bs-parent="#faq-meta-etiket-goruntuleyici"> <div class="accordion-body border border-dark border-opacity-5 fs-14">Twitter používá vlastní tagy twitter:card, twitter:title, twitter:description a twitter:image. Pokud tyto tagy nejsou k dispozici, Twitter čte tagy Open Graph jako zálohy. Pokud jsou přidány obě sady, Twitter upřednostňuje své vlastní tagy.</div> </div> </div><div class="accordion-item"> <h3 class="accordion-header"> <button class="accordion-button fw-medium shadow collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq-meta-etiket-goruntuleyici-3" aria-expanded="false"> Proč se mi na některých webových stránkách nezobrazují výsledky? </button> </h3> <div id="faq-meta-etiket-goruntuleyici-3" class="accordion-collapse shadow collapse" data-bs-parent="#faq-meta-etiket-goruntuleyici"> <div class="accordion-body border border-dark border-opacity-5 fs-14">Některé servery mohou blokovat požadavky botů, vypršet časový limit kvůli pomalé době odezvy nebo používat neplatné SSL certifikáty. Z bezpečnostních důvodů navíc nelze dotazy zasílat do privátních sítí nebo na lokální IP adresy.</div> </div> </div><div class="accordion-item"> <h3 class="accordion-header"> <button class="accordion-button fw-medium shadow collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq-meta-etiket-goruntuleyici-4" aria-expanded="false"> Mohu s tímto nástrojem analyzovat webové stránky konkurence? </button> </h3> <div id="faq-meta-etiket-goruntuleyici-4" class="accordion-collapse shadow collapse" data-bs-parent="#faq-meta-etiket-goruntuleyici"> <div class="accordion-body border border-dark border-opacity-5 fs-14">Ano. Můžete zadat libovolnou veřejnou URL adresu a prozkoumat délku názvů, texty popisů, direktivy robots a chybějící OG tagy. Tyto informace lze použít jako referenci při optimalizaci vaší vlastní stránky.</div> </div> </div> </div> </div> </div> </div> </section> <section class="section-space-bottom"> <div class="container"> <div class="row justify-content-center"> <div class="col-lg-9 text-center"> <a href="/cs/nastroje/" class="hg-tool-back"> <iconify-icon icon="solar:arrow-left-linear"></iconify-icon> Zpět na všechny bezplatné nástroje </a> </div> </div> </div> </section> </main> <footer class="hg-footer section-space-top position-relative z-1 overflow-hidden"> <div class="section-space-sm-bottom"> <div class="container"> <div class="hg-foot-top d-flex flex-wrap align-items-center justify-content-between gap-4 pb-4 mb-4"> <div class="d-flex align-items-center gap-3 flex-wrap"> <a class="logo d-inline-block flex-shrink-0" href="/cs/"> <img src="/theme/assets/img/hostragons-logo.svg" alt="Hostragons" width="182" height="40" class="logo__img footer-logo"> </a> <span class="hg-foot-intro mb-0">Váš spolehlivý partner pro webhosting, WordPress, reseller hosting, virtuální servery a doménová jména.</span> </div> <div class="hg-foot-awards d-flex align-items-center gap-2"> <span class="hg-foot-label mb-0 me-1 d-none d-sm-inline">Naše ocenění</span> <span class="hg-award-box"><img src="/theme/assets/img/award-cloud-2021.png" alt="Top 10 cloudového hostingu 2021" width="100" height="100" class="hg-award" loading="lazy"></span> <span class="hg-award-box"><img src="/theme/assets/img/award-offshore-2025.webp" alt="25 nejlepších možností offshore hostingu v roce 2025" width="100" height="100" class="hg-award" loading="lazy"></span> <span class="hg-award-box"><img src="/theme/assets/img/award-gaming-2026.webp" alt="25 nejlepších herních hostingů 2026" width="100" height="100" class="hg-award" loading="lazy"></span> </div> </div> <div class="row g-4"> <div class="col-6 col-lg-3"> <p class="hg-foot-h h6 mb-0">Datové centrum</p> <ul class="list gap-2"> <li><a href="/cs/linuxovy-hosting/" class="hg-foot-link">Webhosting</a></li> <li><a href="/cs/hosting-pro-prodejce-linuxu/" class="hg-foot-link">Reseller hosting</a></li> <li><a href="/cs/wordpress-hosting/" class="hg-foot-link">Hosting pro WordPress</a></li> <li><a href="/cs/e-mailovy-hosting/" class="hg-foot-link">Hosting pošty</a></li> <li><a href="/cs/virtualni-server/" class="hg-foot-link">Virtuální server</a></li> <li><a href="/cs/dns-hosting/" class="hg-foot-link">DNS hosting</a></li> </ul> </div> <div class="col-6 col-lg-3"> <p class="hg-foot-h h6 mb-0">Naše služby</p> <ul class="list gap-2"> <li><a href="/cs/organicka-strelba/" class="hg-foot-link">Organický hit</a></li> <li><a href="/cs/moduly-whmcs/" class="hg-foot-link">Moduly WHMCS</a></li> <li><a href="/cs/optimalizace-wordpressu/" class="hg-foot-link">Optimalizace WordPressu</a></li> <li><a href="/cs/optimalizace-serveru/" class="hg-foot-link">Optimalizace serveru</a></li> <li><a href="/cs/optimalizace-cloudflare/" class="hg-foot-link">Optimalizace CloudFlare</a></li> <li><a href="/cs/optimalizace-reklam-google/" class="hg-foot-link">Optimalizace Google Ads</a></li> </ul> </div> <div class="col-6 col-lg-3"> <p class="hg-foot-h h6 mb-0">Ostatní</p> <ul class="list gap-2"> <li><a href="/cs/servisni-pluginy/" class="hg-foot-link">Doplňky služeb</a></li> <li><a href="/cs/hosting-zdarma/" class="hg-foot-link">Bezplatný hosting a doménové jméno</a></li> <li><a href="/ai" class="hg-foot-link">RagonsAI</a></li> </ul> </div> <div class="col-6 col-lg-3"> <p class="hg-foot-h h6 mb-0">Hostragons®</p> <ul class="list gap-2"> <li><a href="/cs/blog/" class="hg-foot-link">blog</a></li> <li><a href="/cs/o-nas/" class="hg-foot-link">O nás</a></li> <li><a href="/cs/sdeleni/" class="hg-foot-link">Sdělení</a></li> <li><a href="/cs/servisni-smlouva/" class="hg-foot-link">Smlouva o poskytování služeb</a></li> <li><a href="/cs/navratova-politika/" class="hg-foot-link">Zásady vrácení zboží</a></li> <li><a href="/cs/zasady-ochrany-osobnich-udaju/" class="hg-foot-link">Zásady ochrany osobních údajů</a></li> <li><a href="/cs/zasady-cookies/" class="hg-foot-link">Zásady používání souborů cookie</a></li> </ul> </div> </div> </div> </div> <div class="py-3 border-dark-subtle border-top"> <div class="container"> <div class="row g-3 g-lg-0 align-items-center"> <div class="col-lg-8"> <p class="mb-0 fs-14 hg-foot-copy">© 2020 Hostragons® — Poskytovatel hostingu se sídlem ve Spojeném království, registrační číslo 14320956. Všechna práva vyhrazena.</p> </div> <div class="col-lg-4"> <ul class="list list-row align-items-center justify-content-lg-end gap-4 flex-wrap mb-0"> <li><a href="https://www.facebook.com/hostragonsglobal" target="_blank" rel="noopener noreferrer" aria-label="Facebook" class="link d-inline-block text-body hover:text-primary"><iconify-icon icon="ic:baseline-facebook" class="fs-24"></iconify-icon></a></li> <li><a href="https://x.com/hostragons" target="_blank" rel="noopener noreferrer" aria-label="X (Twitter)" class="link d-inline-block text-body hover:text-primary"><iconify-icon icon="ri:twitter-x-fill" class="fs-24"></iconify-icon></a></li> <li><a href="https://www.instagram.com/hostragons/" target="_blank" rel="noopener noreferrer" aria-label="Instagram" class="link d-inline-block text-body hover:text-primary"><iconify-icon icon="mdi:instagram" class="fs-24"></iconify-icon></a></li> <li><a href="https://www.youtube.com/@hostragons" target="_blank" rel="noopener noreferrer" aria-label="YouTube" class="link d-inline-block text-body hover:text-primary"><iconify-icon icon="mdi:youtube" class="fs-24"></iconify-icon></a></li> <li><a href="https://www.flickr.com/photos/202229767@N08/" target="_blank" rel="noopener noreferrer" aria-label="Flickr" class="link d-inline-block text-body hover:text-primary"><iconify-icon icon="mdi:flickr" class="fs-24"></iconify-icon></a></li> <li><a href="https://hostragons.medium.com/" target="_blank" rel="noopener noreferrer" aria-label="Střední" class="link d-inline-block text-body hover:text-primary"><iconify-icon icon="mdi:medium" class="fs-24"></iconify-icon></a></li> <li><a href="https://uk.pinterest.com/hostragonsglobal/" target="_blank" rel="noopener noreferrer" aria-label="Pinterest" class="link d-inline-block text-body hover:text-primary"><iconify-icon icon="mdi:pinterest" class="fs-24"></iconify-icon></a></li> </ul> </div> </div> </div> </div> <img src="/theme/assets/img/shapes/footer-shape-1.png" alt="" width="1016" height="667" loading="lazy" decoding="async" class="img-fluid position-absolute start-0 bottom-0 z-n1 pointer-none d-none d-md-block footer-shape-1"> <img src="/theme/assets/img/shapes/footer-shape-2.png" alt="" width="934" height="1016" loading="lazy" decoding="async" class="img-fluid position-absolute end-0 top-50 translate-middle-y z-n1 pointer-none d-none d-md-block footer-shape-2"> </footer> <script defer src="/theme/assets/js/bootstrap.bundle.js"></script> <script defer src="/theme/assets/js/iconify.js"></script> <script defer src="/theme/assets/js/simplebar.js"></script> <script defer src="/theme/assets/js/swiper.js"></script> <script defer src="/theme/assets/js/prism.js"></script> <script defer src="/theme/assets/js/app.js"></script> <script defer src="/theme/assets/js/currency.js?v=20260619c"></script> <script defer src="/theme/assets/js/hg-dom-i18n.js"></script> <script defer src="/theme/assets/js/hg-domain.js"></script> <script defer src="/theme/assets/js/hg-header.js"></script> <script>(function(){var btn=document.getElementById("hgThemeToggle");if(!btn)return;btn.addEventListener("click",function(){var cur=document.documentElement.getAttribute("data-bs-theme")==="dark"?"dark":"light";var next=cur==="dark"?"light":"dark";document.documentElement.setAttribute("data-bs-theme",next);try{localStorage.setItem("theme",next)}catch(e){}})})(); </script> <div id="hgAichatPanel" class="hg-aichat-panel" role="dialog" aria-modal="false" aria-labelledby="hgAichatTitle" aria-hidden="true" hidden> <div class="hg-aichat-panel__head"> <span class="hg-aichat-panel__avatar" aria-hidden="true"> <iconify-icon icon="tabler:sparkles" class="hg-aichat-panel__avatar-ico"></iconify-icon> <span class="hg-aichat-panel__dot"></span> </span> <span class="hg-aichat-panel__head-txt"> <span class="hg-aichat-panel__title" id="hgAichatTitle">Asistent Hostragons</span> <span class="hg-aichat-panel__status"><span class="hg-aichat-panel__status-dot" aria-hidden="true"></span>Online</span> </span> <button type="button" class="hg-aichat-panel__close" id="hgAichatClose" aria-label="Zavřít" title="Zavřít"><iconify-icon icon="solar:close-circle-linear"></iconify-icon></button> </div> <div class="hg-aichat-panel__body" id="hgAichatBody" aria-live="polite"> <div class="hg-aichat-msg hg-aichat-msg--bot"> <span class="hg-aichat-ava" aria-hidden="true"><iconify-icon icon="tabler:sparkles"></iconify-icon></span> <span class="hg-aichat-bubble">Ahoj! Jsem Asistent Hostragons. Mohu vám pomoci s dotazy ohledně hostingu, serverů a doménových jmen. Co byste se chtěli dozvědět?</span> </div> <div class="hg-aichat-chips" id="hgAichatChips"> <button type="button" class="hg-aichat-chip">Který hosting je pro mě vhodný?</button> <button type="button" class="hg-aichat-chip">Je podporován Node.js?</button> <button type="button" class="hg-aichat-chip">Jaké jsou ceny?</button> <button type="button" class="hg-aichat-chip">Co doporučujete pro WordPress?</button> </div> </div> <form class="hg-aichat-panel__form" id="hgAichatForm" autocomplete="off"> <div class="hg-aichat-inputwrap"> <input type="text" class="hg-aichat-input" id="hgAichatInput" name="message" placeholder="Napište zprávu..." aria-label="Napište zprávu..." maxlength="1000"> <button type="submit" class="hg-aichat-send" id="hgAichatSend" aria-label="Odeslat" title="Odeslat"><iconify-icon icon="solar:plain-2-bold"></iconify-icon><span class="hg-aichat-send__label">Odeslat</span></button> </div> <span class="hg-aichat-foot">Poháněno asistentem AI Hostragons.</span> </form> <span id="hgAichatErr" aria-label="Omlouvám se, teď jsem nemohl odpovědět. Zkuste to prosím znovu." style="position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)"></span> </div> <script>(function(){var trigger=document.getElementById("hgAichatTrigger");var panel=document.getElementById("hgAichatPanel");if(!trigger||!panel)return;var inited=false,sending=false;var history=[];var STORE_KEY="hg_aichat_state";var transcript=[];var panelOpen=false,chipsHidden=false,restoring=false;function saveState(){if(restoring)return;try{sessionStorage.setItem(STORE_KEY,JSON.stringify({v:1,transcript:transcript.slice(-60),history:history.slice(-12),open:panelOpen,chipsHidden}))}catch(e){}}function loadState(){try{var raw=sessionStorage.getItem(STORE_KEY);if(!raw)return null;var st=JSON.parse(raw);if(!st||st.v!==1||!Array.isArray(st.transcript))return null;return st}catch(e){return null}}function errText(){var e=document.getElementById("hgAichatErr");return e&&e.getAttribute("aria-label")||"\xDCzg\xFCn\xFCm, \u015Fu an yan\u0131t veremedim. L\xFCtfen tekrar deneyin."}function bodyEl(){return document.getElementById("hgAichatBody")}function scrollDown(){var b=bodyEl();if(b)b.scrollTop=b.scrollHeight}function esc(s){return String(s).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function renderMd(text){var h=esc(text);h=h.replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>");h=h.replace(/\[([^\]]+)\]\((https?:\/\/[^\s)]+|\/[^\s)]*)\)/g,function(m,label,url){return'<a href="'+url+'" rel="noopener" target="_blank">'+label+"</a>"});h=h.replace(/(^|[\s(])(https?:\/\/[^\s<)]+)/g,function(m,pre,url){return pre+'<a href="'+url+'" rel="noopener" target="_blank">'+url+"</a>"});return h}function addMsg(role,text,noRecord){var b=bodyEl();if(!b)return null;var wrap=document.createElement("div");wrap.className="hg-aichat-msg hg-aichat-msg--"+(role==="user"?"user":"bot");if(role!=="user"){var ava=document.createElement("span");ava.className="hg-aichat-ava";ava.setAttribute("aria-hidden","true");ava.innerHTML='<iconify-icon icon="tabler:sparkles"></iconify-icon>';wrap.appendChild(ava)}var bubble=document.createElement("span");bubble.className="hg-aichat-bubble";if(role==="user")bubble.textContent=text;else bubble.innerHTML=renderMd(text);wrap.appendChild(bubble);b.appendChild(wrap);scrollDown();if(!noRecord){transcript.push({t:"msg",role:role==="user"?"user":"bot",text:String(text)});saveState()}return wrap}function addLinks(links,noRecord){if(!Array.isArray(links)||!links.length)return;var b=bodyEl();if(!b)return;var wrap=document.createElement("div");wrap.className="hg-aichat-msg hg-aichat-msg--bot";var box=document.createElement("div");box.className="hg-aichat-links";var saved=[];links.slice(0,5).forEach(function(l){var href=l&&(l.href||l.url);if(!href)return;var a=document.createElement("a");a.className="hg-aichat-link";a.href=String(href);a.rel="noopener";a.textContent=String(l.label||l.title||href);box.appendChild(a);saved.push({href:String(href),label:String(l.label||l.title||href)})});if(!box.childNodes.length)return;wrap.appendChild(box);b.appendChild(wrap);scrollDown();if(!noRecord&&saved.length){transcript.push({t:"links",links:saved});saveState()}}function hideChips(){var c=document.getElementById("hgAichatChips");if(c)c.classList.add("is-hidden");chipsHidden=true}function showTyping(){var b=bodyEl();if(!b)return null;var wrap=document.createElement("div");wrap.className="hg-aichat-msg hg-aichat-msg--bot";wrap.innerHTML='<span class="hg-aichat-ava" aria-hidden="true"><iconify-icon icon="tabler:sparkles"></iconify-icon></span><span class="hg-aichat-bubble hg-aichat-typing"><span></span><span></span><span></span></span>';b.appendChild(wrap);scrollDown();return wrap}function setSending(state){sending=state;var send2=document.getElementById("hgAichatSend");if(send2)send2.disabled=state}function openPanel(noFocus){if(!inited)init();panel.hidden=false;panel.setAttribute("aria-hidden","false");trigger.setAttribute("aria-expanded","true");requestAnimationFrame(function(){panel.classList.add("is-open")});if(!noFocus){var inp=document.getElementById("hgAichatInput");if(inp)setTimeout(function(){inp.focus()},60)}panelOpen=true;saveState()}function closePanel(){panel.classList.remove("is-open");panel.setAttribute("aria-hidden","true");trigger.setAttribute("aria-expanded","false");setTimeout(function(){if(!panel.classList.contains("is-open"))panel.hidden=true},240);panelOpen=false;saveState()}function send(text){if(sending)return;text=(text||"").trim();if(!text)return;hideChips();addMsg("user",text);history.push({role:"user",content:text});var inp=document.getElementById("hgAichatInput");if(inp)inp.value="";setSending(true);var typing=showTyping();var lang=(document.documentElement.getAttribute("lang")||"tr").toLowerCase();var ctrl=typeof AbortController!=="undefined"?new AbortController:null;var timer=setTimeout(function(){if(ctrl)ctrl.abort()},3e4);fetch("/araclar/api/ai-chat.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:text,lang,history:history.slice(-12)}),signal:ctrl?ctrl.signal:void 0}).then(function(r){if(!r.ok)throw new Error("HTTP "+r.status);return r.json()}).then(function(data){clearTimeout(timer);if(typing&&typing.parentNode)typing.parentNode.removeChild(typing);var reply=data&&(data.reply||data.answer||data.message)||"";if(reply){addMsg("bot",reply);history.push({role:"assistant",content:reply})}else{addMsg("bot",errText())}addLinks(data&&(data.suggestedLinks||data.links))}).catch(function(){clearTimeout(timer);if(typing&&typing.parentNode)typing.parentNode.removeChild(typing);addMsg("bot",errText())}).then(function(){setSending(false);if(inp)inp.focus()})}function init(){if(inited)return;inited=true;var form=document.getElementById("hgAichatForm");var closeBtn=document.getElementById("hgAichatClose");if(form)form.addEventListener("submit",function(e){e.preventDefault();var inp=document.getElementById("hgAichatInput");send(inp?inp.value:"")});if(closeBtn)closeBtn.addEventListener("click",closePanel);var chips=document.getElementById("hgAichatChips");if(chips)chips.addEventListener("click",function(e){var btn=e.target.closest?e.target.closest(".hg-aichat-chip"):null;if(btn)send(btn.textContent||"")});document.addEventListener("keydown",function(e){if(e.key==="Escape"&&panel.classList.contains("is-open"))closePanel()})}trigger.addEventListener("click",function(){if(panel.classList.contains("is-open"))closePanel();else openPanel()});function restoreState(){var st=loadState();if(!st||!st.transcript.length)return;restoring=true;try{init();if(Array.isArray(st.history))history=st.history.slice(-12);var b=bodyEl();if(b){while(b.firstChild)b.removeChild(b.firstChild)}hideChips();st.transcript.forEach(function(it){if(!it)return;if(it.t==="msg")addMsg(it.role==="user"?"user":"bot",String(it.text||""),true);else if(it.t==="links")addLinks(it.links,true)});transcript=st.transcript.slice();chipsHidden=true;scrollDown();if(st.open){panelOpen=true;openPanel(true)}}catch(e){}restoring=false;saveState()}if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",restoreState);else restoreState()})(); </script> </body> </html>