seoLessen in moderne zoekmachine optimalisatie: frames

7. Frames

7.1 Wat zijn frames?

Een frame is een populair HTML-element waarmee een internetpagina kan worden construeerd uit meerdere html-pagina’s. Vaak zie je bijvoorbeeld een hoofdpagina bestaande uit een navigatiebalk (links) en een tekstpagina (rechts). Beide delen kunnen onafhankelijk van elkaar scrollen. De hoofdpagina heet dan bijvoorbeeld index.html, de navigatiebalk zit in de navigatie.html en de tekst in de main.html. De html-structuur ziet er dan als volgt uit:

<HTML>
<HEAD>
<TITLE>Voorbeeld van een frame</TITLE>
</HEAD>
<FRAMESET COLS="30%,70%">
  <FRAME SRC="navigatie.html">
  <FRAME SRC="main.html">
</FRAMESET>
<NOFRAMES>
  Deze tekst wordt getoond als de browser geen frames ondersteunt.
</NOFRAMES>
</HTML>

7.2 Frames zijn lastige elementen

Frames zijn on-internet achtige elementen. In principe is het namelijk zo dat het internetadres van de pagina die op dat moment in uw browser zichtbaar is altijd in het ‘Adres’-invoerveld van de browser zichtbaar is (dat is dat veld waar u zelf ook uw adressen invoert als u naar een internetpagina wilt). Frames gooien dit principe helemaal door elkaar omdat het adresveld alleen de hoofdpagina (in dit voorbeeld de index.html) blijft tonen, terwijl feitelijk de navigatie.html en de main.html zichtbaar zijn. Ook als er op allerlei links wordt geklikt die zich binnen het frame openen, blijft het adresveld in de browser doodleuk op de index.html staan. U kunt dus niet meer zien waar u zit.

Zoals gezegd zijn deze elementen erg populair, ondanks hun tegendraadse werkwijze. Door dit laatste zijn een aantal type browsers (m.n. de erg oude) niet in staat dit element goed weer te geven. Daarom is er de mogelijkheid opgenomen om speciaal voor dat type browsers een alternatieve pagina te definiëren. Binnen de <NOFRAMES> en </NOFRAMES> tags kan die pagina worden opgebouwd. De meeste webbouwers vergeten dit deel in te vullen, of vullen daar één of ander nietszeggend zinnetje in als “uw browser ondersteunt geen frames” o.i.d. Omdat de meeste mensen inmiddels wel een actuele browser hebben, zullen weinig mensen hier tegenaan lopen. Maar nu komt het probleem…

7.3 Hoe frames te optimaliseren?

Een aantal zoekspiders, waaronder die van Google, kan geen frames lezen op een manier zoals we dat eigenlijk zouden willen. Google kan namelijk slechts enkelvoudige en geen samengestelde pagina’s (een frame dus) indexeren. Google indexeert iedere pagina afzonderlijk. In dit voorbeeld worden er dus drie pagina’s geïndexeerd: de index.html, de navigatie.html en de main.html. Het <NOFRAMES>-deel van de index.html wordt daarbij beschouwd als de inhoud van de index.html-pagina. De inhoud van de navigatie.html en de main.html worden afzonderlijk geïndexeerd en dus niet gebruikt bij het indexeren van de index.html! Yahoo, overigens, doet dit wel, maar Google dus niet. 

Als over de <NOFRAMES>-tekst niet is nagedacht, zal de pagina dus niet of zeer slecht scoren in Google. Het devies is hiermee: als u gebruik maakt van frames, zorg er dan voor dat de <NOFRAMES> is geoptimaliseerd op uw zoekwoorden. (Bijna) niemand die deze tekst in de browser te zien krijgt, maar toch zal het moeten indien u wilt scoren binnen Google. 

Denk overigens niet dat u nu vrij bent deze pagina vol te strooien met zoekwoorden, want dan wordt het al snel gezien als Spam en zal de pagina vroeg of laat verdwijnen uit de zoekresultaten. U wordt nog steeds geacht een serieuze pagina te maken op basis van SEO strategieën zoals beschreven in deze handleiding.

Veel SEO-ers en website-bouwers raden het gebruik van frames af. Een aantal redenen worden in dit verband genoemd:

1. Het is lastig en onhandig om naast het bezoekers-deel ook een onzichtbaar deel (de noframes, het spider-deel) te onderhouden. Dit geeft extra werk en de aandacht daarvoor verslapt vaak snel. Aan de andere kant kan ook geconstateerd worden dat door het feit dat het bezoekers- en het spider-deel gescheiden zijn, het onderhoud overzichtelijker wordt: het bezoekers-deel wordt onderhouden door de websitebouwer en het spider-deel door de SEO.

2. Ook wordt wel gezegd dat zelfs als het noframes-deel goed is geoptimaliseerd, frames nooit écht goed kunnen scoren in zoekmachine-rankings. Persoonlijk heb ik inmiddels mijn twijfels over dit standpunt, want ik heb verschillende op frames gebaseerde pagina’s gezien die erg goed blijken te concurreren met gewone pagina’s die op dezelfde zoekwoorden zijn geoptimaliseerd. 

3. Omdat zoekspiders de verwijzingen in de pagina (tenzij anders aangegeven in de meta-tags of in de robots.txt) volgen en ook weer indexeren leiden frames tot de vervelende situatie dat (in voorgaand voorbeeld) de navigatie.html en de main.html als losstaande pagina’s ook worden geïndexeerd. Dit betekent namelijk dat iemand deze pagina’s via een zoekmachine kan vinden, terwijl de framestructuur verdwenen is: er wordt dan óf alleen een navigatiebalk zonder tekst, óf alleen tekst zonder navigatiebalk getoond. In principe kan dit, bijvoorbeeld via javascript, wel weer worden opgelost door er voor te zorgen dat een frame in zijn geheel wordt opgebouwd als iemand slechts zo’n deelpagina probeert op te halen, maar het wordt allemaal wel wat ingewikkelder.

7.4 Richtlijn voor gebruik van frames

Als richtlijn voor het gebruik van frames het volgende: indien u een nieuwe website gaat bouwen, maak dan (tenzij het niet anders kan) geen gebruik van frames. Frames leiden tot rare resultaten in de zoekmachines (tekst zonder navigatiebalk, etc.) en scoren wellicht niet optimaal in zoekmachines. Frames zijn meestal ook helemaal niet nodig. Heeft u echter al een op frames gebaseerde site, laat dat dan zo, maar optimaliseer dan wel het <noframes>-deel.