Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google

Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google

Hai pensato che i problemi di JavaScript possano interferire con il tuo sito o contenuto da mostrare nei risultati della ricerca di Google? In questo manuale, spiegheremo come risolvere i problemi di JavaScript in modo che il tuo sito diventi disponibile per l'indicizzazione nel motore di ricerca.

JavaScript svolge un ruolo importante nello sviluppo web, fornendo molte funzioni che trasformano il sito in una piattaforma a tutti gli effetti per le applicazioni. Per rendere disponibile il tuo progetto JavaScript per una ricerca in Google è un'opportunità per attirare nuovi utenti e restituire quelli vecchi che cercano i tuoi contenuti.

Nonostante il fatto che Google utilizzi il moderno motore Chromium per elaborare JavaScript, ci sono diverse cose che dovrebbero essere ottimizzate per migliorare la visibilità nel motore di ricerca.

Come Google elabora JavaScript sul tuo sito

Google passa attraverso tre fasi chiave per l'elaborazione di pagine Web JavaScript:

  • Crawing (strisciando)
  • Rendering (rendering)
  • Indicizzazione (indicizzazione)

GoogleBot mette le pagine in coda per il kraling e il rendering. Questo potrebbe richiedere del tempo, poiché non è sempre ovvio quando la pagina viene elaborata in ciascuna delle fasi. Con la coltura, Googlebot effettua controlli HTTP e controlla il file robots.txt. Se l'URL è bloccato, Googlebot lo manca senza eseguire il rendering.

Come impostare titoli unici e meta-descrizioni per il tuo sito di Google

