Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google

Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google

Pensez-vous que les problèmes avec JavaScript peuvent bloquer l'affichage de votre contenu dans le moteur de recherche Google? Découvrez comment éliminer les problèmes associés à JavaScript en utilisant notre guide pour éliminer les problèmes.

JavaScript est une partie importante de la plate-forme Web, car il fournit de nombreuses fonctions qui transforment le Web en une plate-forme d'application puissante. Pour rendre vos applications Web à l'aide de JavaScript disponibles dans le moteur de recherche Google, vous pouvez vous aider à attirer de nouveaux utilisateurs et à renvoyer les existants lorsqu'ils recherchent du contenu que votre application Web offre.

Bien que Google Search lance JavaScript en utilisant la version actuelle de Chromium, il y a plusieurs choses qui peuvent être optimisées.

Ce leadership décrit comment Google Search traite JavaScript et les meilleures pratiques pour améliorer la visibilité des applications JavaScript de votre site dans Google.

Comment Google traite JavaScript sur votre site Web Google

Google traite l'application JavaScript de votre site en trois étapes principales:

  • Crawing (ramper)
  • Rendu (rendu)
  • Indexation (indexation)

Googlebot met des pages dans la file d'attente pour KraLing et Renduring. Parfois, ce n'est pas évident lorsque la page attend Kraring et lors du rendu. Lorsque Googlebot extrait l'URL de la ligne Crowring, il vérifie d'abord si l'analyse est autorisée. Googlebot lit le fichier robots.txt.

Si la page est bloquée pour Kraling, Googlebot manque sa demande et Google ne rendra pas JavaScript sur les pages bloquées de votre site.

Optimisation JavaScript pour rechercher votre site dans Google

Parfois, les pages des applications JavaScript utilisent l'application doit être modélisée, où l'initiale ne contient pas le contenu, et Google doit effectuer JavaScript pour voir le contenu réel qui génère JavaScript.

Googlebot met toutes les pages de la ligne de rendu, si seuls les robots méthag ou l'en-tête n'indiquent pas que la page ne doit pas être indexée. La page peut rester en ligne pendant quelques secondes, mais cela peut prendre plus de temps. Après que Google Resources le permettait, la page rend l'aide du chrome sans tête et JavaScript est effectuée.

Comment définir des titres et des méta-descriptions uniques pour votre site dans Google

