Fondamenti di JavaScript SEO: come migliorare la visibilità del tuo sito su Google

Fondamenti di JavaScript SEO: come migliorare la visibilità del tuo sito su Google

Sospetti che i problemi con JavaScript possano bloccare la visualizzazione dei tuoi contenuti nel motore di ricerca di Google? Scopri come eliminare i problemi associati a JavaScript usando la nostra guida per eliminare i problemi.

JavaScript è una parte importante della piattaforma Web, poiché fornisce molte funzioni che trasformano il Web in una potente piattaforma applicativa. Per rendere disponibili le tue applicazioni Web utilizzando JavaScript nel motore di ricerca di Google può aiutarti ad attrarre nuovi utenti e restituire quelli esistenti quando cercano contenuti offerti dalla tua applicazione web.

Sebbene Google Search lanci JavaScript utilizzando la versione corrente di Chromium, ci sono diverse cose che possono essere ottimizzate.

Questa leadership descrive come Google Search elabora JavaScript e le migliori pratiche per migliorare la visibilità delle applicazioni JavaScript del tuo sito in Google.

Come Google elabora JavaScript sul tuo sito Web di Google

Google elabora l'applicazione JavaScript del tuo sito in tre fasi principali:

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

GoogleBot mette le pagine in coda per il kraling e il rendering. A volte non è ovvio quando la pagina attende Kraling e quando si renderà. Quando GoogleBot estrae l'URL dalla linea di crowring, controlla prima se la scansione è consentita. Googlebot legge il file robots.txt.

Se la pagina è bloccata per Kraling, Googlebot manca la sua richiesta e Google non renderà JavaScript sulle pagine bloccate del tuo sito.

Ottimizzazione JavaScript per cercare il tuo sito in Google

A volte le pagine delle applicazioni JavaScript utilizzano l'app deve modellare, in cui la iniziale non contiene il contenuto e Google deve eseguire JavaScript per vedere il contenuto effettivo che genera JavaScript.

Googlebot mette tutte le pagine nella linea di rendering, se solo i robot Methag o l'intestazione non indicano che la pagina non deve essere indicizzata. La pagina può rimanere in linea per alcuni secondi, ma questo può richiedere più tempo. Dopo che Google Resources lo consente, la pagina viene eseguita con l'aiuto del Chromium e JavaScript senza Headless.

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

