Spiderglobe, De nederlandse talige informatie website over website optimalisatie tips en trucs

  

  Voorpagina Over Spiderglobe    Links    Internet marketing & website optimalisatie
Optimalisatie technieken voor zoekmachines en websites
Optimaliseren van website's

Zoek functionaliteit in websites



Zoek functionaliteit in websites

 

>> Optimalisatie website

Frames optimaliseren voor zoekmachines

Altijd wordt er wel een discussie gevoerd over het gebruik van wel of geen frames in een website. Meestal lijkt het erop dat er altijd 2 partijen zijn in deze dicussie:

  • Eén partij die een hekel hebben aan het gebruik van frames
  • Eén partij die graag frames willen gebruiken binnen de website.

De discussie rondom het gebruik van frames heb ik nooit echt begrepen. De meeste argumenten tegen het gebruik van frames zijn dat bookmarks / Favorieten niet worden hersteld, dat sommige zoekmachines op het internet niet overweg kunnen met frames en dat zodra een web pagina vanuit een zoekresultaat van een zoekmachine wordt geopend de desbetreffende pagina buiten zijn frame setting wordt geopend. Maar zijn dit wel reele argumenten? In deze pagina ga ik in op het gebruik van frames binnen websites en hoe de hierboven genoemde argumenten feitelijk eenvoudig kunnen worden opgelost.

Zoals eerder is besproken probeer altijd bij de bouw van een website te onthouden dat er eigenlijk 2 soorten bezoeker zijn: web-browsers en spiders van zoekmachines. Vaak wordt er bij het gebruik van frames vergeten dat de frameset pagina een gewone HTML pagina is die ook door de spider wordt gelezen en opgenomen kan worden in zijn index. Dit ondanks het feit dat de gebruiker met zijn webbrowser niet deze inhoud zal zien op zijn scherm. Hiervan uitgaande voeg dan net zoals alle andere pagina's binnen je website een gewone HTML titel, en de standaard META tags toe. Bekijk bijvoorbeeld het volgende zoekresultaat van Ilse als je zoek op "browser no frames". Meer dan duizenden pagina's zijn foutief opgemaak, omdat er geen goed gebruik gemaakt wordt van de no-frames tag en de toevoeging van de META tag description. Onthoud altijd dat deze meta tag gebruikt wordt om de samenvatting van de document weer te gegeven in het zoekresultaat en boven zal resulteren in een hogere ranking des te meer daar de frameset pagina meestal de eerste pagina van de website is en daardoor ook hoger gewaardeerd zal worden. Maar later hierover meer...

Voor zoekmachines die niet overweg kunnen met frames
Om een spider een goede toegang te geven tot je website zorg ervoor dat je altijd gebruik maakt van de <noframe> tag binnen de framesetting.
De structuur van zo'n document kan er als volgt uitzien:

<HTML>
<HEAD>
<title>Frames optimaliseren voor zoekmachines</title>
<meta name="keywords" content="frames, noframes, frame herstel">
<meta name="description" content="Bij het gebruik van frames in websites moet rekening...">
</head>
<FRAMESET cols= "60%,40%">
<noframe>
<body>
<h1>Welkom op de spiderglobe website</h1>En hier meer informatie
<a href="sitemap.htm">Menu van spiderglobe</a>
<a href="content.html">Klik hier voor informatie over spiderglobe</a>
</body>
</noframe>
<frame src="menu.html">
<frame src="content.html">
</frameset>
</html>

In het bovenstaande voorbeeld zal een spider die geen frames kan lezen toch de links volgen welke in de noframe tag zijn opgenomen waardoor de gehele site zal worden geindexeerd en worden opgenomen in de collectie van de zoekmachine. Zorg ervoor dat in de vervolg pagina's "normale" links zijn opgenomen naar de andere pagina's binnen een website. Daarnaast dien je rekening te houden dat de eerste pagina (= root, index.htm) het zwaarst zal wegen. Zorg daarom voor normale inhoud in de pagina.

Herstel de framecontext in je website

Als je frames gebruikt binnen je website wees dan voorzichtig hoe je ze gebruikt. Buiten het feit dat sommige spiders op het internet geen frame settings kunnen lezen is de meest gemaakt fout met frames dat web pagina's welke vanuit een zoekresultaat scherm van een zoekmachine worden geopend niet de frame context wordt hersteld. Hierdoor wordt een web-pagina meestal buiten de navigatie paden van de website geopend. Hierdoor kan de gebruiker meestal niet verder navigeren binnen de website.Voor de meeste communicatie managers en web master is dit een nachtmerrie. Dit komt meestal vanwege het feit dat web ontwikkelaars meestal niet anticiperen op het feit dat documenten buiten de frameset kunnen worden geopend. Dit komt doordat een zoekmachine de framecontext niet zal onthouden wanneer een document wordt geindexeerd.
Het goede nieuws is dat het mogelijk is om de frame setting van je website op een eenvoudige manier is te herstellen. In het onderstaande voorbeeld bespreek ik een frameset wat uit een 2-tal frames bestaat. Eén frame bestaat uit het aansturings menu van de webset en de andere frameset bevat de werkelijke inhoud.
Voor het aanmaken van de mainframe maak ik gebruik van Javascript. Hiermee heb ik de mogelijkheid om parameters mee te geven en kan ik CGI parameters gebruiken om de framesetting aan te sturen