Gli elementi unici e informativi di e meta-descrizioni aiutano gli utenti a determinare rapidamente quale risultato sarà il più rilevante per la loro richiesta in Google.</p><H2>Come scrivere un codice compatibile con Google per il tuo sito</H2><p>I browser offrono molte API e JavaScript è una lingua che è costantemente in via di sviluppo. Affinché il tuo codice funzioni con Google, segui i consigli per eliminare gli errori JavaScript.</p><H2>Utilizzando gli stati HTTP corretti per il tuo sito Google</H2><p>GoogleBot utilizza gli stati HTTP per determinare cosa è andato storto durante il crowring. Se la pagina non può essere indicizzata o disponibile, inviare il codice di stato corretto, ad esempio 404 o 401.</p><H3>Evita errori "soft 404" sul tuo sito di Google</H3><p>Per le applicazioni di una pagina che implementano il routing sul lato client, è molto importante utilizzare correttamente i codici di stato. Usa JavaScript Reinirect per un errore con un errore, ad esempio:</p><pre> fetch(`/api/products/${productId}`).then(response => response.json()).then(product => { if (product.exists) { showProductDetails(product); // отображает информацию о продукте } else { window.location.href = '/not-found'; // перенаправление на страницу 404 } }); </pre><H2>Utilizzo della storia delle API anziché frammenti per il tuo sito di Google</H2><p>Google può trovare i tuoi collegamenti se sono in <a> elementi con l'attributo HREF. Per le applicazioni di una pagina, utilizzare la cronologia API per il routing tra le diverse pagine dell'applicazione Web.</p><H2>Corretta implementazione del tag rel = "canonical" sul tuo sito per Google</H2><p>È possibile introdurre il tag Rel = "Canonical" usando JavaScript per indicare quale versione della pagina dovrebbe essere indicizzata. Tuttavia, fai attenzione in modo che non ci siano collegamenti duplicati Rel = "canonico" sulla pagina.</p><H2>Utilizzando i meta tag robot sul tuo sito per Google</H2><p>È possibile utilizzare il meta-tag dei robot per vietare l'indicizzazione della pagina o i seguenti collegamenti ad esso. Ad esempio, per bloccare l'indicizzazione, aggiungere il seguente meta-tag:</p><pre> <meta name="robots" content="noindex, nofollow"> </pre><p>È importante ricordare che se Google vede Noindex prima del rendering JavaScript, mancherà questa pagina. Se si desidera indicizzare la pagina, non utilizzare NOINDEX nel codice sorgente.</p><H2>Utilizzando la memorizzazione nella cache a lungo termine per il tuo sito Google</H2><p>GoogleBot utilizza attivamente una cache per ridurre il numero di richieste e risparmiare risorse. Utilizzare la strategia di memorizzazione nella cache tenendo conto della modifica del contenuto, ad esempio, aggiungendo importi di controllo ai nomi dei file.</p><H2>Utilizzando dati strutturati sul tuo sito Web di Google</H2><p>Se si utilizzano dati strutturati sul tuo sito, è possibile generare JSON-LD utilizzando JavaScript e introdurli nella pagina. Tuttavia, assicurati che l'implementazione non sia sbagliata.</p><H2>Seguire le migliori pratiche per i componenti Web sul tuo sito Web di Google</H2><p>Google supporta i componenti Web. Tuttavia, può vedere solo il contenuto visualizzato nel rendering. Se usi DOM di DOM DOM di DOM, assicurati che Google possa vedere tutto il contenuto.</p><H2>Correzione di immagini e caricamento di contenuti pigri sul tuo sito su Google</H2><p>Le immagini possono richiedere molto traffico e rallentare il carico delle pagine. Applicare caricamento pigro in modo che le immagini vengano caricate solo quando l'utente si avvicina a loro. Assicurati che la tua pigrizia sia compatibile con SEO, seguendo i consigli su questo argomento.</p><H2>Progetta, tenendo conto della disponibilità per il tuo sito in Google</H2><p>Quando crei il tuo sito, pensa non solo ai motori di ricerca, ma anche agli utenti, comprese persone con esigenze speciali, come i lettori di screen o dispositivi mobili meno potenti. Questo ti aiuterà a creare un sito che sarà disponibile e conveniente per tutti.</p><p>Se hai domande sull'ottimizzazione di JavaScript per il tuo sito o devi stabilire SEO, contattare il team SEO.COMPUTER. Siamo felici di aiutarti!</p><p>Dettagli di contatto: <strong>info@seo.computer</strong>, <strong>Whatsapp: +79202044461</strong></p><p>Id 71</p> </div> </div> </div> </section> <section id="consultation" class="py-5"> <div class="container"> <div class="form-bg-gradient bor-r-20 my-3 p-4 p-md-5"> <div class="head-title-white text-center">Invia una richiesta e ti forniremo una consulenza SU SEO promozione del tuo sito web</div> <form class="form row my-3 justify-content-center gy-2 needs-validation" id="form-consultation" action="https://seo.computer/form" method="post" novalidate=""> <input type="hidden" name="form_name" value="Отправьте заявку и мы бесплатно Блог"> <input type="hidden" name="_token" value="HmrIRa3y6jvNCUYYLdGNviJu9CsxXi9664FphL7T" autocomplete="off"> <div class="col-12 col-xl-3"> <input type="text" name="name" class="form-control form-padding rounded-5" placeholder="il tuo nome" required=""> </div> <div class="col-12 col-xl-3"> <input type="tel" name="phone" class="form-control form-padding rounded-5" placeholder="Numero di telefono" required="" maxlength="18"> </div> <div class="col-12 col-xl-3"> <button type="submit" class="btn btn-send btn-light form-padding rounded-5 w-100">Inviare</button> </div> <div class="col-12 col-md-12"> <div class="text-center"> <a class="text-decoration-none text-white fs-14" href="https://seo.computer/policy">Inviando una richiesta accetti l'informativa sulla privacy</a> </div> </div> </form> </div> </div> </section> <footer class="footer-bg"> <style> .bottom-contact-bar { display:none; } @media(max-width:992px) { .bottom-contact-bar { display:block; position:fixed; bottom:0; left:0; right:0; z-index: 9999; } .footer-bg { padding-bottom: 16px; } .b24-widget-button-position-bottom-right, .social { margin-bottom: 24px; } } </style> <div class="navbar navbar-dark bg-dark py-1 bottom-contact-bar"> <div class="container justify-content-center"> <div class="nav-link h6 mb-0 p-0 text-white" style="text-align:center"> <a style="text-decoration:none; color:inherit" href="mailto:info@seo.computer">info@seo.computer</a> </div> </div> </div> <style>.norender{display:none;visibility:hidden;}</style> <div class="container"> <div class="row row-cols-4 col-md-12 text-light pt-3 pt-md-5 g-3"> <div class="col-12 col-xl-3 col-md-6 vcard" itemscope itemtype="http://schema.org/LocalBusiness"> <a class="url" href="https://seo.computer/it"> <img src="https://seo.computer/assets/svg/seo_logo.svg" alt="SEO Computer Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google a Mosca" title="SEO Computer Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google a Mosca" class="rounded-5" width="200" height="40" /> </a> <ul class="nav flex-column"> <li class="fn org" itemprop="name">SEO COMPUTER</li> <li class="category">Marketing su Internet</li> <li>Orari di apertura: <span class="workhours" itemprop="openingHours" datetime="Mo-Su">tutto il giorno</span></li> <li class="norender"> <span itemprop="priceRange" class="pricerange">da 186 EUR</span> <img loading="lazy" aria-hidden="true" width="2048" height="2048" itemprop="image" style="width:unset;height:unset;" class="absolute-bg-from-top__image photo" src="https://seo.computer/uploads/seo-article-1x1/seo-article-10071.webp"> </li> <li class="nav-item mb-2 color-bfbfbf adr"> <span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"><span class="locality" itemprop="addressLocality">Mosca</span></span> </li> <li class="nav-item mb-2 email"><a href="mailto:info@seo.computer" style="text-decoration:none;" class="color-bfbfbf" title="Email"><span itemprop="email">info@seo.computer</span></a></li> </ul> </div> <div class="col-12 col-xl-3 col-md-6"> <div class="fw-500 fs-20 mb-2">Menù</div> <ul class="nav flex-column"> <li class="nav-item mb-2"><a href="#tarifs" class="nav-link p-0 color-bfbfbf" title="SEO Tariffe">SEO Tariffe</a></li> <li class="nav-item mb-2"><a href="#reviews" class="nav-link p-0 color-bfbfbf" title="SEO Recensioni">SEO Recensioni</a></li> <li class="nav-item mb-2"><a href="#quiz" class="nav-link p-0 color-bfbfbf" title="SEO Calcolatrice">SEO Calcolatrice</a></li> <li class="nav-item mb-2"><a href="#sales" class="nav-link p-0 color-bfbfbf" title="SEO Promozioni">SEO Promozioni</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/it/contact" class="nav-link p-0 color-bfbfbf" title="Contatti">SEO Contatti</a></li> </ul> </div> <div class="col-12 col-xl-3 col-md-6"> <div class="fw-500 fs-20 mb-2">Servizi</div> <ul class="nav flex-column"> <li class="nav-item mb-2"><a href="https://seo.computer/it/business" class="nav-link p-0 color-bfbfbf" title="Imprese">SEO per le imprese</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/it/type-sites" class="nav-link p-0 color-bfbfbf" title="Tipi di siti">SEO per tipologie di siti</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/it/cms" class="nav-link p-0 color-bfbfbf" title="Sistemi CMS">SEO per CMS sistemi</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/it/languages" class="nav-link p-0 color-bfbfbf" title="Le lingue">SEO per le lingue</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/it/engines" class="nav-link p-0 color-bfbfbf" title="Motori di ricerca">SEO per i motori di ricerca</a></li> </ul> </div> <div class="col-12 col-xl-3 col-md-6"> <div class="fw-500 fs-20 mb-2">Rete sociale</div> <ul class="nav flex-column"> <li class="nav-item mb-2"><a href="https://wa.me/79202044461" class="nav-link p-0 color-bfbfbf" title="Vhatsapp"><i class="fab fa-whatsapp me-1"></i>Vhatsapp</a></li> <li class="nav-item mb-2"><a href="https://t.me/t9202044461/" class="nav-link p-0 color-bfbfbf" title="Telegram"><i class="fab fa-telegram-plane me-1"></i>Telegram</a></li> <li class="nav-item mb-2"><a href="mailto:info@seo.computer" class="nav-link p-0 color-bfbfbf" title="Email"><i class="fas fa-envelope me-1"></i>Email</a></li> </ul> </div> </div> <div class="justify-content-between pt-2 pb-4 mt-2 border-top col-md-12 text-light"> <p>Questo sito è solo a scopo informativo e non è un'offerta pubblica. Per ottenere informazioni precise sui servizi forniti e sui relativi costi si prega di contattare i responsabili dell’azienda.</p> <a class="text-decoration-none color-bfbfbf" href="https://seo.computer/it/policy">politica sulla riservatezza</a> <div class="mt-2"> <!--LiveInternet counter--><a href="https://www.liveinternet.ru/click" target="_blank"><img id="licntD152" width="31" height="31" style="border:0" title="LiveInternet" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAIBTAA7" alt="LiveInternet"/></a><script defer async>setTimeout(function(){(function(d,s){d.getElementById("licntD152").src="https://counter.yadro.ru/hit?t44.6;r"+escape(d.referrer)+((typeof(s)=="undefined")?"":";s"+s.width+"*"+s.height+"*"+(s.colorDepth?s.colorDepth:s.pixelDepth))+";u"+escape(d.URL)+";h"+escape(d.title.substring(0,150))+";"+Math.random()})(document,screen)},4000);</script><!--/LiveInternet--> </div> </div> </div> </footer> <div class="modal fade" id="exampleModalToggle" aria-hidden="true" aria-labelledby="exampleModalToggleLabel" tabindex="-1"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <div class="modal-title fw-500 fs-20" id="exampleModalToggleLabel">Lascia una richiesta</div> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <img loading="lazy" src="https://seo.computer/assets/svg/mobile_marketing.svg" class="my-3 mx-auto" width="300" height="260" alt="Lascia una richiesta Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google a Mosca" title="Lascia una richiesta Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google a Mosca"> <form class="form needs-validation" action="https://seo.computer/form" id="form-popup" method="post" novalidate> <input type="hidden" name="form_name" value="Цены - форма (гл. стр.)"> <input type="hidden" name="_token" value="HmrIRa3y6jvNCUYYLdGNviJu9CsxXi9664FphL7T" autocomplete="off"> <div class="modal-body"> <label class="fs-5 text-center fw-bold">Lascia una richiesta e la nostra SEO lo specialista ti contatterà al più presto</label> <div class="row"> <div class="col-12"> <input type="text" name="name" class="form-control form-padding my-2" placeholder="il tuo nome" required> </div> <div class="col-12"> <input type="tel" name="phone" class="form-control form-padding my-2" placeholder="Numero di telefono" required> </div> </div> </div> <div class="modal-footer justify-content-center"> <button class="btn rounded-5 btn-primary w-100 form-padding" type="submit">Inviare</button> <a href="policy.html" class="text-decoration-none text-dark text-center fs-14">Inviando i dati accetti l'informativa sulla privacy</a> </div> </form> </div> </div> </div> <div class="modal fade" id="ModalLanguage" tabindex="-1" aria-labelledby="ModalLanguage" aria-hidden="true"> <div class="modal-dialog modal-sm modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <div class="modal-title fs-22 fw-500" id="exampleModalLabel">Scegli la lingua</div> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <form class="modal-body" id="languageForm" method="post"> <input type="hidden" name="_token" value="HmrIRa3y6jvNCUYYLdGNviJu9CsxXi9664FphL7T" autocomplete="off"> <select class="form-select mb-2" aria-label="Scegli la lingua" name="language" id="language"> <option selected>Scegli la lingua</option> <option value="cn" >Cinese semplificato) (cn)</option> <option value="en" >Inglese (en)</option> <option value="it" selected >Italiano (it)</option> <option value="nl" >Olandese (nl)</option> <option value="pl" >Polacco (pl)</option> <option value="de" >Tedesco (de)</option> <option value="tr" >Turco (tr)</option> <option value="fr" >francese (fr)</option> <option value="jp" >giapponese (jp)</option> <option value="id" >indonesiano (id)</option> <option value="pt" >portoghese (pt)</option> <option value="ru" >russo (ru)</option> <option value="es" >spagnolo (es)</option> </select> <button type="submit" class="btn btn-primary w-100">Modifica</button> </form> </div> </div> </div> <div class="modal fade" id="SuccessModal" tabindex="-1" aria-labelledby="SuccessModal" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <div class="modal-title fs-22 fw-500" id="SuccessModalLabel"></div> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body text-center"> <img src="https://seo.computer/assets/svg/mail_send.svg" alt="Inviato con successo Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google a Mosca" title="Inviato con successo Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google a Mosca" width="160" height="144" class="mb-5"> <div class="h4" style="color: #000;">Inviato con successo!</div> <p style="color: #000;">Grazie, la tua candidatura è stata inviata con successo! Ti contatteremo a breve.</p> </div> </div> </div> </div> <div class="modal fade" id="myModal" tabindex="-1" aria-labelledby="modalLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content custom-modal"> <div class="modal-body d-flex align-items-center justify-content-between"> <!-- Rasm joyi --> <div class="modal__contents"> <div class="modal_top"> <span class="section_title">Lascia una richiesta</span> <p class="text-muted mt-1">E il nostro specialista SEO ti contatterà nel prossimo futuro</p> </div> <form id="form-analytcs" action="https://seo.computer/form" method="post" class="modal__contents_inputs flex flex-wrap justify-content-between "> <input type="hidden" name="form_name" value="Страница анализатора"> <input type="hidden" name="_token" value="HmrIRa3y6jvNCUYYLdGNviJu9CsxXi9664FphL7T" autocomplete="off"> <div class="modal__contents_input"> <input type="text" class="form-control" placeholder="il tuo nome" name="name" id="name" required /> </div> <div class="modal__contents_input"> <input type="tel" class="form-control phone_input" placeholder="Numero di telefono" id="phone" name="phone" required /> </div> <div class="modal__contents_input"> <input type="text" class="form-control" placeholder="L'indirizzo del tuo sito web" name="website" id="website" required /> </div> <button type="submit" class="button desctop">Inviare</button> <button type="submit" class="button mobile">Inviare</button> </form> <p class="policy mt-3">Inviando una domanda, sei d'accordo <a href="https://seo.computer/ru/policy">Con una politica di riservatezza</a></p> </div> <div class="img-container d-flex align-items-start"> <!-- Rasmni o'z manzilingiz bilan almashtiring --> <img src="https://seo.computer/assets/images/modal_img.png" alt="Rasm" class="img-fluid" /> <button class="close" data-bs-dismiss="modal" aria-label="Close"> <img src="https://seo.computer/assets/images/exit.svg" alt=""> </button> </div> <!-- Forma --> </div> </div> </div> </div> <div class="modal fade" id="ModalCity" tabindex="-1" aria-labelledby="ModalCity" aria-hidden="true"> <div class="modal-dialog modal-xl modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <div class="modal-title fs-22 fw-500" id="exampleModalLabel">Seleziona una città</div> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Vicino"></button> </div> <div class="modal-body cites"> <div class="row mb-2"> <div class="col-sm-12"> <input class="form-control form-padding" id="search" name="query" placeholder="Inserisci il nome della città..."> </div> </div> <div class="row row-cols-1" id="cites"></div> </div> </div> </div> </div> <style>.lateload-show-buttons{display:none;}</style> <div class="social lateload-show-buttons"> <button class="shareButton tg open" data-bs-toggle="modal" data-bs-target="#SocialModal" data-bs-content="Scrivi a telegram" title="Scrivi a telegram Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google a Mosca" data-bs-link="https://t.me/t9202044461/"> <img width="24" height="24" style="display:inline-block" src="https://seo.computer/assets/images/c_telegram.webp" alt="Scrivi a telegram Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google a Mosca" title="Scrivi a telegram Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google a Mosca"> </button> <button class="shareButton wt open" data-bs-toggle="modal" data-bs-target="#SocialModal" data-bs-content="Scrivi a vhatsapp" title="Scrivi a vhatsapp Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google a Mosca" data-bs-link="https://wa.me/79202044461"> <img width="24" height="24" style="display:inline-block" src="https://seo.computer/assets/images/c_whatsapp.webp" alt="Scrivi a vhatsapp Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google a Mosca" title="Scrivi a vhatsapp Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google a Mosca"> </button> </div> <script defer async> setTimeout(function(){$('.lateload-show-buttons').css('display','flex').hide().fadeIn();}, 4000); </script> <!-- Modal --> <div class="modal fade" id="SocialModal" tabindex="-1" aria-labelledby="SocialModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header" style="text-align:center;"> <span style="font-size: 1.25rem;" class="modal-title" id="SocialModalLabel">Connettiti con noi</span> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body text-center"> <a type="button" class="btn btn-primary" id="Soclink" href="#">Scrivere</a> </div> </div> </div> </div> <script defer async> var SocialModal = document.getElementById('SocialModal') SocialModal.addEventListener('show.bs.modal', function (event) { setTimeout(function(el){ let halfScreenHeight = window.screen.height / 2; let coefdBlockHeight = el.offsetHeight * 1.75; //console.log(el.offsetHeight); let newTopPx = Math.round(halfScreenHeight - coefdBlockHeight); el.style.transform = 'translate(0, ' + newTopPx + 'px)'; }, 250, SocialModal.children[0]); // Button that triggered the modal var button = event.relatedTarget // Extract info from data-bs-* attributes var link = button.getAttribute('data-bs-link') var content = button.getAttribute('data-bs-content') var Soclink = SocialModal.querySelector('#Soclink') Soclink.setAttribute('href', link) Soclink.textContent = content }); (() => { 'use strict' // Fetch all the forms we want to apply custom Bootstrap validation styles to const forms = document.querySelectorAll('.needs-validation') // Loop over them and prevent submission Array.from(forms).forEach(form => { form.addEventListener('submit', event => { if (!form.checkValidity()) { event.preventDefault() event.stopPropagation() } form.classList.add('was-validated') }, false) }) })() </script> <!--JavaScripts--> <script rel="lazy" src="https://seo.computer/assets/js/jquery-3.6.0.min.js" ></script> <script defer async src="https://seo.computer/assets/js/bootstrap.min.js" ></script> <script src="https://seo.computer/assets/js/custom-blocks.js" charset="utf-8"></script><script defer async src="https://seo.computer/assets/js/jquery.mask.min.js" async></script> <!-- <script defer async src="https://seo.computer/assets/js/lottie-player.js" ></script> --> <!-- Bitrix --> <!-- <script defer async> setTimeout(function(){ (function(w,d,u){ var s=d.createElement('script');s.async=true;s.src=u+'?'+(Date.now()/60000|0); var h=d.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h); })(window,document,'https://cdn-ru.bitrix24.ru/b20061858/crm/site_button/loader_7_7psi5t.js'); setTimeout(function(){ let linksNoHref = [...document.querySelectorAll('a.b24-widget-button-social-item')]; if (linksNoHref.length > 0) { for (l of linksNoHref) { if (!l.href) l.setAttribute('href','#'); } } }, 1000); }, 4000); </script> <script defer async> window.addEventListener('onBitrixLiveChat', function(event) { var widget = event.detail.widget; widget.subscribe({ type: BX.LiveChatWidget.SubscriptionType.configLoaded, callback: function() { widget.addLocalize({BX_LIVECHAT_LOADING: ' '}); widget.addLocalize({BX_LIVECHAT_ERROR_TITLE: ' '}); widget.addLocalize({ BX_LIVECHAT_VOTE_BUTTON: ' ', BX_LIVECHAT_ERROR_DESC: ' ', BX_MESSENGER_TEXTAREA_PLACEHOLDER: '✎...', }) } }); }); </script> <style>.b24-widget-button-wrapper.b24-widget-button-position-bottom-right, .b24-widget-button-wrapper.b24-widget-button-position-bottom-middle, .b24-widget-button-wrapper.b24-widget-button-position-bottom-left {bottom: 5px; right: 2px;} .bx-livechat-logo-name, .bx-livechat-logo-icon, .bx-livechat-copyright-link, .bx-livechat-help-title-lg, .bx-im-dialog-group-date, .b24-form-sign, .bx-imopenlines-message-dialog-number, .bx-imopenlines-form-result-title, .bx-livechat-user-position, .bx-im-message-type-system .bx-im-message-content, .b24-form-control-alert-message, .bx-touch .b24-widget-button-position-bottom-right .b24-widget-button-popup-triangle {display:none} .bx-livechat-help-title-sm {font-size:0px;} .b24-form-wrapper {min-height: 150px !important;} .bx-imopenlines-form-result-container {min-height: 50px !important;} .bx-imopenlines-form-result-container.bx-imopenlines-form-success {background: none;border-bottom: none;} .bx-touch .b24-widget-button-position-bottom-right .b24-widget-button-popup {left: -240px !important; bottom: 5px !important;}</style> --> <!-- /Bitrix --> <!-- Yandex.Metrika counter --> <script defer async type="text/javascript" async> setTimeout(function(){ (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(86303743, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, ecommerce:"dataLayer" }); }, 4000); </script> <noscript><div><img width="1" height="1" src="https://mc.yandex.ru/watch/86303743" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-R6MGYCXWFG"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-R6MGYCXWFG'); </script> <!-- Top100 (Kraken) Counter --> <script defer async> setTimeout(function(){ (function (w, d, c) { (w[c] = w[c] || []).push(function() { var options = { project: 7728665, }; try { w.top100Counter = new top100(options); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//st.top100.ru/top100/top100.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(window, document, "_top100q"); }, 4000); </script> <noscript> <img width="1" height="1" src="//counter.rambler.ru/top100.cnt?pid=7728665" alt="Top 100 Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google a Mosca" title="Top 100 Fondamenti di JavaScript SEO per il tuo sito: come fornire visibilità in Google a Mosca" /> </noscript> <!-- END Top100 (Kraken) Counter --> <script defer async> $(document).ready(function() { $(".form").submit(function(e) { e.preventDefault(); var form = $(this); if (form.find('input:invalid').length === 0) { $.ajax({ type: "POST", url: form.attr('action'), datatype: 'json', data: form.serialize(), // serializes the form's elements. success: function(data) { if(data.message === true) { $('#SuccessModal').modal('show'); form.trigger('reset'); } } }); } }); $("#form-analytcs").submit(function(e) { e.preventDefault(); var form = $(this); if (form.find('input:invalid').length === 0) { $.ajax({ type: "POST", url: form.attr('action'), datatype: 'json', data: form.serialize(), // serializes the form's elements. success: function(data) { if(data.message === true) { $('#myModal').modal('hide'); $('#SuccessModal').modal('show'); form.trigger('reset'); } } }); } }); // ---- Analyzer redirect: hijack hero_form to push directly into seo-analyzer ---- $('form.hero_form[data-analyzer-redirect="1"]').on('submit', function(e){ var form = $(this); var input = form.find('input[name="domain"]'); var raw = (input.val() || '').trim(); if (!raw) { return; } var endpoint = form.attr('data-analyzer-url') || 'https://seo-analyzer.seo.computer/domain'; // Normalize: drop scheme, leading www, trailing slash, anything after first slash/space var host = raw.replace(/^https?:\/\//i,'').replace(/^www\./i,'').split(/[\/\?#\s]/)[0].toLowerCase(); if (!host || host.indexOf('.') === -1) { return; } e.preventDefault(); // Build hidden form and submit it (POST so analyzer can read $_POST['url']) var hf = $('<form>').attr({method:'POST', action: endpoint}).css('display','none'); hf.append($('<input>').attr({type:'hidden', name:'url', value: host})); $('body').append(hf); hf[0].submit(); }); $('.content_toggle').click(function(){ $('.content_block').toggleClass('hide'); if ($('.content_block').hasClass('hide')) { $('.content_toggle').html('Per saperne di più'); } else { $('.content_toggle').html('Crollo'); } return false; }); $('.load-more').click(function () { var button = $(this); var link = $(this).data('cat'); var page = $(this).data('page'); var count = page + 1; $.ajax({ type: "GET", url: 'https://seo.computer/it/' + link +'?page=' + page, success: function(response) { if (response.html === ''){ button.fadeOut('slow'); } else { $('#' + link + '_results').append(response.html); button.data('page', count); } }, error: function(request, status, error) { console.log(request); } }); }); $('#languageForm').on('submit', function(e) { e.preventDefault(); $.ajax({ type: 'POST', url: 'https://seo.computer/change-language', data: $('#languageForm').serialize(), success: function(data) { if (data.message === true) { // Обновите URL с новым языком var currentUrl = window.location.href; var split = currentUrl.split('/'); split[3] = data.lang; var newUrl = split.join('/'); if (currentUrl === newUrl) { window.location = '/' + data.lang + '/'; } else { window.location = newUrl; } } } }); }); $('#search').on('input', function(e) { e.preventDefault(); var query = $(this).val(); $.ajax({ type: 'GET', url: 'https://seo.computer/search', data: { query: query, locale: 'it' }, success: function(data) { var results = $('#cites'); results.empty(); if (data.length > 0) { data.forEach(function(city) { results.append($('<a class="col text-decoration-none text-dark">').text(city.prepositional).attr('href', 'https://' + city.slug + '.seo.computer/it')); }); } else { results.html('<div class="col"><span>Nessun risultato trovato.</span></div>'); } } }); }); }); </script> <script defer async> (function(){ async function hrefifyLinks(){ let linksnh = []; while (linksnh.length < 2) { linksnh = [...document.querySelectorAll('a')].filter(v=>v.getAttribute('href')===null); if (linksnh.length < 2) { await new Promise(r=>setTimeout(r,500)); } } for (let l of linksnh) {l.href = '#';} } hrefifyLinks(); })(); </script> </body> </html>