Check je HTML code een must voor web optimalisatie
Dit onderwerp is het minst besproken onder de web ontwikkelaars.
Dit terwijl ik denk dat juist dit onderwerp uitermate belangrijk
is en vaak wordt onderschat door dezelfde web ontwikkelaars.
Pak bijvoorbeeld een willekeurige HTML checker en ontdek hoeveel
fouten en waarschuwingen in relatie tot de HTML code een simpele
web pagina kan bevatten.
De meest gemaakt fout bij dit onderwerp is dat de meeste
ontwikkelaars en eindgebruikers de pagina's op hun website
testen met een web browser van Microsoft of Netscape en vaak
constateren dat dit werkt. En dit klopt inderdaad. De meeste
pagina's zullen werken ondanks dat ze vele fouten die ze bevatten.
De klant ziet dit ook en is vaak uitermate tevreden over het
uiterlijk van zijn site.
Maar weet je ook waarom het bijna altijd werkt? Het antwoord
is dat de beide browsers (zowel Netscape als Microsoft) zo
zijn ontworpen dat deze de meeste fouten welke voorkomen in
de HTML code van webpagina's automatisch negeren. Dit is namelijk
het primaire doel van een web browser hoe gek dit ook mag
klinken! Ze moeten zoveel mogelijk web pagina's kunnen openen
zonder dat de gebruiker last heeft van fouten in de HTML code.
Het gaat de gebruiker er immers om zoveel mogelijk pagina's
te kunnen bekijken, ondanks dat er fouten inzitten (hoe zou
je het vinden dat 80% van de pagina's niet geopend kan worden
door fouten?). Overigens doet Microsoft het op dit gebied
beter dan Netscape.
Bekijk dit onderwerp nu eens vanuit het perspectief van een
zoekmachine. Hierbij gaat het om de gebruiker (dat zijn wij
dus) de juiste informatie te bieden waarbij het ook handig
is als deze geopend kunnen worden door de gebruiker. En juist
hier ligt het verschil met de web browsers. Een zoekmachine
weet immers niet welke browser ze op bezoek krijgen op het
moment dat de pagina wordt geindexeerd. Een pagina met fouten
in de HTML loopt een grotere kans dat deze niet geopend kan
worden in een willekeurige web browser of tegenwoordig middels
een webservice. Hoe zou jij de algorithmes van zoekmachine
maken als je altavista was met dit in je achterhoofd?
Daarnaast kan foutieve HTML code resulteren in het feit
dat de informatie van het document verkeerd wordt geindexeerd.
Zoals reeds eerder besproken wordt er bij het indexeren gebruik
gemaakt van filters om de woorden in een pagina te filteren
uit de HTML code. Een simpel voorbeeld, welke overigens regelmatig
voorkomt, is dat er een quote (= " teken) wordt vergeten
in de a href tag wat uiteindelijk kan resulteren in een verkeerde
opname in de collectie, waardoor bijvoorbeeld de samenvatting
van het document er HTML achtig eruit komt te zien omdat daar
pas de sluit " wordt gevonden door het filteren.
<a href="badexample.html>Just a link</a>
(= foutieve link waarbij de " is vergeten)
Overigens zal in dit geval zal de webbrowser toch de link
tonen en de fout negeren en zodoende wordt vaak deze fout
over het hoofd gezien. Let bij het gebruik van Content Management
Systemen (CMS) erop dat het systeem HTML code m.b.v. invoer
velden aanmaakt. Deze invoervelden dienen dan te worden 'geescaped'
door het CMS zelf. Hierdoor komt er een " teken in de
HTML code als " te staan en zal door de filter van
de zoekmachine correct wordt behandeld. Vaak worden de ""
gebruikt om bepaalde zinsnede's te benadrukken. Denk bijvoorbeeld
aan een titel van een pagina. Als deze quots niet vertaald
worden naar de " teken heb je kans dat deze fout
doorwerkt in de daadwerkelijke HTML code. Voor deze vertaling
dient het CMS zorg te dragen.
Ook een veel voorkomende fout is dat bepaalde tags, zoals
de <head> tag niet worden afgesloten of nog sterker
dat bepaalde noodzakelijke tags volkomen worden vergeten of
juist dubbel voorkomen. Zorg ervoor dat altijd de basis structuur
van HTML in een document aanwezig is en dat HTML tags ten
alle tijden worden gesloten.
De meeste HTML tools (zoals dreamweaver) ondersteunen / maken
correcte HTML code en bevatten soms een HTML checker. Mijn
persoonlijke ervaring is dat deze fouten voornamelijk optreden
in de content management systemen en dynamische websites.
Vaak lijkt het erop dat de ontwikkelaars in de debesbetreffende
ontwikkelomgeving redelijk thuis zijn (bijvoorbeeld Lotus
Notes en Cold Fusion) maar van de structuur van een HTML pagina
weinig afweten. Dit komt omdat de desbetreffende ontwikkelomgeving
HTML code automatisch aanmaakt. Ga ervan uit dat deze HTML
code meestal niet optimaal is en zorg ervoor voordat een dynamische
HTML website in produktie wordt genomen door een HTML checker
is gegaan. Dit voorkomt later veel "ellende" bij
het implementeren van een zoekmachine.
Voor het controleren van HTML code zijn verscheidene produkten
op de markt. Persoonlijk heb ik een voorkeur voor de CSE
HTML validator waar je ook een freeware versie kan downloaden.
De pro versie beschikt echter over veel meer functionaliteit
welke is aan te bevelen als je veel websites maakt voor derden.
Mocht je nog nooit met zo'n checker hebben gewerkt dan is
dit ten zeerste aan te bevelen en schrik niet als je veel
errors en warnings ziet.
Mocht je het nog niet weten dan kan je de standaarden voor
correcte html code vinden op de website van W3C.
|