<HTML>
<HEAD>
<TITLE>This is the mainframe setting page</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var argument0 = "main.html";
var argument1 = "about.html";

var str = location.search;
var pos = str.indexOf("&");
if (pos != -1) {
var num = str.substring(pos + 1, str.length);
window["argument" + num] = str.substring(1, pos);
}

// -->
</SCRIPT>
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
document.write(
'<FRAMESET COLS="141, *" frameborder="NO" border="0" framespacing="0">',
'<FRAME SRC="', argument0, '" NAME="menu" scrolling="NO" noresize >',
'<FRAME SRC="', argument1, '" NAME="content">',
'</FRAMESET>'
);

// -->
</SCRIPT>

/*
make sure that a spider will retrieve also the documents he need… put the 'default' argument in a simple a-hrefs note that the no-frames tag will have no effect in this case and the body tag will be ignored by the browsers.
*/
<BODY>
And any other relevance content to increase the traffic.
<a href="main.html">Menupage of this site</a>
<a href="about.html">Information about this site</a>
</BODY>
</HTML

Wees van het feit bewust dat als je de bovenstaande manier gebruikt dat een spider geen Javascript kan lezen. Om ervoor te zorgen dat de rest van de website wordt gelezen voeg dan een aparte body tag toe met daarin de links opgenomen die de spider verder begeleiden in de website.

Het document met de werkelijk inhoud bevat ook een klein stukje javascript. Dit stukje code voert een controle uit of de pagina is geopend buiten de main frame setting. Als dit niet het geval is dan zorgt de Javascript code ervoor dat de main frame setting wordt hersteld met het desbetreffende document in de content frame:

<html>
<head>
<title>Using frames in relation to search engines, part 2</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
var str = location.search;
var pos = str.indexOf("&print");

if ((top.location.href.indexOf("mainframe.html") == -1)&& (pos == -1))
top.location.href = "mainframe.html?" + this.location.pathname + "&1";
// -->
</SCRIPT>
</head>

Dit kleine stukje javascript voert een controle uit of de frameset bestaat en indien dit niet het geval is wordt de frameset herbouwd met als parameter de URL van het document wat buiten de frameset in geopend. De 2e parameter is er in dit geval voor om aan te geven in welke frame de URL moet worden geopend. Als de waarde 0 is wordt deze geopend in de menu frame en is de waarde 1 dan wordt deze geopend in de content frame.

In het bovenstaande voorbeeld bevat het HTML document zelf de javascript code. Persoonlijk vind ik het handig om de Javascript code in een javascript include file op te nemen. Deze include file kan dan worden opgenomen in de HTML head van het document:
<script language="Javascript" src="spider.js"</script>
Hierdoor wordt de "laad" tijd van het document beperkt (spider kunnen immers geen Javascript leze) en wordt de herbruik en onderhoud van de Javascript code een stuk eenvoudiger.

Ondanks het feit dat de hierboven weergegeven Javascript voorbeelden ervoor zorgen dat de web-pagina's keurig in de frame setting worden opgenomen kan het voorkomen dat dit niet altijd wenselijk is. Denk hierbij aan het feit dat sommige gebruikers gewoon de inhoud van een document wilenl printen. Probeer dat maar eens met de hierboven weergegeven Javascript code. Daarom gebruik ik in dit voorbeeld de parameter &print. Als de URL van het desbetreffende document deze parameter bevat kan de web-pagina toch buiten zijn frame-context worden geopend.
Een link kan er als voorbeeld zo uitzien:

<a href="content-1.html?&print" target="new">
<img src="images/print.jpg" width="36" height="27" border="0">
</a>

Wat zijn nu de nadelen van het gebruik van frames?

Het enige nadeel wat ik kan bedenken is dat de eindgebruiker geen mogelijkheid heeft om de back button te gebruiken op de eerste pagina die ze openen binnen je website. Maar dit is iets wat je wellicht moet accepteren.
Een ander algemeen aspect bij het gebruik van frames zijn de gebruikers statestieken waarmee je rekening moet houden. Indien een frameset pagina uit 3 frames bestaat worden initieel 4 pagina's geopend -> de frameset pagina en de drie pagina's voor de frames zelf.