Les éléments uniques et descriptifs de et Meta-Descriptions aident les utilisateurs à choisir rapidement le meilleur résultat pour leur objectif dans la recherche. Vous pouvez utiliser JavaScript pour définir ou modifier la méta-description, ainsi qu'un élément de <Bitle>.</p><H3>Rendre le code compatible avec Google pour votre site</H3><p>Les navigateurs offrent de nombreuses API et JavaScript est une langue en développement rapide. Google a des restrictions sur les capacités API et JavaScript qu'il prend en charge. Pour vous assurer que votre code est compatible avec Google, suivez nos recommandations pour éliminer les problèmes avec JavaScript.</p><H2>Comment utiliser les codes d'état HTTP pour votre site Google</H2><p>Googlebot utilise les codes d'état HTTP pour déterminer ce qui a mal tourné lorsque vous avez chanté la page de votre site.</p><p>Pour informer Googlebot que la page ne peut pas être scannée ou indexée, utilisez des codes d'état compréhensibles tels que 404 pour les pages non trouvées ou 401 pour les pages protégées par le mot de passe.</p><H3>Comment éviter les erreurs Soft 404 dans les applications à une seule page (SPA)</H3><p>Dans les applications d'une page avec rendu client, le routage est souvent implémenté à l'aide du routage client. Dans ce cas, l'utilisation de codes d'état HTTP corrects peut être impossible ou inapproprié. Pour éviter les erreurs Soft 404 lors de l'utilisation de rendu et de rugissement des clients, utilisez les stratégies suivantes:</p><ul><li>Utilisez JavaScript Redirection vers l'URL, pour lequel le serveur répond au code 404 (par exemple, / ne pas fin).</li><li>Ajoutez le <méta name = "robots" contenu = "nOindex"> sur les pages avec des erreurs à l'aide de JavaScript.</li></ul><H2>Utilisation de l'historique API pour votre site Google</H2><p>Google ne peut trouver vos liens uniquement dans <a> des éléments avec un attribut HREF.</p><p>Pour les applications d'une page avec rendu client, utilisez l'API de l'historique pour implémenter le routage entre les différentes idées de votre application Web. Assurez-vous que Googlebot peut traiter et extraire vos URL sans utiliser de fragments d'URL pour télécharger différents contenus.</p><H2>L'implémentation correcte de la balise rel = "Canonical" pour votre site dans Google</H2><p>Bien qu'il ne soit pas recommandé d'utiliser JavaScript pour introduire la balise rel = "Canonical", cela est possible. Google Search trouvera l'URL canonique entrée lors du rendu de la page.</p><H2>Comment utiliser correctement les metathes des robots pour votre site Google</H2><p>Vous pouvez empêcher l'indexation des pages ou suivre les liens via les robots méthag. Par exemple, en ajoutant le prochain métatheg au début de la page, vous pouvez bloquer l'indexation de la page dans Google:</p><p><meta name = "robots" conte = "noindex, nofollow"></p><p>L'utilisation de JavaScript pour ajouter des robots méthag à la page ou modifie son contenu est possible, mais il est important de se rappeler que Google peut ne pas rendre ou indexer la page si la balise NOINDEX est déjà présente dans le code de la page.</p><H2>Utilisation de la mise en cache à long terme pour votre site Google</H2><p>Googlebot cache activement les pages pour réduire les demandes de réseau et l'utilisation des ressources. Pour éviter les problèmes avec les ressources JavaScript ou CSS obsolètes, utilisez la stratégie d'empreintes digitales pour créer un contenu unique basé.</p><H2>Comment utiliser des données structurées sur votre site Web Google</H2><p>Lorsque vous utilisez des données structurées sur les pages de votre site, vous pouvez utiliser JavaScript pour générer JSON-LD et les implémenter sur une page. Assurez-vous que vous avez testé votre implémentation pour éviter d'éventuels problèmes.</p><H2>Comment suivre les meilleures pratiques pour les composants Web sur votre site Web Google</H2><p>Google prend en charge les composants Web. Lors du rendu de la page Google "flatte", le contenu de l'ombre Dom et du Dom léger. Cela signifie que Google ne peut voir que du contenu visible dans le lean. Pour vous assurer que Google peut voir votre contenu, utilisez l'outil de test des résultats riche ou l'outil de vérification de l'URL et voir le lean.</p><H2>Correction d'images et de chargement de contenu paresseux pour votre site dans Google</H2><p>Les images peuvent fortement charger le débit et affecter les performances. Une bonne stratégie est l'utilisation du chargement paresseux pour charger des images uniquement lorsque l'utilisateur va les voir. Assurez-vous que votre implémentation du chargement paresseux correspond aux recommandations de Google.</p><H2>Comment concevoir votre site pour l'accessibilité dans Google</H2><p>Créez des pages pour les utilisateurs, pas seulement pour les moteurs de recherche. Lorsque vous développez un site, prenez en compte les besoins de vos utilisateurs, y compris ceux qui peuvent ne pas utiliser de navigateurs prenant en charge JavaScript (par exemple, les personnes qui utilisent les programmes pour lire à partir de l'écran ou des appareils mobiles moins puissants).</p><p>L'un des moyens simples de tester la disponibilité du site est de le visualiser dans un navigateur avec un JavaScript déconnecté ou d'utiliser un navigateur de texte, comme Lynx. La visualisation du site en mode texte aide également à identifier un autre contenu qui peut être difficile pour Google, par exemple, un texte intégré à l'image.</p><p>Pour tout problème lié au référencement de votre site, vous pouvez contacter le compagnon SEO <strong>PDG</strong> Par e -mail <a href="mailto:info@seo.computer">info@seo.computer</a> ou via WhatsApp par numéro +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">Envoyez une demande et nous vous fournirons une consultation sur SEO promotion de votre site internet</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="2tARw5Cjjyy21NplgGm8MbOnQqPZLeYhYNa1uJnN" autocomplete="off"> <div class="col-12 col-xl-3"> <input type="text" name="name" class="form-control form-padding rounded-5" placeholder="votre nom" required=""> </div> <div class="col-12 col-xl-3"> <input type="tel" name="phone" class="form-control form-padding rounded-5" placeholder="Numéro de téléphone" 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">Envoyer</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">En soumettant une candidature, vous acceptez la politique de confidentialité</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/fr"> <img src="https://seo.computer/assets/svg/seo_logo.svg" alt="SEO Computer Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google dans Moscou" title="SEO Computer Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google dans Moscou" class="rounded-5" width="200" height="40" /> </a> <ul class="nav flex-column"> <li class="fn org" itemprop="name">SEO ÇÔMPÛTÉR</li> <li class="category">Marketing Internet</li> <li>Horaires d'ouverture: <span class="workhours" itemprop="openingHours" datetime="Mo-Su">24 heures sur 24</span></li> <li class="norender"> <span itemprop="priceRange" class="pricerange">depuis 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">Moscou</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">Menu</div> <ul class="nav flex-column"> <li class="nav-item mb-2"><a href="#tarifs" class="nav-link p-0 color-bfbfbf" title="SEO Tarifs">SEO Tarifs</a></li> <li class="nav-item mb-2"><a href="#reviews" class="nav-link p-0 color-bfbfbf" title="SEO Avis">SEO Avis</a></li> <li class="nav-item mb-2"><a href="#quiz" class="nav-link p-0 color-bfbfbf" title="SEO Calculatrice">SEO Calculatrice</a></li> <li class="nav-item mb-2"><a href="#sales" class="nav-link p-0 color-bfbfbf" title="SEO Promos">SEO Promos</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/fr/contact" class="nav-link p-0 color-bfbfbf" title="Contacts">SEO Contacts</a></li> </ul> </div> <div class="col-12 col-xl-3 col-md-6"> <div class="fw-500 fs-20 mb-2">Prestations de service</div> <ul class="nav flex-column"> <li class="nav-item mb-2"><a href="https://seo.computer/fr/business" class="nav-link p-0 color-bfbfbf" title="Entreprises">SEO pour les entreprises</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/fr/type-sites" class="nav-link p-0 color-bfbfbf" title="Types de sites">SEO pour les types de sites</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/fr/cms" class="nav-link p-0 color-bfbfbf" title="Systèmes CMS">SEO pour CMS systèmes</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/fr/languages" class="nav-link p-0 color-bfbfbf" title="Langues">SEO pour les langues</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/fr/engines" class="nav-link p-0 color-bfbfbf" title="Moteurs de recherche">SEO pour les moteurs de recherche</a></li> </ul> </div> <div class="col-12 col-xl-3 col-md-6"> <div class="fw-500 fs-20 mb-2">Réseau social</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="Whàtsàpp"><i class="fab fa-whatsapp me-1"></i>Whàtsàpp</a></li> <li class="nav-item mb-2"><a href="https://t.me/t9202044461/" class="nav-link p-0 color-bfbfbf" title="Télégràm"><i class="fab fa-telegram-plane me-1"></i>Télégràm</a></li> <li class="nav-item mb-2"><a href="mailto:info@seo.computer" class="nav-link p-0 color-bfbfbf" title="Émàîl"><i class="fas fa-envelope me-1"></i>Émàîl</a></li> </ul> </div> </div> <div class="justify-content-between pt-2 pb-4 mt-2 border-top col-md-12 text-light"> <p>Ce site est à titre informatif uniquement et ne constitue pas une offre publique. Pour obtenir des informations précises sur les services fournis et leurs coûts, veuillez contacter les responsables de l’entreprise.</p> <a class="text-decoration-none color-bfbfbf" href="https://seo.computer/fr/policy">politique de confidentialité</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">Laisser une demande</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="Laisser une demande Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google dans Moscou" title="Laisser une demande Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google dans Moscou"> <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="2tARw5Cjjyy21NplgGm8MbOnQqPZLeYhYNa1uJnN" autocomplete="off"> <div class="modal-body"> <label class="fs-5 text-center fw-bold">Laissez une demande et notre SEO un spécialiste vous contactera bientôt</label> <div class="row"> <div class="col-12"> <input type="text" name="name" class="form-control form-padding my-2" placeholder="votre nom" required> </div> <div class="col-12"> <input type="tel" name="phone" class="form-control form-padding my-2" placeholder="Numéro de téléphone" required> </div> </div> </div> <div class="modal-footer justify-content-center"> <button class="btn rounded-5 btn-primary w-100 form-padding" type="submit">Envoyer</button> <a href="policy.html" class="text-decoration-none text-dark text-center fs-14">En soumettant des données, vous acceptez la politique de confidentialité</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">Choisissez la langue</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="2tARw5Cjjyy21NplgGm8MbOnQqPZLeYhYNa1uJnN" autocomplete="off"> <select class="form-select mb-2" aria-label="Choisissez la langue" name="language" id="language"> <option selected>Choisissez la langue</option> <option value="cn" >Chinois simplifié) (cn)</option> <option value="nl" >Néerlandais (nl)</option> <option value="en" >Anglais (en)</option> <option value="fr" selected >Français (fr)</option> <option value="de" >Allemand (de)</option> <option value="id" >indonésien (id)</option> <option value="it" >italien (it)</option> <option value="jp" >Japonais (jp)</option> <option value="pl" >polonais (pl)</option> <option value="pt" >Portugais (pt)</option> <option value="ru" >russe (ru)</option> <option value="es" >Espagnol (es)</option> <option value="tr" >turc (tr)</option> </select> <button type="submit" class="btn btn-primary w-100">Changement</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="Bien envoyé Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google dans Moscou" title="Bien envoyé Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google dans Moscou" width="160" height="144" class="mb-5"> <div class="h4" style="color: #000;">Bien envoyé!</div> <p style="color: #000;">Merci, votre candidature a été envoyée avec succès ! Nous vous contacterons sous peu.</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">Laisser une demande</span> <p class="text-muted mt-1">Et notre spécialiste du référencement vous contactera dans un avenir proche</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="2tARw5Cjjyy21NplgGm8MbOnQqPZLeYhYNa1uJnN" autocomplete="off"> <div class="modal__contents_input"> <input type="text" class="form-control" placeholder="votre nom" name="name" id="name" required /> </div> <div class="modal__contents_input"> <input type="tel" class="form-control phone_input" placeholder="Numéro de téléphone" id="phone" name="phone" required /> </div> <div class="modal__contents_input"> <input type="text" class="form-control" placeholder="L'adresse de votre site Web" name="website" id="website" required /> </div> <button type="submit" class="button desctop">Envoyer</button> <button type="submit" class="button mobile">Envoyer</button> </form> <p class="policy mt-3">En envoyant une demande, vous êtes d'accord <a href="https://seo.computer/ru/policy">Avec une politique de confidentialité</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">Sélectionnez une ville</div> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Fermer"></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="Entrez le nom de la ville..."> </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="Écrivez à télégràm" title="Écrivez à télégràm Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google dans Moscou" 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="Écrivez à télégràm Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google dans Moscou" title="Écrivez à télégràm Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google dans Moscou"> </button> <button class="shareButton wt open" data-bs-toggle="modal" data-bs-target="#SocialModal" data-bs-content="Écrivez à whàtsàpp" title="Écrivez à whàtsàpp Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google dans Moscou" 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="Écrivez à whàtsàpp Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google dans Moscou" title="Écrivez à whàtsàpp Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google dans Moscou"> </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">Connecte-toi avec nous</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="#">Écrire</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="Tôp 100 Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google dans Moscou" title="Tôp 100 Fondamentaux de JavaScript SEO: Comment améliorer la visibilité de votre site dans Google dans Moscou" /> </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('En savoir plus'); } else { $('.content_toggle').html('Effondrement'); } 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/fr/' + 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: 'fr' }, 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/fr')); }); } else { results.html('<div class="col"><span>Aucun résultat trouvé.</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>