10 basisregels voor zoekmachinevriendelijk webbouwen

10 Webdesign usability zondenZoekmachine optimalisatie heeft niets met techniek te maken. Niet meer dan het openen van een winkel te maken heeft met zorgen voor deuren en ramen bij het bouwen. In beide gevallen begint het echte werk pas na het voldoen aan de basisregels. Daarom zet ik nu de 10 basisregels voor zoekmachinevriendelijk webbouwen op een rij.

Zoekmachinevriendelijk bouwen is zorgen dat je geen domme fouten maakt. Fouten waardoor een zoekmachine je webpagina’s niet kan vinden en begrijpen (zie ook de werking van Google). Pas als een website zoekmachinevriendelijk is, kun je aan de echte zoekmachine optimalisatie beginnen.

Wanneer ik een vraag krijg over zoekmachine optimalisatie, zal ik voortaan eerst naar dit stuk verwijzen. Dit zijn de 10 regels:

  1. Geen introductie / splash pagina
  2. Geen (i)frames
  3. Alle content via gewone links te bereiken
  4. Geen content in Word, PDF, of…
  5. Geen navigatie in plaatjes, Flash of Javascript
  6. Geen tekst in plaatjes of Flash
  7. Mooie URL’s (webadressen)
  8. Nette broncode (HTML & CSS)
  9. Titels (
  10. Elke pagina op 1 URL te bereiken

We beginnen met de echte basis:

1. Geen introductie / splash pagina

Een verschijnsel uit de jaren ’90 dat soms opeens weer opduikt. Geheel ten onrechte. Er is nooit een goede reden om je gebruikers te dwingen eerst op “skip intro” of “naar de website” te klikken, voordat ze krijgen waarvoor ze eigenlijk kwamen.

Ook het gebruiken van doelgroep ingangen is wat mij betreft een slecht idee. Vaak is het moeilijk voor mensen om te bepalen in welke doelgroep ze vallen. Of past de doelgroep ingang gewoon helemaal niet bij de taak die ze op dat moment hebben.

Doelgroep ingangen bij ziekenhuizen

Voor zoekmachines is het erg nadelig dat alle content dieper weggestopt is achter een “dode” pagina. Zorg dus dat je op je homepage altijd directe ingangen hebt naar nuttige content!

Voorbeeld in het wild: suggesties welkom!

2. Geen (i)frames

Laten we er kort en helder over zijn: frames zijn verboden. iFrames zijn in sommige gevallen nodig, maar nooit voor het weergeven van je eigen content. Er is altijd een technische oplossing die beter is dan iFrames.
Mocht je wat motivatie nodig hebben waarom frames zo ontzettend verboden zijn, lees dan deze paragraaf.

3. Alle content via gewone links te bereiken

Content van Tocasa alleen met zoekmachine bereikbaarHet grootste en meest voorkomende technische probleem is wanneer webpagina’s alleen via een zoekmachine te benaderen zijn. Je moet bijvoorbeeld eerst met een dropdown menu een keuze maken en op “submit” klikken, voordat de pagina’s verschijnen.

Een voorbeeld hiervan is Tocasa, waar je kunt zoeken naar vakmannen. Om dat te doen moet je een zoekveld invullen, en dat doet Google natuurlijk niet.

Een oplossing voor Tocasa zou zijn om een soort webgids (directory) op te bouwen van alle soorten vakmannen. Daar kan de bezoeker dan op zijn gemak doorheenklikken, en dat kan de zoekmachine dan ook.

Gouden Gids heeft een dergelijke oplossing:

Gouden Gids maakt het doorbladerbaar

4. Geen content in Word, PDF, of…

Zoekmachines (met name Google) lezen wel Word en PDF bestanden, maar ze worden niet vaak hoog in de zoekresultaten geplaatst. Bovendien kunnen zoekmachines moeilijker bepalen waar zulke bestanden over gaan, omdat de gebruikelijke structuur (titel, koppen) ontbreekt.

Het beste is om voor elk bestand (in welk alternatief formaat dan ook) een HTML alternatief te hebben.

5. Geen navigatie in plaatjes, Flash of Javascript

Zoekmachines lezen alleen gewone tekst. Als je navigatie werkt met Flash om bijvoorbeeld mooie knoppen of animaties te kunnen tonen, kan de zoekmachine niet weten wat er eigenlijk in de navigatie staat.
Wanneer je plaatjes gebruikt, kan de zoekmachine de links wel volgen, maar niet bepalen waarnaar elke link eigenlijk wijst. De ALT tekst geeft dan wel een hint, maar die weegt niet zo zwaar als een gewone tekst.
Voorbeeld in het wild: suggesties welkom!

Javascript wordt nog vaak gebruikt om uitklapmenu’s te maken. De zoekmachine kan het gehele menu dan niet zien, en weet dus niet welke webpagina’s er te vinden zijn. Suckerfish is een methode om zonder Javascript toch mooie uitklapmenu’s te maken.
Voorbeeld in het wild: suggesties welkom!

6. Geen tekst in plaatjes of Flash

Hetzelfde geldt natuurlijk voor de teksten op je website. Ook die moeten altijd “gewoon” in de HTML code te vinden zijn. En ook hier is de ALT tekst als alternatief niet genoeg. De zoekmachine kent daaraan namelijk minder waarde toe dan aan gewone tekst.

Voorbeeld in het wild: suggesties welkom!

7. Mooie URL’s (webadressen)

Mensen en zoekmachines houden van leesbare en korte URL’s. Die zijn makkelijk te begrijpen. Hoe het dus niet moet:

Aan deze URL’s kun je niet zien waar de pagina over gaat. Als je nog meer variabelen (de stukjes achter ? en &) gebruikt, zal de zoekmachine zelfs denken dat je site geen pagina’s bevat, maar ook een zoekmachine is. Dat lijkt te gebeuren als er meer dan 4 variabelen in de URL worden meegegeven.

Wat ook vaak gebeurt is dat de sessie ID in de URL wordt meegegeven.

Hierdoor krijgt elke bezoeker bij elke pagina een andere URL. Als de zoekmachine langskomt, ziet die dus alleen maar nieuwe pagina’s, en die scoren nooit goed in de zoekresultaten.
Voorbeeld in het wild: de webwinkels van Store.nl(die verder wel erg gebruiksvriendelijk zijn):

Sessie ID in de URL bij Store.nl

Hoe het wel moet? Het mooiste is als je URL’s ook laten zien hoe de website gestructureerd is:

8. Gebruik “nette” broncode (HTML & CSS)

Zoekmachines gebruiken webstandaarden om de broncode van webpagina’s te lezen. Als jouw website zich niet aan die standaarden houdt, wordt het extra moeilijk voor de zoekmachine.

Verder moet je broncode zo min mogelijk CSS en Javascript bevatten. In de praktijk betekent dat, dat je zonder programmeerkennis de broncode moet kunnen lezen, en toch begrijpen waar de website over gaat.
Voorbeeld in het wild: Becam (zie ook mijn artikel over de toegankelijkheid van Becam)

Idealiter kun je de broncode valideren: je checkt dan of je aan de standaard voldoet. Dit kun je gerust als eis bij de webbouwer neerleggen!

9. Gebruik titels (<title>) en headings (<H1>, <H2>, <H3>)

Pagina's zonder eigen titel bij IENS.nlIn HTML is het mogelijk om aan te geven wat de titel en de koppen op een webpagina zijn. De titel staat altijd binnen <title> tags. Die zie je dan ook terug in je webbrowser in de titelbalk. En in de zoekresultaten wordt de titel altijd getoond, het is daarmee het belangrijkste element voor zoekmachine optimalisatie!

Dit betekent dus ook dat elke pagina een eigen titel heeft. Soms zie je dat elke pagina de titel van het bedrijf draagt, maar dan kan de zoekmachine niet bepalen waar al die pagina’s over gaan.
Voorbeeld in het wild: Op IENS.nl (zie het plaatje) kun je zien dat elk restaurant als titel heeft: “Restaurant”. De zoekmachine weet dan natuurlijk niet om welk restaurant het gaat…

De koppen op een pagina geef je aan door “headings” te gebruiken. Als het goed is heeft een pagina één H1 kop: dat is de belangrijkste dus die komt vaak overeen met de pagina titel. De subkoppen op de pagina worden dan tussen H2 tags geplaatst, en nog kleinere koppen in H3 tags. De basisregels in dit artikel staan dan ook allemaal tussen H2 tags.

10. Elke pagina op 1 URL te bereiken

Het komt voor dat de inhoud van een webpagina verandert, zonder dat de URL (het webadres) verandert. Soms wordt de inhoud in de broncode wel getoond, maar pas aan de gebruiker getoond als er een bepaalde actie plaatsvindt.

In veel gevallen zal de zoekmachine alleen de eerste inhoud van de pagina opslaan. De andere content wordt simpelweg niet gevonden, omdat er geen aparte URL voor is. Als iets geen URL heeft, bestaat het niet!

Nog vaker komt het voor dat 1 pagina op meerdere URL’s te bereiken is. Dit gebeurt bijvoorbeeld bij veel sites doordat zowel www.domein.nl als domein.nl te bereiken is. Ook zorgen sommige CMS’en ervoor dat een pagina die op meerdere plaatsen gepubliceerd wordt, ook elke keer een andere URL krijgt. Of de printervriendelijke versie heeft een eigen URL, waardoor elke pagina op de website twee keer te vinden is.

Bij Netters vind je een uitgebreider artikel met voorbeelden over dit fenomeen genaamd “Duplicate content“.

Conclusie & meer voorbeelden graag!

Als je site aan deze voorwaarden voldoet, is hij zoekmachinevriendelijk. Dat is iets heel anders dan geoptimaliseerd. Een veelgehoorde klacht onder zoekmachine optimalisatie experts is dat ze 90% van hun tijd kwijt zijn met het opheffen van blokkades, dus het zoekmachinevriendelijk maken.

Laten we zorgen dat die experts voortaan gewoon hun werk kunnen doen. De echte optimalisatie dus…

In dit artikel zijn nog wat voorbeelden nodig, suggesties daarvoor zijn welkom. Die hoor ik heel graag in de comments! Als het een goed voorbeeld is, zal ik het verwerken in het artikel, zodat we een goed overzicht hebben van wat zoekmachinevriendelijk webbouwen minimaal inhoudt.
Ook suggesties voor aanvullingen zijn welkom, misschien ben ik nog dingen vergeten?

33 gedachten over “10 basisregels voor zoekmachinevriendelijk webbouwen

  1. Arjan

    Bij puntje vijf zou ik graag een kanttekening willen maken. Als je bijvoorbeeld een logo (dat is dus een afbeelding) hebt, dan is het ahndig om daar een link aan vast te koppelen naar de beginpagina. Het is dan van belang goede alt-teksten te gebruiken, zodat een zoekmachine en blinde gebruikers weten wat voor afbeelding het is.

    Puntje acht en negen zou ik vervangen door iets als ‘houd structuur en presentatie gescheiden’. Als je structuur aanbrengt in je tekst door middel van goede HTML (dus kopje, lijsten, paragrafen, quotes et cetera), dan kun je dat gemakkelijk visueel aanpassen met CSS. Eventueel kun je er ook nog een dynamische laag op aanbrengen met JavaScript. Doe dit echter alleen als dit de gebruiksvriendelijkheid vergroot, en de content ook bereikbaar is zonder dat JavaScript ingeschakeld is.

    Overigens zijn alle punten (en een heleboel meer) te vinden in de Webrichtlijnen van de overheid.

    Ikzelf hanteer vaak een handige truck voor zoekmachine optimalisatie: als het goed is voor de gebruiker, dan is het ook goed voor zoekmachines. Al je puntjes hebben ook een positieve invloed op de gebruikers ervaring, en dus ook op die van zoekmachines als ze jouw website bezoeken.

    Like

  2. Sipke

    Dan heb je dus knap problemen met AJAX (maar dat wist ik eigenlijk al) toch raar dat met name Google daar heeeeeeeeel veel gebruik van maakt. SEO adviezen voor AJAX zijn dan wel heel interessant voor een artikel 🙂

    Like

  3. Arjan Snaterse

    Nog een aanvulling op punt 5:
    Theoretisch klopt punt 5 punt wel, maar dat wil nog niet zeggen dat navigatie dmv afbeeldingen (voor bijv. mooie fonts) onmogelijk is. Je kan altijd plaatjes dmv CSS als achtergrond gebruiken, waardoor de gemiddelde gebruiker een plaatje ziet, maar de gebruiker zonder CSS toch nog de nette HTML variant.

    En anders is sIFR altijd nog een oplossing voor mooie fonts 🙂

    Like

  4. Marco

    Zorg er altijd voor dat de daadwerkelijke inhoud van je site voor je (linker)navigatie komt in de opmaakcode (html). Dit is niet alleen gunstig voor SEO, maar zeker ook voor adsense-implementatie. Handig is het yahoo framework. Een voorbeeld van hoe dit framework is ingezet, kun je vinden op http://www.droominfo.nl (view source)

    Like

  5. Blanka

    Ik baal juist als een stekker van al die zoeksites die hun content ook zoekbaar voor Google maken. Wees klantvriendelijk en laat de site alleen zien nadat een klant een zoekterm invult! Je kunt tegenwoordig geen product meer zoeken, zonder eerst 3 pagina’s hits te skippen met productvergelijkers en koopjeszoekers. Of 10 hits met telefoonboek/gelegids resultaten die het bedrijf zelf naar pagina 2 verdringen. Die moeilijke vindbaarheid van PDF valt ook erg mee. Ik zit steeds vaker html te zoeken omdat Google maar erg graag PDF hoog laat scoren. Gekke URL’s en spashpagina’s hebben geen invloed op de vindbaarheid btw. Dat is een hardnekkige mythe. Wel is het verstandig URLS niet al te lang te laten worden, en te zorgen dat ze niet steeds anders zijn (bijvoorbeeld blogs waarop pagina id=1 altijd de laatste nieuwtjes laat zien, en dus nooit dezelfde tekst bevat).

    Like

  6. Ruben Timmerman Berichtauteur

    Arjan: Of course, ik zeg absoluut niet dat ALT teksten een slecht ding zijn, alleen ze moeten wel gebruikt worden als alternatief, niet als basis 🙂
    Webrichtlijnen zijn weer zo breed (compleet) dat het de gemiddelde ondernemer zal afschrikken, vandaar mijn stuk 🙂
    Met je tip dat wat goed is voor de gebruiker, ook goed is voor zoekmachines, ben ik het zeker eens. Het blijkt alleen lastig overeenstemming te bereiken over wat voor gebruikers goed is 😉

    Sipke: Arjan said it: AJAX is niet nodig voor navigatie en content, alleen voor complexe interactie. Bekijk bijvoorbeeld een site als Google Finance, vol met AJAX maar ook met gewone content die prima te spideren is:
    http://www.google.com/search?q=site%3Afinance.google.com

    Arjan Snaterse:
    Yes, goeie aanvulling. Er zijn voor veel dingen alternatieven die het netjes houden, ondanks gebruik van “verkeerde” technieken.

    Marco: Muaah ik doe dat ook, maar ik denk niet dat het voor SEO belangrijk is. Sites hebben nu eenmaal vaak navigatie bovenin de code staan, dus het zou raar zijn als Google dat zou bestraffen.
    Hierover voerde ik eerder nog een discussie over de mail met iemand, die me wees op dit interessante artikel:
    http://www.usability.com.au/resources/source-order.cfm

    Rene Grave: Ook dit punt vind ik “overrated”: schrijf je content voor gebruikers, dan zullen zoekmachines het waarderen. Natuurlijk, het helpt nogal als je de woorden gebruikt waarop je gevonden wil worden, maar dat is “logisch” 😉

    Bovendien ging ik hier juist even in op de techniek, want content (structuur) en met name linkbuilding zijn wat mij betreft pas echt zoekmachine optimalisatie…

    Blanka: Dank voor je uitgebreide reactie! Je hebt gelijk dat “zoekmachines” hun content niet indexeerbaar zouden moeten maken. Maar er is een groot grijs gebied waar inderdaad sites als de Gouden Gids inzitten. Dat is een lastig verhaal, waarover ik al eens uitgebreid schreef in Online marketing is oorlog. Ik ben benieuwd naar je mening over dat artikel!

    PDF’s komen inderdaad wel eens voor in zoekresultaten, maar nooit op competitieve vakgebieden. Ik durf te stellen dat als je een PDF naar (nette) HTML omzet, de HTML altijd hoger scoort.

    “Gekke” URL’s zijn geen doodzonde nee. Maar ik heb bij een klant meegemaakt dat alle URL’s geindexeerd werden door Google, behalve waar het site niveau zo diep werd dat er meer dan 4 variabelen in de URL zaten.
    Bovendien zijn gekke URL’s moeilijker te onthouden en te communiceren (in mail bijvoorbeeld), waardoor het moeilijker is om links te maken voor anderen.

    Met je laatste punt ben ik het niet eens: Splashpagina’s hebben absoluut een slechte invloed op vindbaarheid, aangezien de homepage (de splashpagina) van nature de hoogste ranking heeft. De meeste llinks wijzen nu eenmaal naar de homepage. Die wijst bij een intro/splash pagina maar door naar 1 andere pagina, die dus minder waarde heeft… En guess wat er met de pagina’s gebeurt die daar weer onder hangen.

    Ik ben ook benieuwd wat je van dit (voor mij logische) argument vindt!

    Like

  7. Pingback: Arno Manders » Blog Archive » How to make your website search engine friendly

  8. Joshua

    Leuk artikel, maar Iframes schaden niet altijd je ranking. Wij gebruiken bijvoorbeeld Iframes op landing pages van grote databasegestuurde websites. Op elke landing page staat dan een formulier om de conversie te verhogen. Dit formulier wordt opgenomen in een Iframe. Hierdoor voorkomen we dat we heel veel (HTML) opmaak voor het formulier in de broncode van onze files moeten plaatsen. We laten dus alleen de relevante content indexeren. Niet de formuliercode.

    Like

  9. Pingback: Ruben Timmerman, een Positieve “Nerd” in Zoekmachine Optimalisatie

  10. Giorgio

    Als voorbeeld over session id’s gebruik je Store. Je hebt helemaal gelijk dat URL’s met query strings slechter worden geindexeerd en dat je met session id’s tegen duplicate content issues aanloopt, dus slechter zal worden gevonden. Ook lezen ze niet erg makkelijk.

    Echter was het bij Store een onoverkomelijke zaak aangezien ze voor elke Store een verschillend domein hebben gebruikt. De login status moet immers worden meegegeven naar het nieuw domein als de (ingelogde) klant naar een andere Store gaat.

    Wel moet ik je eerlijk vermelden dat er bij Store geen echte rekening is gehouden met SEO.

    Like

  11. Matthijs Rouw

    Niet dat ik frames wil propageren, maar een oude site (uit het frames tijdperk) die ik ooit bouwde, scoort bizar hoog op Google .. Zoek maar eens op ‘snoep met logo’ (eerste hit) of ‘handgemaakt’ (derde hit) .. terwijl er zeker meer bedrijven zijn die snoep in hun relatiegeschenken catalogus hebben staan .. en het woord handgemaakt > nouja, ik bedoel ..

    Wellicht ook omdat de site op diverse sites gelinkt wordt, maar toch .. Compleet met frames en geindexeerd ..

    Like

  12. Matthijs Rouw

    Hmm en onder puntje 9 mis ik de paragraaf-tag? (sorry voor een nieuwe comment post)

    (wat een rare post-datum staat er bij mijn posting – server in Timboektoe?)

    Like

  13. Ruben Timmerman Berichtauteur

    Martijn: Cool, leuk om te horen! Al zie ik jullie op bijvoorbeeld het woord “digitaal archiveren” nog niet staan 🙂

    Matthijs: Oudheid van de site en links naar de pagina zijn belangrijke factoren. In het Suyckerbuyck geval wordt er echter ook gebruik gemaakt van cloacking d.m.v. een javascript redirect. Als je de pagina in Google’s cache bekijkt, ziet hij er anders uit dan wat de gebruiker ziet:
    http://64.233.183.104/search?q=cache:xyDKMzAsgZIJ:www.suyckerbuyck.nl/sb_logosnoep.htm+snoep+met+logo&hl=nl&lr=lang_nl&gl=nl&strip=1

    Als mensen daarover spam reports invullen, heb je kans dat de site uit de index verwijderd wordt.

    De tijd stond trouwens verkeerd ingesteld op mijn server, is nu opgelost 🙂

    Like

  14. Hummerbie

    @Mathijs

    Ik heb ook vanuit de ” oudheid” sites gemaakt met frames die prima scoorden door in ieder geval het “noframes” in te vullen.
    Zoals jij ook gedaan hebt 🙂

    Enige tijd geleden heb ik zo’n site opgebouwd naar een Content Management systeem. Met dezelfde inhoud was in een week tijd het aantal bezoekers verdubbeld… en scoorden ze nog beter op hun meest gewenste zoekwoord.

    En “handgemaakt snoep” , tja 746 hits..hmm

    Like

  15. Matthijs Rouw

    @Ruben:

    Ik koos voor een re-direct naar de homepage, om er voor te zorgen dat je niet een page uit de frameset kreeg (en ik had geen zin om dat onbetaald ‘netjes’ op te lossen – liever lui dan moe ;P) op een search engine hit .. De content van de page in Google zit wel degelijk in die site met dezelfde content – maar die moeten ze zelf openen (.. I know .. I know) ..

    Wilde alleen zeggen dat indexeren met frames prima gaat (euhw GING .. ;]) that’s all ..

    @hummerbie – dinderdaad een onmogelijke query, dat verzinnen niet veel mensen .. maar ‘logo snoep’ of andersom daarentegen … en alleen het woord ‘handgemaakt’ dan: Results 1 – 10 of about 333,000 for handgemaakt .. Ik zou haast zeggen dat die zoekterm zo vaag is dat je nooit op de eerste page zou moeten kunnen komen .. dan zijn die andere sites nog slechter dan die oude draak van mij 🙂

    Like

  16. Blanka

    Ik heb zelf een splashpagina in html, en die heeft gewoon een lagere ranking dan de hoofd php pagina. Dat leidt niet tot problemen. In feite wordt de splash pagina gewoon behandeld als een onbelangrijke subpagina. Dat de URL daarvan korter is maakt niet uit.

    Like

  17. Ruben Timmerman Berichtauteur

    Blanka: waarschijnlijk maakt het wel uit, omdat je spalshpagina ook autoriteit heeft. Kijk bijvoorbeeld naar de Pagerank van die pagina. Die autoriteit is dus nu verdeeld tussen je splashpagina en de hoofdpagina. Het zou waarschijnlijk beter zijn om daar 1 pagina van te maken met nog meer autoriteit…

    Like

  18. Pingback: Vindbaarheid van je WordPress website verbeteren

  19. Pingback: » Doelgroepingangen, waarom niet (en wanneer wel)? - Ferry den Dopper’s blog

  20. Webdesign Roosendaal

    Goed artikel, Ruben!

    Misschien nog een kleine aanvulling. Wat dacht je van de aanwezigheid van een 404 (Page not found) pagina?

    Je ziet nog ontzettend vaak dat bureaus hier geen aandacht besteden. Vaak wordt de standaard Apache pagina nog aangeroepen. Is niet nodig. Implementeer een 404 pagina in de stijl van de website en geef de bezoekers tips over hoe ze de juiste pagina wel kunnen vinden.

    Like

Plaats een reactie