Elementi unici e descrittivi di e le meta-descrizioni aiutano gli utenti a scegliere rapidamente il risultato migliore per il loro obiettivo nella ricerca. È possibile utilizzare JavaScript per impostare o modificare la meta-descrizione, nonché un elemento di <Tele>.</p><H3>Rendi il codice compatibile con Google per il tuo sito</H3><p>I browser offrono molte API e JavaScript è un linguaggio in rapido sviluppo. Google ha restrizioni su quali funzionalità API e JavaScript supporta. Per assicurarti che il codice sia compatibile con Google, segui i nostri consigli per eliminare i problemi con JavaScript.</p><H2>Come utilizzare i codici di stato HTTP per il tuo sito Google</H2><p>GoogleBot utilizza i codici di stato HTTP per determinare cosa è andato storto quando si prepara la pagina del tuo sito.</p><p>Per informare GoogleBot che la pagina non può essere scansionata o indicizzata, utilizzare codici di stato comprensibili come 404 per pagine non trovate o 401 per le pagine protette dalla password.</p><H3>Come evitare errori morbidi 404 nelle applicazioni a page singola (SPA)</H3><p>In una paga di applicazioni con il rendering del client, il routing viene spesso implementato utilizzando il routing client. In questo caso, l'uso di codici di stato HTTP corretti può essere impossibile o inappropriato. Per evitare errori morbidi 404 quando si utilizzano il rendering e il ruggito del cliente, utilizzare le seguenti strategie:</p><ul><li>Utilizzare JavaScript Reindirizzarsi all'URL, per il quale il server incontra il codice 404 (ad esempio, /no-found).</li><li>Aggiungi il <meta name = "robot" content = "noindex"> su pagine con errori usando javascript.</li></ul><H2>Utilizzo dell'API della cronologia per il tuo sito Google</H2><p>Google può trovare i tuoi link solo in <a> elementi con un attributo HREF.</p><p>Per le applicazioni di una pagina con il rendering dei clienti, utilizzare l'API della cronologia per implementare il routing tra diverse idee dell'applicazione Web. Assicurati che Googlebot possa elaborare ed estrarre i tuoi URL senza utilizzare frammenti di URL per scaricare contenuti diversi.</p><H2>La corretta implementazione del tag rel = "canonico" per il tuo sito su Google</H2><p>Sebbene non sia consigliato di utilizzare JavaScript per introdurre il tag rel = "canonico", questo è possibile. Google Search troverà l'URL canonico inserito quando si rende la pagina.</p><H2>Come utilizzare i methot di robot per il tuo sito Google correttamente</H2><p>È possibile impedire l'indicizzazione delle pagine o i seguenti collegamenti attraverso i robot Methag. Ad esempio, aggiungendo il prossimo Metatheg all'inizio della pagina, è possibile bloccare l'indicizzazione della pagina in Google:</p><p><meta name = "robot" conte = "noindex, nofollow"></p><p>L'uso di JavaScript per aggiungere robot Methag alla pagina o cambia il suo contenuto è possibile, ma è importante ricordare che Google potrebbe non rendering o indicizzare la pagina se il tag Noindex è già presente nel codice di pagina.</p><H2>Utilizzando la memorizzazione nella cache a lungo termine per il tuo sito Google</H2><p>GoogleBot è attivamente nella cache di cache per ridurre le richieste di rete e l'uso delle risorse. Per evitare problemi con le risorse JavaScript o CSS obsolete, utilizzare la strategia di impronte digitali per creare contenuti unici in base.</p><H2>Come utilizzare i dati strutturati sul tuo sito Web di Google</H2><p>Quando si utilizzano dati strutturati sulle pagine del tuo sito, è possibile utilizzare JavaScript per generare JSON-LD e implementarli su una pagina. Assicurati di aver testato l'implementazione per evitare possibili problemi.</p><H2>Come seguire le migliori pratiche per i componenti Web sul tuo sito Web di Google</H2><p>Google supporta i componenti Web. Quando si rende la pagina di Google "lusinga" il contenuto di Shadow DOM e Light DOM. Ciò significa che Google può vedere solo contenuti visibili nella snella. Per assicurarti che Google possa vedere i tuoi contenuti, utilizzare lo strumento di test dei risultati ricchi o lo strumento di controllo URL e vedere la snella.</p><H2>Correzione di immagini e caricamento di contenuti pigri per il tuo sito su Google</H2><p>Le immagini possono caricare notevolmente il throughput e influenzare le prestazioni. Una buona strategia è l'uso del caricamento pigro per caricare immagini solo quando l'utente le vedrà. Assicurati che l'implementazione del caricamento pigro corrisponda ai consigli di Google.</p><H2>Come progettare il tuo sito per l'accessibilità in Google</H2><p>Crea pagine per gli utenti, non solo per i motori di ricerca. Quando stai sviluppando un sito, prendi in considerazione le esigenze dei tuoi utenti, compresi quelli che potrebbero non utilizzare i browser a supporto di JavaScript (ad esempio, le persone che usano i programmi per la lettura dallo schermo o dispositivi mobili meno potenti).</p><p>Uno dei modi semplici per testare la disponibilità del sito è visualizzarlo in un browser con un JavaScript disconnesso o utilizzare un browser di testo, come Lynx. La visualizzazione del sito in modalità di testo aiuta anche a identificare un altro contenuto che può essere difficile per Google, ad esempio un testo integrato nell'immagine.</p><p>Per eventuali problemi relativi al SEO del tuo sito, è possibile contattare il compagno SEO <strong>Amministratore delegato</strong> Di e -mamail <a href="mailto:info@seo.computer">info@seo.computer</a> o tramite WhatsApp per numero +79202044461.</p><p>ID: 125</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="4teSHkvTvJ7zJckfAive4vEng4eovwv2I5SO2G72" 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: come migliorare la visibilità del tuo sito su Google a Mosca" title="SEO Computer Fondamenti di JavaScript SEO: come migliorare la visibilità del tuo sito su 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-10125.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: come migliorare la visibilità del tuo sito su Google a Mosca" title="Lascia una richiesta Fondamenti di JavaScript SEO: come migliorare la visibilità del tuo sito su 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="4teSHkvTvJ7zJckfAive4vEng4eovwv2I5SO2G72" 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="4teSHkvTvJ7zJckfAive4vEng4eovwv2I5SO2G72" 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="nl" >Olandese (nl)</option> <option value="en" >Inglese (en)</option> <option value="fr" >francese (fr)</option> <option value="de" >Tedesco (de)</option> <option value="id" >indonesiano (id)</option> <option value="it" selected >Italiano (it)</option> <option value="jp" >giapponese (jp)</option> <option value="pl" >Polacco (pl)</option> <option value="pt" >portoghese (pt)</option> <option value="ru" >russo (ru)</option> <option value="es" >spagnolo (es)</option> <option value="tr" >Turco (tr)</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: come migliorare la visibilità del tuo sito su Google a Mosca" title="Inviato con successo Fondamenti di JavaScript SEO: come migliorare la visibilità del tuo sito su 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="4teSHkvTvJ7zJckfAive4vEng4eovwv2I5SO2G72" 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: come migliorare la visibilità del tuo sito su 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: come migliorare la visibilità del tuo sito su Google a Mosca" title="Scrivi a telegram Fondamenti di JavaScript SEO: come migliorare la visibilità del tuo sito su 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: come migliorare la visibilità del tuo sito su 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: come migliorare la visibilità del tuo sito su Google a Mosca" title="Scrivi a vhatsapp Fondamenti di JavaScript SEO: come migliorare la visibilità del tuo sito su 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: come migliorare la visibilità del tuo sito su Google a Mosca" title="Top 100 Fondamenti di JavaScript SEO: come migliorare la visibilità del tuo sito su 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>