Un guide détaillé sur le fonctionnement de Google Search pour votre site

Un guide détaillé sur le fonctionnement de Google Search pour votre site

Google Search est un moteur de recherche entièrement automatisé qui utilise des logiciels connus sous le nom de Web Crauls qui explorent régulièrement Internet pour trouver des pages qui peuvent être ajoutées à l'index. En fait, la plupart des pages affichées dans les résultats de recherche n'ont pas été envoyées manuellement pour indexation, mais ont été trouvées et ajoutées automatiquement lors de l'étude d'Internet avec Web Crauls. Ce document explique en détail comment la recherche dans Google fonctionne dans le contexte de votre site. Connaître ce processus vous aidera à corriger les erreurs de numérisation, à obtenir des pages dans l'index et à optimiser l'affichage du site dans la recherche de Google.

Vous cherchez quelque chose de moins technique? Découvrez le site Comment fonctionne la rechercheQui explique comment la recherche fonctionne du point de vue de l'utilisateur.

Quelques commentaires avant de commencer à travailler avec Google pour votre site

Avant de plonger dans les détails du moteur de recherche, il est important de noter que Google n'accepte pas le paiement pour une analyse plus fréquente du site ou pour des positions plus élevées dans les résultats de recherche. Si quelqu'un revendique le contraire, sachez que ce n'est pas vrai.

Google ne garantit pas que le site sera analysé, indexé ou affiché dans les résultats de la recherche, même si ses pages correspondent à Google Search Essentials.

Trois étapes de la recherche Google fonctionnent pour votre site

La recherche dans Google se déroule en trois étapes, et toutes les pages ne passent pas par chacune d'elles:

  • KRALING: Google télécharge le texte, les images et les vidéos des pages trouvées sur Internet à l'aide de programmes automatiques appelés KRALER.
  • Indexage: Google analyse le texte, les images et les documents vidéo sur la page, puis enregistre ces informations dans l'index Google - une énorme base de données.
  • Résultats de la recherche: Lorsque l'utilisateur recherche Google, le système renvoie des informations qui, selon Google, sont les plus pertinentes pour la demande de l'utilisateur.

Crauling dans Google: comment votre site peut être trouvé pour la recherche dans Google

La première étape est la recherche de pages sur Internet. Puisqu'il n'y a pas de registre central de toutes les pages Web, Google recherche constamment des pages nouvelles et mises à jour pour les ajouter à sa liste de pages célèbres. Ce processus s'appelle la «recherche de l'URL». Certaines pages sont déjà connues car Google leur a déjà visité. D'autres pages sont trouvées lorsque Google extrait un lien d'une page bien connue à une nouvelle. Par exemple, si la catégorie du site fait référence à un nouvel article sur le blog. Vous pouvez également envoyer une liste de pages (carte du site) afin que Google puisse les indexer.

Dès que Google trouve la page URL, il peut visiter cette page pour comprendre ce qu'elle contenait. Pour cela, un grand nombre d'ordinateurs sont utilisés qui scannent des milliards de pages sur Internet. Le programme qui effectue cette tâche est appelé Googlebot (également connu sous le nom de Crauler, Robot, Bot ou Spider). Googlebot utilise l'algorithme pour déterminer les pages à numériser, à quelle fréquence et combien de pages vous devez télécharger à partir de chaque site. Googlebot est également réglé de manière à ne pas surcharger les serveurs des sites, les scannant trop souvent. Ce mécanisme dépend de la réponse des serveurs (par exemple, les erreurs HTTP 500 indiquent que vous devez ralentir le processus).

Cependant, Googlebot ne scanne pas toujours toutes les pages qu'elle trouve. Certaines pages peuvent ne pas être disponibles pour Kraler en raison des paramètres du site, par exemple, en raison d'une interdiction de numériser via le fichier robots.txt ou en raison de la nécessité d'autoriser l'accès.

Pendant Crailingin, Google rend également la page et effectue JavaScript, en utilisant la version actuelle du navigateur Chrome, qui aide à comprendre quel contenu est affiché sur la page. Ceci est important, car de nombreux sites dépendent de JavaScript pour afficher le contenu, et sans rendre Google peut ne pas voir de données importantes.

Indexation: comment Google analyse le contenu de votre site

Une fois la page scannée, Google essaie de comprendre de quoi parle cette page. Cette étape est appelée indexation, et il comprend le traitement et l'analyse du contenu texte, ainsi que des métathegs, tels que des balises et les attributs ALT pour les images, les vidéos et autres fichiers.</p><p>Pendant l'indexation, Google détermine si la page est un double d'une autre page sur Internet. Si les pages sont similaires, une version canonique est sélectionnée, qui sera affichée dans les résultats de recherche. Ceci est important, car différentes pages avec le même contenu peuvent être représentées dans différents contextes (par exemple, sur des appareils mobiles ou lors de la recherche de versions spécifiques de pages). La page canonique est celle que Google a choisie comme la plus pertinente pour la recherche.</p><p>Google prend également en compte divers signaux sur la page canonique et son contenu qui peut être utilisé lors de l'émission d'une page dans la recherche. Par exemple, il peut s'agir de paramètres tels que la langue de la page, le pays auquel le contenu est lié et la commodité de la page pour l'utilisateur.</p><p>Si la page ne passe pas par le processus d'indexation, cela est possible, cela est dû à la faible qualité du contenu ou à l'installation d'indexation de la méta-droite. Il est important de comprendre que toutes les pages que Google ne seront pas indexées.</p><H2>Émettre les résultats de Google Rechercher votre site</H2><p>Google n'accepte pas le paiement pour augmenter les postes dans les résultats de la recherche, et tout cela se produit automatiquement. Lorsque l'utilisateur entre dans la demande, le système analyse l'index et renvoie les pages, qui, selon Google, sont la demande la plus pertinente. Pour évaluer la pertinence, divers facteurs sont utilisés, tels que l'emplacement, le langage et l'appareil de l'utilisateur (par exemple, mobile ou bureau).</p><p>Par exemple, la recherche de «réparation de vélos» montrera différents résultats à l'utilisateur à Paris et à Hong Kong. Cela dépend également du contenu le plus pertinent dans des conditions spécifiques.</p><p>De plus, selon la demande, les éléments de recherche affichés sur la page changent également. Par exemple, la demande de «réparation de vélos» peut retirer les résultats locaux, et la demande de «vélo moderne» est de montrer des images, mais pas des résultats locaux.</p><H2>Que faire si votre page est indexée, mais ne s'affiche pas dans les résultats de la recherche dans Google</H2><p>Parfois, la console de recherche Google peut signaler que la page a été indexée, mais elle n'apparaît pas dans les résultats de recherche. Cela peut être dû à plusieurs facteurs:</p><ul><li>Le contenu de la page n'est pas pertinent pour les besoins des utilisateurs;</li><li>La qualité du contenu est trop faible;</li><li>Meta-droite pour les robots interdit l'affichage de la page dans la recherche.</li></ul><p>Attention, nous travaillons constamment pour améliorer nos algorithmes. Suivez les modifications suivant le blog <a href="#">Google Search Central</a>.</p><p>Si vous avez des questions sur l'optimisation de la recherche de votre site, vous pouvez contacter SEO.Compter par e -mail info@seo.computer ou via WhatsApp par numéro +79202044461.</p><p>ID 160</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="9B0hxEERBTyJatd9Yf8YODLforojC6IzPNKoJqaW" 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 Un guide détaillé sur le fonctionnement de Google Search pour votre site dans Moscou" title="SEO Computer Un guide détaillé sur le fonctionnement de Google Search pour votre site 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-10160.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 Un guide détaillé sur le fonctionnement de Google Search pour votre site dans Moscou" title="Laisser une demande Un guide détaillé sur le fonctionnement de Google Search pour votre site 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="9B0hxEERBTyJatd9Yf8YODLforojC6IzPNKoJqaW" 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="9B0hxEERBTyJatd9Yf8YODLforojC6IzPNKoJqaW" 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="de" >Allemand (de)</option> <option value="en" >Anglais (en)</option> <option value="fr" selected >Français (fr)</option> <option value="id" >indonésien (id)</option> <option value="it" >italien (it)</option> <option value="nl" >Néerlandais (nl)</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> <option value="cn" >Chinois simplifié) (cn)</option> <option value="jp" >Japonais (jp)</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é Un guide détaillé sur le fonctionnement de Google Search pour votre site dans Moscou" title="Bien envoyé Un guide détaillé sur le fonctionnement de Google Search pour votre site 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="9B0hxEERBTyJatd9Yf8YODLforojC6IzPNKoJqaW" 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 Un guide détaillé sur le fonctionnement de Google Search pour votre site 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 Un guide détaillé sur le fonctionnement de Google Search pour votre site dans Moscou" title="Écrivez à télégràm Un guide détaillé sur le fonctionnement de Google Search pour votre site 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 Un guide détaillé sur le fonctionnement de Google Search pour votre site 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 Un guide détaillé sur le fonctionnement de Google Search pour votre site dans Moscou" title="Écrivez à whàtsàpp Un guide détaillé sur le fonctionnement de Google Search pour votre site 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 Un guide détaillé sur le fonctionnement de Google Search pour votre site dans Moscou" title="Tôp 100 Un guide détaillé sur le fonctionnement de Google Search pour votre site 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>