Vad är JavaScript?
JavaScript är ett programmeringsspråk som används på de allra flesta webbplatser. Alla populära CMS-system som WordPress, Joomla, Shopify och Drupal är beroende av JavaScript för att fungera fullt ut. Vanligtvis används JavaScript för begränsade interaktiva funktioner som förbättrar användarupplevelsen på webbplatsen, men JavaScript kan också användas för att visa innehåll.
JavaScript och SEO inte alltid går hand i hand. Google och andra sökmotorer kan söka igenom JavaScript-filer, men det finns ingen garanti för att de gör det. Skälet är att det tar mycket resurser att söka igenom och köra JavaScript-filer - och när Google måste söka igenom miljarder webbsidor varje dag vill de naturligtvis spara resurser.
Studier visar att mängden JavaScript som Google granskar varierar från webbplats till webbplats. Detta beror bland annat på mängden och typen av JavaScript på webbplatsen. Vanligtvis granskar Google inte JavaScript som är resurskrävande eller som Google har fastställt inte är nödvändigt för att indexera innehållet på webbplatsen.
Denna brist på JavaScript-granskning är ett stort problem om innehållet (särskilt text och bilder) på din webbplats är beroende av JavaScript för att visas. I så fall riskerar du att Google inte ser ditt innehåll, vilket naturligtvis har stor inverkan på din synlighet på Google. Risken är mycket verklig, eftersom företag som kontaktar oss ibland står inför problemet att Google inte kan se deras innehåll på grund av JavaScript.
Tips för att använda JavaScript
Dessa fallgropar innebär inte att du inte bör använda JavaScript på din webbplats, men det finns ett antal rekommendationer för användningen av JavaScript som du bör följa i största möjliga mån:
- Ta bort JavaScript som inte används. Du kan använda Google PageSpeed Insights för att identifiera hela eller delar av JavaScript-filer som inte används.
- Minska alla JavaScript-filer. Du kan till exempel använda följande JavaScript Minifier för att krympa JavaScript-filer och därmed minska filstorleken.
- Ge Google tillgång till alla JavaScript-filer. Du får inte blockera Googles åtkomst till JavaScript-filer via filen robots.txt.
- Visa innehåll utan att använda JavaScript. Du får inte utveckla en webbplats där JavaScript krävs för att visa innehåll (text och bilder).
- Visa innehåll utan användarinteraktioner. Du får inte dölja innehåll utan endast visa det när användaren interagerar (t.ex. genom att klicka på en "Läs mer"-knapp eller genom att bläddra ner till sidans botten). Google gör inte sådana interaktioner. Du kan dock dölja innehåll för användarna och endast visa det vid interaktion, så länge som innehållet hela tiden är en del av webbplatsens HTML-källkod.
Även om du visar allt innehåll utan att använda JavaScript bör du ändå följa rekommendationerna i punkterna 1-3 ovan. Inte minst eftersom en minskning av mängden JavaScript på din webbplats kan ha en positiv inverkan på webbplatsens laddningstid.
Översikt över JavaScript-problem
Ett enkelt sätt att kontrollera om Google kan indexera din text är att söka efter utvalda textutdrag inom citationstecken på Google. Om din webbplats visas i sökresultaten är det ett tecken på att Google kan läsa och indexera texten. Vanligtvis kan du bara undersöka en enda sida av varje typ (t.ex. förstasidan, en kategorisida och en produktsida).
På samma sätt kan du kontrollera om Google kan indexera dina bilder. Gå till Google Image Search och klicka på kamerasymbolen till höger i sökfältet. Ladda sedan upp eller ange webbadressen till den bild du vill kontrollera. Var särskilt uppmärksam på bilder och text som kräver användarinteraktion för att visas.
Du kan använda ett verktyg som Web Developer för Google Chrome för att se hur din webbplats ser ut utan JavaScript. Klicka på fliken "Inaktivera" och sedan på "Inaktivera JavaScript" och ladda om sidan. Detta kan ge dig en indikation på hur Google kommer att se din webbplats i värsta fall. Innehåll, inklusive menyer som leder till innehåll, bör kunna visas utan JavaScript.
Ett sista bra test är att använda funktionen URL-inspektion i Google Search Console. Skriv in en URL från din webbplats i sökrutan högst upp i Google Search Console och klicka sedan på knappen "Testa aktiv URL" till höger. Du kan nu se den HTML-kod som Google ser på din webbplats och kontrollera om din text och dina bilder ingår i HTML-koden.
Lösningar för JavaScript-tunga webbplatser
Det finns i princip två sätt att köra JavaScript: rendering på klientsidan (CSR) och server-sidåtergivning. (SSR, även kallad Förberedelser). Den förstnämnda utför JavaScript i webbläsaren, medan den sistnämnda utför JavaScript på din webbserver innan webbsidan skickas till webbläsaren. Det finns många bra artiklar om detta på nätet, så vi hoppar över de tekniska detaljerna här.
Vanligtvis körs JavaScript med CSR, men SSR är faktiskt en bättre lösning för din SEO. Dels för att det förbättrar laddningstiden och därmed användarupplevelsen på din webbplats, dels för att du använder dina egna serverresurser för att köra JavaScript, så Google behöver inte göra det själv. SSR är dock en mycket resurskrävande lösning som dessutom är tekniskt svår att genomföra, vilket är anledningen till att CSR används i mycket större utsträckning.
Om du har problem med att Google inte indexerar ditt innehåll på grund av JavaScript är en möjlig lösning att byta från rendering på klientsidan till rendering på serversidan. Nackdelarna med den sistnämnda lösningen är dock så stora att det vanligtvis finns en bättre lösning: dynamisk återgivning.
Dynamisk rendering är en blandning av CSR och SSR. I praktiken fungerar det genom att skicka en vanlig CSR-version av webbplatsen när en användare besöker din webbplats, genom att köra JavaScript i användarens webbläsare. När en sökmotor besöker din webbplats skickas istället en statisk SSR-version av webbplatsen, där din webbserver har utfört allt JavaScript i förväg.
Google rekommenderar dynamisk rendering på JavaScript-tunga webbplatser och har en guide har skrivits här. Det finns flera verktyg för detta ändamål, bland annat följande Prerender.io. Det är viktigt att den statiska sidan som du skickar till Google innehåller samma innehåll som den du skickar till vanliga användare. Om innehållet inte är identiskt kallas detta för cloaking - en metod som är utformad för att manipulera sökmotorerna.
Skadar JavaScript din webbplats?
Henning Madsen presenterar Quick JavaScript Switcher i videon nedan. Det är ett användbart verktyg när du vill se om din JavaScript-webbplats påverkar din synlighet på Google. Det är ett enkelt insticksprogram som snabbt ger dig en överblick över vilka delar av sidan som är utmanade när det gäller SEO. Se videon här: