Hvad er JavaScript?
JavaScript er et programmeringssprog, der bruges på langt de fleste websites. Alle populære CMS-systemer som eksempelvis WordPress, Joomla, Shopify og Drupal er afhængige af JavaScript for at fungere fuldt ud. Typisk bruges JavaScript til afgrænsede interaktive funktioner, der forbedrer brugeroplevelsen på websitet, men JavaScript kan også bruges til visning af indhold.
JavaScript og SEO går ikke altid hånd i hånd. Google og andre søgemaskiner kan gennemgå JavaScript-filer, men der er ingen garanti for, at de gør det. Årsagen er, at det kræver mange ressourcer at gennemgå og eksekvere JavaScript-filer – og når Google skal gennemgå milliarder af websider hver eneste dag, vil Google naturligt nok gerne spare på ressourcerne.
Undersøgelser viser, at mængden af JavaScript, som Google gennemgår, varierer fra website til website. Det afhænger blandt andet af mængden og typen af JavaScript på websitet. Typisk undlader Google at gennemgå JavaScript, der er meget ressourcetungt, eller som ifølge Googles egen vurdering ikke er nødvendigt at gennemgå for at indeksere indholdet på websitet.
Denne manglende JavaScript-gennemgang er et stort problem, hvis indholdet (især tekst og billeder) på dit website er afhængigt af JavaScript for at blive vist. I det tilfælde risikerer du, at Google ikke kan se dit indhold, og det har naturligt nok store konsekvenser for din synlighed på Google. Risikoen er ganske reel, for det sker faktisk indimellem, at virksomheder, der kontakter os, står med netop det problem, at Google ikke kan se deres indhold på grund af JavaScript.
Gode råd til brug af JavaScript
Ovennævnte faldgruber betyder ikke, at du skal undlade at bruge JavaScript på dit website, men der er en række anbefalinger for brugen af JavaScript, du så vidt muligt skal følge:
- Fjern JavaScript, der ikke bruges. Du kan bruge Google PageSpeed Insights til at identificere hele eller dele af JavaScript-filer, der ikke bruges.
- Formindsk alle JavaScript-filer. Du kan bruge eksempelvis JavaScript Minifier til at formindske JavaScript-filer og derved reducere filstørrelserne.
- Giv Google adgang til alle JavaScript-filer. Du må ikke blokere for Googles adgang til JavaScript-filer via websitets robots.txt-fil.
- Vis indhold uden brug af JavaScript. Du må ikke udvikle et website, hvor JavaScript er påkrævet for visning af indholdet (tekst og billeder).
- Vis indhold uden brugerinteraktioner. Du må ikke skjule indhold og først vise det ved en brugerinteraktion (eksempelvis et klik på en ‘Læs mere’-knap eller et scroll til bunden af siden). Google foretager ikke interaktioner som disse. Du må dog gerne skjule indhold for brugerne og først vise det ved en interaktion, så længe blot indholdet til hver en tid er en del af websitets HTML-kildekode.
Selvom du viser alt indhold uden brug af JavaScript, bør du stadigvæk følge anbefalingerne i punkt 1-3 herover. Ikke mindst fordi det kan have en positiv indflydelse på loadtiden på dit website, hvis du reducerer mængden af JavaScript på websitet.
Kortlægning af JavaScript-problemer
En enkel metode til at undersøge, om Google kan indeksere din tekst, er at søge efter udvalgte tekstuddrag i citationstegn på Google. Hvis dit website fremgår af søgeresultaterne, er det et tegn på, at Google kan læse og indeksere teksten. Typisk kan du nøjes med at undersøge en enkelt side af hver type (eksempelvis forsiden, en kategoriside og en produktside).
Du kan på samme måde undersøge, om Google kan indeksere dine billeder. Gå til Google Billedsøgning og klik på kamera-ikonet til højre i søgefeltet. Efterfølgende kan du uploade eller indtaste webadressen til det billede, du vil undersøge. Vær især opmærksom på billeder og tekst som kræver en brugerinteraktion for at blive vist.
Du kan bruge et værktøj som eksempelvis Web Developer til Google Chrome til at undersøge, hvordan dit website ser ud uden JavaScript. Klik på fanen ‘Disable’ og derefter ‘Disable JavaScript’ og genindlæs til sidst siden. Det kan give en indikation af, hvordan Google i værste fald ser dit website. Indhold, herunder menuer der leder til indholdet, bør kunne vises uden JavaScript.
En sidste god test er at bruge funktionen ‘URL Inspection’ i Google Search Console. Indtast en webadresse fra dit website i søgefeltet øverst i Google Search Console og klik derefter på knappen ‘Test aktiv webadresse’ til højre. Du kan nu se den HTML-kode, som Google ser på dit website og derefter tjekke, om din tekst og dine billeder er en del af HTML-koden.
Løsninger til JavaScript-tunge websites
Der er grundlæggende to måder at eksekvere JavaScript på: client-side rendering (CSR) og server-side rendering (SSR, også kaldet prerendering). Førstnævnte eksekverer JavaScript i browseren, mens sidstnævnte eksekverer JavaScript på din webserver, før websitet sendes til browseren. Der findes mange gode artikler herom på nettet, og her springer vi derfor de tekniske detaljer over.
Almindeligvis eksekveres JavaScript ved brug af CSR, men SSR er faktisk en bedre løsning for din SEO. Dels fordi det forbedrer loadtiden og dermed brugeroplevelsen på dit website, og dels fordi du bruger dine egne serverressourcer på at eksekvere JavaScript, hvorved Google ikke selv behøver at gøre det. SSR er imidlertid en meget ressourcetung løsning, der samtidig er teknisk svær at implementere, og det er årsagen til, at CSR er langt mere udbredt.
Hvis du har problemer med, at Google ikke indekserer dit indhold som følge af JavaScript, er en mulig løsning at skifte fra client-side rendering til server-side rendering. Ulemperne ved sidstnævnte løsning er imidlertid så store, at der typisk findes en bedre løsning: dynamic rendering.
Dynamic rendering er en hybrid af CSR og SSR. I praksis virker det ved, at når en bruger besøger dit website sendes en almindelig CSR-version af websitet, hvor JavaScript eksekveres i brugerens browser. Når en søgemaskine besøger dit website sendes i stedet en statisk SSR-version af websitet, hvor din webserver på forhånd har eksekveret alt JavaScript.
Google anbefaler dynamic rendering på JavaScript-tunge websites og har skrevet en guide her. Der findes flere værktøjer til formålet, heriblandt Prerender.io. Det er vigtigt, at den statiske side, du sender til Google, rummer det samme indhold som det, du sender til almindelige brugere. Hvis indholdet ikke er identisk betegnes det som cloaking – en metode der har til formål at manipulere søgemaskinerne.
Skader JavaScript dit website?
Henning Madsen præsenterer Quick JavaScript Switcher i nedenstående video. Det er et brugbart tool, når du skal se om dit JavaScript website påvirker din synlighed på Google. Det er et simpelt plugin, der hurtigt giver dig overblik over hvilke dele af siden, der er udfordret i forhold til SEO. Se videoen her: