Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google

Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google

Heb je gedacht dat JavaScript -problemen uw site of inhoud kunnen verstoren die u kunt weergeven in de resultaten van de Google -zoekopdracht? In deze handleiding zullen we uitleggen hoe u JavaScript -problemen kunt oplossen, zodat uw site beschikbaar komt voor indexering in de zoekmachine.

JavaScript speelt een belangrijke rol in webontwikkeling en biedt veel functies die de site veranderen in een volwaardig platform voor applicaties. Om uw JavaScript -project beschikbaar te stellen voor een zoekopdracht in Google is een kans om nieuwe gebruikers aan te trekken en de oude terug te geven die op zoek zijn naar uw inhoud.

Ondanks het feit dat Google de moderne chroommotor gebruikt om JavaScript te verwerken, zijn er verschillende dingen die moeten worden geoptimaliseerd om de zichtbaarheid in de zoekmachine te verbeteren.

Hoe Google JavaScript op uw site verwerkt

Google geeft drie belangrijke fasen door voor het verwerken van JavaScript -webpagina's:

  • Crawing (kruipen)
  • Rendering (rendering)
  • Indexeren (indexeren)

GoogleBot plaatst pagina's in de wachtrij voor Kraling en rendering. Dit kan enige tijd duren, omdat het niet altijd duidelijk is wanneer de pagina in elk van de fasen wordt verwerkt. Met verkleining maakt GoogleBot HTTP -controles en controleert het Robots.txt -bestand. Als de URL is geblokkeerd, mist GoogleBot deze zonder rendering uit te voeren.

Hoe u unieke krantenkoppen en meta-beschrijvingen instelt voor uw Google-site

De unieke en informatieve elementen van en meta-beschrijving helpen gebruikers snel te bepalen welk resultaat het meest relevant zal zijn voor hun verzoek in Google.</p><H2>Hoe u een code schrijft die compatibel is met Google voor uw site</H2><p>Browsers bieden veel API's en JavaScript is een taal die zich voortdurend ontwikkelt. Volg de aanbevelingen voor het elimineren van JavaScript -fouten voor uw code om met Google samen te werken.</p><H2>Met behulp van de juiste HTTP -statussen voor uw Google -site</H2><p>GoogleBot gebruikt HTTP -statussen om te bepalen wat er mis is gegaan tijdens Crowring. Als de pagina niet kan worden geïndexeerd of beschikbaar, stuur dan de juiste statuscode, bijvoorbeeld 404 of 401.</p><H3>Vermijd fouten "Soft 404" op uw Google -site</H3><p>Voor applicaties van één pagina die routering aan de clientzijde implementeren, is het erg belangrijk om statuscodes correct te gebruiken. Gebruik JavaScript Redirect voor een fout met een fout, bijvoorbeeld:</p><pre> fetch(`/api/products/${productId}`).then(response => response.json()).then(product => { if (product.exists) { showProductDetails(product); // отображает информацию о продукте } else { window.location.href = '/not-found'; // перенаправление на страницу 404 } }); </pre><H2>API -geschiedenis gebruiken in plaats van fragmenten voor uw Google -site</H2><p>Google kan uw links vinden als ze zich in <a> elementen bevinden met het HREF -kenmerk. Voor toepassingen van één pagina, gebruik de API-geschiedenis voor het routeren tussen verschillende pagina's van uw webtoepassing.</p><H2>Juiste implementatie van de tag rel = "canonical" op uw site voor Google</H2><p>U kunt de tag REL = "Canonical" introduceren met behulp van JavaScript om aan te geven welke versie van de pagina moet worden geïndexeerd. Wees echter voorzichtig zodat er geen dubbele links rel = "canonical" op de pagina staan.</p><H2>Robots meta -tags gebruiken op uw site voor Google</H2><p>U kunt de Robots Meta-tag gebruiken om pagina-indexering te verbieden of er links naar te volgen. Om bijvoorbeeld indexering te blokkeren, voegt u de volgende meta-tag toe:</p><pre> <meta name="robots" content="noindex, nofollow"> </pre><p>Het is belangrijk om te onthouden dat als Google NoIndex ziet vóór JavaScript -rendering, hij deze pagina zal missen. Als u wilt dat de pagina wordt geïndexeerd, gebruikt u geen NoIndex in de broncode.</p><H2>Gebruik van langetermijncaching voor uw Google -site</H2><p>GoogleBot gebruikt actief een cache om het aantal verzoeken te verminderen en bronnen op te slaan. Gebruik de cachingstrategie die rekening houdt met de contentwijziging, bijvoorbeeld het toevoegen van besturingsbedragen aan bestandsnamen.</p><H2>Gestructureerde gegevens op uw Google -website gebruiken</H2><p>Als u gestructureerde gegevens op uw site gebruikt, kunt u JSON-LD genereren met behulp van JavaScript en deze in de pagina introduceren. Zorg er echter voor dat uw implementatie zich niet vergist.</p><H2>Het volgen van de best practices voor webcomponenten op uw Google -website</H2><p>Google ondersteunt webcomponenten. Hij kan echter alleen de inhoud zien die wordt weergegeven bij de rendering. Als u Dom's Shadow of Light Dom gebruikt, zorg er dan voor dat Google alle inhoud kan zien.</p><H2>Correctie van afbeeldingen en luie inhoud laden op uw site op Google</H2><p>Afbeeldingen kunnen veel verkeer kosten en het laden van pagina's vertragen. Pas luie laden toe zodat de afbeeldingen alleen worden geladen wanneer de gebruiker ze nadert. Zorg ervoor dat uw luiheid compatibel is met SEO, volgens de aanbevelingen over dit onderwerp.</p><H2>Ontwerp, rekening houdend met de beschikbaarheid voor uw site in Google</H2><p>Denk bij het maken van uw site niet alleen over zoekmachines, maar ook over gebruikers, inclusief mensen met speciale behoeften, zoals schermlezers of minder krachtige mobiele apparaten. Dit helpt u bij het maken van een site die voor iedereen beschikbaar en handig is.</p><p>Als u vragen heeft over JavaScript -optimalisatie voor uw site of u moet SEO opzetten, neemt u contact op met het SEO.COMPOERTEAM. We helpen graag!</p><p>Contactgegevens: <strong>info@seo.computer</strong>,, <strong>WhatsApp: +79202044461</strong></p><p>ID 71</p> </div> </div> </div> </section> <section id="consultation" class="py-5"> <div class="container"> <div class="form-bg-gradient bor-r-20 my-3 p-4 p-md-5"> <div class="head-title-white text-center">Stuur een aanvraag en wij zorgen voor een adviesgesprek op SEO promotie van uw website</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="QWWxoJX7tVqk4pbsbCzO0MrwF4JPQC7BYVtmEKlW" autocomplete="off"> <div class="col-12 col-xl-3"> <input type="text" name="name" class="form-control form-padding rounded-5" placeholder="uw naam" required=""> </div> <div class="col-12 col-xl-3"> <input type="tel" name="phone" class="form-control form-padding rounded-5" placeholder="Telefoonnummer" 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">Versturen</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">Door het indienen van een aanvraag gaat u akkoord met het privacybeleid</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/nl"> <img src="https://seo.computer/assets/svg/seo_logo.svg" alt="SEO Computer Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google in Moskou" title="SEO Computer Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google in Moskou" 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">Internetmarketing</li> <li>Openingstijden: <span class="workhours" itemprop="openingHours" datetime="Mo-Su">de klok rond</span></li> <li class="norender"> <span itemprop="priceRange" class="pricerange">van 186 EUR</span> <img loading="lazy" aria-hidden="true" width="2048" height="2048" itemprop="image" style="width:unset;height:unset;" class="absolute-bg-from-top__image photo" src="https://seo.computer/uploads/seo-article-1x1/seo-article-10071.webp"> </li> <li class="nav-item mb-2 color-bfbfbf adr"> <span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"><span class="locality" itemprop="addressLocality">Moskou</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 Tarieven">SEO Tarieven</a></li> <li class="nav-item mb-2"><a href="#reviews" class="nav-link p-0 color-bfbfbf" title="SEO Recensies">SEO Recensies</a></li> <li class="nav-item mb-2"><a href="#quiz" class="nav-link p-0 color-bfbfbf" title="SEO Rekenmachine">SEO Rekenmachine</a></li> <li class="nav-item mb-2"><a href="#sales" class="nav-link p-0 color-bfbfbf" title="SEO Promoties">SEO Promoties</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/nl/contact" class="nav-link p-0 color-bfbfbf" title="Contacten">SEO Contacten</a></li> </ul> </div> <div class="col-12 col-xl-3 col-md-6"> <div class="fw-500 fs-20 mb-2">Diensten</div> <ul class="nav flex-column"> <li class="nav-item mb-2"><a href="https://seo.computer/nl/business" class="nav-link p-0 color-bfbfbf" title="Ondernemingen">SEO voor bedrijven</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/nl/type-sites" class="nav-link p-0 color-bfbfbf" title="Soorten sites">SEO voor soorten sites</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/nl/cms" class="nav-link p-0 color-bfbfbf" title="CMS-systemen">SEO voor CMS systemen</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/nl/languages" class="nav-link p-0 color-bfbfbf" title="Talen">SEO voor talen</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/nl/engines" class="nav-link p-0 color-bfbfbf" title="Zoekmachines">SEO voor zoekmachines</a></li> </ul> </div> <div class="col-12 col-xl-3 col-md-6"> <div class="fw-500 fs-20 mb-2">Sociaal netwerk</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="Whatsapp"><i class="fab fa-whatsapp me-1"></i>Whatsapp</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>Deze site is uitsluitend bedoeld voor informatieve doeleinden en is geen openbaar aanbod. Voor nauwkeurige informatie over de geleverde diensten en hun kosten kunt u contact opnemen met de managers van het bedrijf.</p> <a class="text-decoration-none color-bfbfbf" href="https://seo.computer/nl/policy">Privacybeleid</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">Laat een verzoek achter</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="Laat een verzoek achter Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google in Moskou" title="Laat een verzoek achter Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google in Moskou"> <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="QWWxoJX7tVqk4pbsbCzO0MrwF4JPQC7BYVtmEKlW" autocomplete="off"> <div class="modal-body"> <label class="fs-5 text-center fw-bold">Laat een verzoek achter en onze SEO specialist neemt spoedig contact met u op</label> <div class="row"> <div class="col-12"> <input type="text" name="name" class="form-control form-padding my-2" placeholder="uw naam" required> </div> <div class="col-12"> <input type="tel" name="phone" class="form-control form-padding my-2" placeholder="Telefoonnummer" required> </div> </div> </div> <div class="modal-footer justify-content-center"> <button class="btn rounded-5 btn-primary w-100 form-padding" type="submit">Versturen</button> <a href="policy.html" class="text-decoration-none text-dark text-center fs-14">Door gegevens in te dienen, gaat u akkoord met het privacybeleid</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">Kies een taal</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="QWWxoJX7tVqk4pbsbCzO0MrwF4JPQC7BYVtmEKlW" autocomplete="off"> <select class="form-select mb-2" aria-label="Kies een taal" name="language" id="language"> <option selected>Kies een taal</option> <option value="cn" >Versimpeld Chinees) (cn)</option> <option value="en" >Engels (en)</option> <option value="it" >Italiaans (it)</option> <option value="nl" selected >Nederlands (nl)</option> <option value="pl" >Pools (pl)</option> <option value="de" >Duits (de)</option> <option value="tr" >Turks (tr)</option> <option value="fr" >Frans (fr)</option> <option value="jp" >Japans (jp)</option> <option value="id" >Indonesisch (id)</option> <option value="pt" >Portugees (pt)</option> <option value="ru" >Russisch (ru)</option> <option value="es" >Spaans (es)</option> </select> <button type="submit" class="btn btn-primary w-100">Wijziging</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="Succesvol verzonden Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google in Moskou" title="Succesvol verzonden Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google in Moskou" width="160" height="144" class="mb-5"> <div class="h4" style="color: #000;">Succesvol verzonden!</div> <p style="color: #000;">Bedankt, uw sollicitatie is succesvol verzonden! Wij nemen binnenkort contact met u op.</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">Laat een verzoek achter</span> <p class="text-muted mt-1">En onze SEO -specialist neemt in de nabije toekomst contact met u op</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="QWWxoJX7tVqk4pbsbCzO0MrwF4JPQC7BYVtmEKlW" autocomplete="off"> <div class="modal__contents_input"> <input type="text" class="form-control" placeholder="uw naam" name="name" id="name" required /> </div> <div class="modal__contents_input"> <input type="tel" class="form-control phone_input" placeholder="Telefoonnummer" id="phone" name="phone" required /> </div> <div class="modal__contents_input"> <input type="text" class="form-control" placeholder="Uw websiteadres" name="website" id="website" required /> </div> <button type="submit" class="button desctop">Versturen</button> <button type="submit" class="button mobile">Versturen</button> </form> <p class="policy mt-3">Door een aanvraag te verzenden, gaat u akkoord <a href="https://seo.computer/ru/policy">Met een beleid van vertrouwelijkheid</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">Selecteer een stad</div> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Dichtbij"></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="Voer de naam van de stad in..."> </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="Schrijf naar telegram" title="Schrijf naar telegram Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google in Moskou" 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="Schrijf naar telegram Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google in Moskou" title="Schrijf naar telegram Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google in Moskou"> </button> <button class="shareButton wt open" data-bs-toggle="modal" data-bs-target="#SocialModal" data-bs-content="Schrijf naar whatsapp" title="Schrijf naar whatsapp Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google in Moskou" 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="Schrijf naar whatsapp Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google in Moskou" title="Schrijf naar whatsapp Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google in Moskou"> </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">Verbind je met ons</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="#">Schrijven</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 Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google in Moskou" title="Top 100 Fundamentals van JavaScript SEO voor uw site: hoe u zichtbaarheid kunt bieden in Google in Moskou" /> </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('Lees verder'); } else { $('.content_toggle').html('Instorten'); } 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/nl/' + 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: 'nl' }, 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/nl')); }); } else { results.html('<div class="col"><span>Geen resultaten gevonden.</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>