Met de opkomst van
web 2.0 is het gebruik van
AJAX in een stroomversnelling geraakt. Deze techniek is in sommige gevallen zeer bruikbaar. Denk bijvoorbeeld aan het automatisch tonen van zoekresultaten terwijl je aan het typen bent in een zoekveld. Hierdoor kun je sneller zien wat de zoekresultaten zijn en zorgt het gebruik van AJAX ervoor dat de webapplicatie gebruikersvriendelijker wordt. Het gebruik van AJAX kan echter ook nadelige gevolgen hebben.
Er zijn uiteraard nog een groot aantal andere toepassingen denkbaar waarmee de gebruikersvriendelijkheid van webapplicaties kan worden vergroot. Daarbij is er echter nog een tweede reden waarom AJAX in veel projecten word gebruikt: het is cool! Overal verschijnen AJAX-dingetjes als paddestoelen uit de grond - soms nuttig, soms totaal overbodig maar wel 'cool'.
Vooral de laatste categorie brengt risico's met zich mee, met betrekking tot zoekmachines. Hoe makkelijker het wordt om AJAX te gebruiken, hoe meer mensen het zullen gebruiken - en als het erg vaak gebruikt wordt, zullen er problemen ontstaan met zoekmachines. Zoekmachines zoals Google gebruiken zogenaamde 'spiders' die je website afzoeken naar informatie. Deze spiders gaan iedere pagina af en volgen de links die ze tegenkomen, om zo uiteindelijk de gehele website te kunnen indexeren. Het probleem waar ik op doel ontstaat als bepaalde informatie alleen bereikt kan worden als de browser van de bezoeker AJAX ondersteunt.
Denk hierbij bijvoorbeeld aan een kalendertje met evenementen, die met behulp van AJAX de dagen van de geselecteerde maand ophaalt en de dagen met evenementen een bepaald kleurtje geeft. Als iemand op een bepaalde dag klikt, krijgt hij te zien welke evenementen er op die dag staan ingepland. Erg 'cool' natuurlijk, want tijdens het navigeren door het kalendertje zijn geen reloads van de pagina nodig. Google zal hier echter niet mee overweg kunnen, want Google voert geen javascripts uit (en AJAX is afhankelijk van javascript). Het gevolg is dat de evenementen niet worden geïndexeerd door Google, en dat ze dus ook niet in de zoekresultaten voor zullen komen.
Er zijn uiteraard verschillende oplossingen voor dit probleem. Deze bestonden eigenlijk al omdat hetzelfde probleem zich voordeed als een stukje javascript was gebruikt om een menu op te bouwen. (Denk bijvoorbeeld aan DHTML menu's). Een van de oplossingen is om een
Google sitemap te plaatsen. In plaats van door de site te 'spideren' en alle linkjes te volgen, krijgt Google een 'sitemap' aangeboden waarin alle links staan verzameld. Deze sitemap kan bovendien aangeven hoe belangrijk bepaalde pagina's zijn en wat de relatie is tussen de verschillende pagina's op de website. In het genoemde voorbeeld is het dan dus zaak om de evenementen op te nemen in deze sitemap.
Een tweede oplossing (waarvan ik vind dat die zeker niet mag ontbreken) is het plaatsen van noscript-tags in de HTML code. Wat er tussen deze tags staat, wordt namelijk alleen weergegeven als de bezoeker geen javascript ondersteund. Hierdoor zou je dus - onder het kalendertje - en noscript-tag kunnen plaatsen met daarin alle links naar de verschillende evenementen. De bezoeker met javascriptondersteuning ziet hier niks van, maar Google kan nu prima met het kalendertje overweg. De reden waarom ik dit belangrijk vind, is dat deze oplossing niet alleen geldt voor zoekmachines, maar ook voor bezoekers die webbrowsers gebruiken die geen javascript ondersteunen, zoals visueel gehandicapten. Hierdoor wordt je website niet alleen beter geïndexeerd door Google, maar maak je je website ook gebruikersvriendelijker volgens de regels van
drempels weg.
Ik verwacht dat in de nabije toekomst verschillende websites met dit probleem te maken krijgen, aangezien AJAX steeds vaker word ingezet. Wees dus alert als je AJAX implementeert en vraag je steeds af of de informatie ook nog beschikbaar is als de browser van de bezoeker geen javascript ondersteunt. Ik denk dat het veilig is om te zeggen dat meer dan 95% van de internetgebruikers tegenwoordig een browser heeft met javascript ondersteuning, maar dit gaat niet op voor zoekmachines en mensen met een bepaalde lichamelijke beperking. Houd hier dus rekening mee!