Hur kommer jag runt problemet med JavaScript-länkar som SiteSeeker inte följer?

2012-12-20

Kunskapsdatabasen, Indexering

Länkar som är inbäddade i JavaScript följs inte alltid av SiteSeeker och de globala sökmotorerna. Har webbplatsen uteslutande JavaScript-länkar kan webbplatsen därför bli osynlig för omvärlden.

Det kan dessutom bli svårt och ibland omöjligt för funktionshindrade att utnyttja webbplatsen om de använder speciella webbläsare som inte hanterar JavaScript. Andra användare som av olika skäl inte använder JavaScript drabbas också. En sådan grupp är de som av säkerhetsskäl inte har JavaScript aktiverade då de bedöms utgöra en säkerhetsrisk.

Om du är osäker på om det används JavaScript på din webbplats kan du undersöka det genom att slå av JavaScript i inställningarna för din webbläsare. Då kan du direkt se hur väl din webbplats fungerar för sökmotorerna och för ovanstående användare. Undersök nu om du kan följa länkarna på din webbplats som normalt. Om du inte kan följa länkarna är det möjligt att SiteSeeker inte hittar alla webbsidor. Webbsidor och dokument utan länkar till dem kan inte indexeras och därmed inte heller hittas vid sökning.

Lösning 1

En bra lösning på samtliga dessa problem är att ange länkarna i klartext utöver JavaScript-varianten. Här följer ett exempel där JavaScriptet som producerar en snygg meny kompletteras med motsvarande "vanliga" länkar i klartext:

<script language="JavaScript1.2" src="menyer.js"></script>
<noscript>
   <a href="menyval-1.html">Nyheter</a>
   <a href="menyval-2.html">Produkter</a>
   ...
   <a href="menyval-n.html">Arkiv</a>
</noscript>

Genom tillägget av länkar på detta sätt förblir webbplatsen precis likadan som tidigare för de användare som har JavaScript aktiverade i webbläsaren. Skillnaden är att länkarna också blir synliga och fungerar för alla som inte har JavaScript aktiverade i webbläsaren, och att SiteSeeker och de globala sökmotorerna kan indexera alla dokument.

Lösning 2

Alternativt, om JavaScriptet finns i href-argumentet i länken kan det med fördel flyttas till onclick-argumentet och href-argumentet sättas till URL:en i klartext:

<a href="javascript:window.open('http://exempel.se/a.htm')">Öppna sida</a>

ersätts med:

<a href="http://exempel.se/a.htm" onclick="window.open('http://exempel.se/a.htm');return false;">Öppna sida</a>

Lösning 3

Ett annat, mindre bra, sätt att delvis lösa problemet är att göra en XML-sitemap eller en speciell webbsida med länkar till alla webbsidor och dokument som annars endast länkas till med JavaScript-länkar. På så sätt kan SiteSeeker och andra sökmotorer hitta webbsidorna och dokumenten, men det gör inte webbplatsen mer användbar för vanliga användare.