Fundamentals of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren

Fundamentals of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren

Vermoedt u dat problemen met JavaScript de weergave van uw inhoud in de Google -zoekmachine kunnen blokkeren? Ontdek hoe u de problemen van JavaScript kunt elimineren met behulp van onze gids om problemen op te lossen.

JavaScript is een belangrijk onderdeel van het webplatform, omdat het veel functies biedt die van internet een krachtig applicatieplatform maken. Om uw webtoepassingen te maken met behulp van JavaScript beschikbaar in de Google -zoekmachine, kan u helpen nieuwe gebruikers aan te trekken en de bestaande te retourneren wanneer ze op zoek zijn naar inhoud die uw webtoepassing aanbiedt.

Hoewel Google Search JavaScript start met behulp van de huidige versie van Chromium, zijn er verschillende dingen die kunnen worden geoptimaliseerd.

Dit leiderschap beschrijft hoe Google zoektocht JavaScript en de best practices om de zichtbaarheid van de JavaScript -applicaties van uw site in Google te verbeteren.

Hoe Google JavaScript verwerkt op uw Google -website

Google verwerkt de JavaScript -toepassing van uw site in drie hoofdfasen:

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

GoogleBot plaatst pagina's in de wachtrij voor Kraling en rendering. Soms is het niet duidelijk wanneer de pagina wacht op Kraling en bij het renderen. Wanneer GoogleBot de URL uit de Crowring -lijn haalt, controleert hij eerst of de scan is toegestaan. GoogleBot leest het Robots.txt -bestand.

Als de pagina is geblokkeerd voor Kralise, mist GoogleBot zijn verzoek en Google maakt JavaScript niet op de geblokkeerde pagina's van uw site.

JavaScript -optimalisatie om naar uw site te zoeken in Google

Soms gebruiken de pagina's van JavaScript -applicaties de app Model, waarbij de initiaal de inhoud niet bevat, en Google moet JavaScript uitvoeren om de werkelijke inhoud te zien die JavaScript genereert.

GoogleBot plaatst alle pagina's in de renderinglijn, als alleen de robots Methag of de kop geven niet aan dat de pagina niet moet worden geïndexeerd. De pagina kan een paar seconden in lijn blijven, maar dit kan meer tijd kosten. Nadat Google -bronnen het toelaten, wordt de pagina weergegeven met behulp van het chroom zonder hoofd en JavaScript.

Hoe u unieke krantenkoppen en meta-descripties voor uw site in Google kunt instellen

Unieke en beschrijvende elementen van en meta-beschrijving helpen gebruikers snel het beste resultaat voor hun doel bij de zoekopdracht te kiezen. U kunt JavaScript gebruiken om de meta-beschrijving in te stellen of te wijzigen, evenals een element van <Bitle>.</p><H3>Maak de code compatibel met Google voor uw site</H3><p>Browsers bieden veel API's en JavaScript is een snel ontwikkelende taal. Google heeft beperkingen op welke API en JavaScript -mogelijkheden het ondersteunt. Om ervoor te zorgen dat uw code compatibel is met Google, volgt u onze aanbevelingen om problemen met JavaScript op te lossen.</p><H2>Hoe u HTTP -statuscodes kunt gebruiken voor uw Google -site</H2><p>GoogleBot gebruikt HTTP -statuscodes om te bepalen wat er mis is gegaan bij het kraaien van de pagina van uw site.</p><p>Om GoogleBot te informeren dat de pagina niet kan worden gescand of geïndexeerd, gebruikt u begrijpelijke statuscodes zoals 404 voor niet -gevonden pagina's of 401 voor pagina's die worden beschermd door wachtwoord.</p><H3>Hoe u zachte 404 fouten in toepassingen met één pagina (SPA) kunt vermijden</H3><p>In applicaties van één pagina met clientweergave wordt routering vaak geïmplementeerd met behulp van clientroutering. In dit geval kan het gebruik van correcte HTTP -statuscodes onmogelijk of ongepast zijn. Gebruik de volgende strategieën om zachte 404 -fouten bij het gebruik van de rendering van de klant en het brullen te voorkomen:</p><ul><li>Gebruik JavaScript Redirect naar de URL, waarvoor de server code 404 ontmoet (bijvoorbeeld /niet-gevonden).</li><li>Voeg de <meta name = "robots" content = "noindex" toe> op pagina's met fouten met behulp van JavaScript.</li></ul><H2>History API gebruiken voor uw Google -site</H2><p>Google kan uw links alleen vinden in <a> elementen met een HREF -kenmerk.</p><p>Voor applicaties van één pagina met clientweergave, gebruikt u de History API om routing te implementeren tussen verschillende ideeën over uw webtoepassing. Zorg ervoor dat GoogleBot uw URL's kan verwerken en extraheren zonder URL -fragmenten te gebruiken om verschillende inhoud te downloaden.</p><H2>De juiste implementatie van de tag rel = "canonical" voor uw site in Google</H2><p>Hoewel het niet wordt aanbevolen om JavaScript te gebruiken om de tag rel = "canonical" te introduceren, is dit mogelijk. Google Search vindt de ingevoerde canonieke URL bij het weergeven van de pagina.</p><H2>Hoe u robots metathes voor uw Google -site correct kunt gebruiken</H2><p>U kunt de pagina -indexering van pagina's voorkomen of de links volgen via de Robots Methag. Als u bijvoorbeeld de volgende metatheg aan het begin van de pagina toevoegt, kunt u de indexatie van de pagina in Google blokkeren:</p><p><meta name = "robots" conte = "noIndex, nofollow"></p><p>Het gebruik van JavaScript om robots methag toe te voegen aan de pagina of de inhoud ervan is mogelijk, maar het is belangrijk om te onthouden dat Google de pagina niet mogelijk maakt of indexeert als de noIndex -tag al aanwezig is in de pagina -code.</p><H2>Gebruik van langetermijncaching voor uw Google -site</H2><p>GoogleBot is actief cachingpagina's om netwerkverzoeken en het gebruik van bronnen te verminderen. Gebruik de vingerafdrukstrategie om problemen met de verouderde JavaScript- of CSS -bronnen te voorkomen om unieke inhoud te creëren.</p><H2>Hoe u gestructureerde gegevens kunt gebruiken op uw Google -website</H2><p>Wanneer u gestructureerde gegevens op de pagina's van uw site gebruikt, kunt u JavaScript gebruiken om JSON-LD te genereren en op een pagina te implementeren. Zorg ervoor dat u uw implementatie hebt getest om mogelijke problemen te voorkomen.</p><H2>Hoe u de best practices voor webcomponenten op uw Google -website volgt</H2><p>Google ondersteunt webcomponenten. Bij het weergeven van de Google -pagina "flatteert" de inhoud van Shadow Dom en Light Dom. Dit betekent dat Google alleen inhoud kan zien die zichtbaar is in de mager. Om ervoor te zorgen dat Google uw inhoud kan zien, gebruikt u de Rich Results Test Tool of de URL Check -tool en bekijk de Lean.</p><H2>Correctie van afbeeldingen en luie inhoud laden voor uw site in Google</H2><p>Afbeeldingen kunnen de doorvoer aanzienlijk laden en de prestaties beïnvloeden. Een goede strategie is het gebruik van luie laden om afbeeldingen alleen te laden wanneer de gebruiker ze gaat zien. Zorg ervoor dat uw implementatie van luie laden overeenkomt met de aanbevelingen van Google.</p><H2>Hoe u uw site kunt ontwerpen voor toegankelijkheid in Google</H2><p>Maak pagina's voor gebruikers, niet alleen voor zoekmachines. Wanneer u een site ontwikkelt, houdt u rekening met de behoeften van uw gebruikers, inclusief degenen die misschien geen browsers gebruiken die JavaScript ondersteunen (bijvoorbeeld mensen die de programma's gebruiken voor het lezen van het scherm of minder krachtige mobiele apparaten).</p><p>Een van de eenvoudige manieren om de beschikbaarheid van de site te testen, is om deze te bekijken in een browser met een verbroken JavaScript of een tekstbrowser te gebruiken, zoals Lynx. Het bekijken van de site in de tekstmodus helpt ook om een andere inhoud te identificeren die moeilijk kan zijn voor Google, bijvoorbeeld een tekst die in de afbeelding is ingebouwd.</p><p>Voor eventuele problemen met de SEO van uw site kunt u contact opnemen met de SEO -metgezel <strong>CEO</strong> Door E -Mail <a href="mailto:info@seo.computer">info@seo.computer</a> of via WhatsApp op nummer +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">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="kD2vXZff7paeVApDSWR059YeaJk2CECMJGd3pF19" 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 of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren in Moskou" title="SEO Computer Fundamentals of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren 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-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">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 of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren in Moskou" title="Laat een verzoek achter Fundamentals of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren 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="kD2vXZff7paeVApDSWR059YeaJk2CECMJGd3pF19" 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="kD2vXZff7paeVApDSWR059YeaJk2CECMJGd3pF19" 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="nl" selected >Nederlands (nl)</option> <option value="en" >Engels (en)</option> <option value="fr" >Frans (fr)</option> <option value="de" >Duits (de)</option> <option value="id" >Indonesisch (id)</option> <option value="it" >Italiaans (it)</option> <option value="jp" >Japans (jp)</option> <option value="pl" >Pools (pl)</option> <option value="pt" >Portugees (pt)</option> <option value="ru" >Russisch (ru)</option> <option value="es" >Spaans (es)</option> <option value="tr" >Turks (tr)</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 of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren in Moskou" title="Succesvol verzonden Fundamentals of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren 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="kD2vXZff7paeVApDSWR059YeaJk2CECMJGd3pF19" 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 of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren 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 of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren in Moskou" title="Schrijf naar telegram Fundamentals of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren 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 of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren 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 of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren in Moskou" title="Schrijf naar whatsapp Fundamentals of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren 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 of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren in Moskou" title="Top 100 Fundamentals of JavaScript SEO: hoe u de zichtbaarheid van uw site in Google kunt verbeteren 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>