Hoofdindex » Servers » Diverse » Broken links
Computers en servers
Werken al je links (broken links)
Servers
Je site geeft een slordide indruk als bepaalde links niet werken. Als de koppelingen niet betrouwbaar zijn, hoe is het dan gesteld met de betrouwbaarheid van de tekst, of de persoon of firma die achter de site staat?

Broken links

Indexpagina Realdreamboys

Foutpagina Realdreamboys

Indexpagina pics.idemdito.org

Foutpagina pics.idemdito.org

Hoe ontstaan broken links?

Misschien heeft de bezoeker een directe link ingetypt en een fout gemaakt, ofwel krijg je een inkomende (maar verkeerd gespelde) link, ofwel bestaat deze pagina niet meer op de site. Je moet je bezoeker aanzien als een klant, en hem dus zo goed mogelijk proberen te helpen. Je foutboodschap-pagina is eveneens de visitekaartje van je site, zorg er dus voor dat je foutboodschap er goed uitziet! Vaak kan je via de logs controleren van welke website en pagina de bezoeker op deze foutpagina terechtgekomen is (zie lager).

Foutboodschap...

Als een link naar een onbestaande pagina wijst is het beter een bruikbare tekst te voorzien in plaats van een standaard foutbericht

HTTP/1.1 404 Not found on this Apache 0.9x server running a Xzieniks distro

Daar is de bezoeker niet mee geholpen, en ben je een waarschijnlijk een klant kwijt. Probeer deze link naar een onbestaande pagina met een link naar het OSI-model: je krijgt een minimum geformatteerde tekst met direct een aantal links waaruit de bezoeker alsnog kan kiezen. Zoals je kan zien kan je de hulp van google inroepen om suggesties te geven voor verkeerd gespelde of niet meer bestaande pagina's. Google geeft direct een mogelijke oplossing.

...aangepast aan iedere site

Bij al de websites die ik beheer wordt er een aangepaste foutpagina getoont (zie rechts). RealDreamBoys is de site van een beroepsfotograaf, en het is ook nodig dat de foutboodschap er professioneel uitziet. Het is natuurlijk een pluspunt als de layout van de foutboodschap dezelfde layout heeft als de algemene layout van de site.
Pics.idemdito.org is m'n fotografie-site. Hier is er ook een aangepaste foutboodschap met dezelfde layout van de hoofdpagina.

Een tip: omdat de foutpagina van om het even waar in je website kan ontstaan moet je met absolute urls werken voor de alle koppelingen (links naar de hoofdindexen van je site en eventuele afbeeldingen).

Goed voorbeeld:
<a href=/nl/>Index Nederlands</a> | <a href=/fr/>Index Français</a>
Een verkeerd voorbeeld:
<a href=nl/>Index Nederlands</a> | <a href=fr/>Index Français</a>
Als de fout in /nl/produkten/machine.htm optreed, dan verwijzen de links op de errorpagina naar /nl/produkten/nl/ en /nl/produkten/fr/
Een andere mogelijkheid is een base href-tag op te nemen in de head van je errorpagina:
<base href=/index.htm>


Een nadeel van de site bij je provider, is naast de amateur-aandoende url (users.telenet.be of users.skynet.be), de foutpagina die naar de site van de provider wijst:


Je bezoeker zal niet meer op je site terugkeren!
Er zit teveel aanlokkelijke reklame
op de pagina van de provider
en de potentieele klant is voorgoed vertrokken!

Aan deze foutboodschappen
kan je echter niets veranderen!


Werkwijze eigen server

In de praktijk zal je naast de domein-instellingen (als je server meerdere domeinen verzorgt, moet je virtuele hosts configureren) ook de foutboodschappen moeten instellen. De standaard-foutboodschap moet je in dat geval veranderen. Je kan één algemene foutboodschap voor je gehele server voorzien of een aangepaste foutboodschap per domain.

De foutafhandeling is verschillend van server tot server. Als je met Apache werkt zal je de .htaccess file moeten aanpassen. Dit is een voorbeeld:

ErrorDocument 404 http://sharedhosting.skynet.be/sh000827/logo/404.htm

Daarmee geef je de lokatie aan van de foutpagina.

Opgelet: als de server een zeer korte foutboodschap produceert (minder dan 512 bytes lang), dan zal internet explorer zijn eigen foutboodschap tonen in plaats van die van de server. En met deze tekst is de bezoeker totaal niet gedient (hij denkt dat je server plat ligt!). Ongeacht wat er misloopt (foutpagina, DNS fout, server onbereikbaar,...), internet explorer toont precies hetzelfde foutbericht. Dit moet je dus zeker vermijden!

Een onbestaande pagina...
...en de bezoeker is voorgoed weg!

Dit is tegenwoordig ook het geval als de bezoeker een toolbar heeft geïnstalleerd: de foutboodschap van de server zal vervangen worden door een resultatenpagina die opgemaakt is aan de hand van wat de bezoeker ingetypt heeft. Hier ook is de kans groot dat de bezoeker nooit meer terecht komt op de server die hij oorspronkelijk van plan was te bezoeken!

De oplossing is hier de server te hacken waarbij hij geen conditiekode 404 geeft bij een onbestaande pagina, maar een normale kode (200) met een tekstbericht. De google toolbar baseert zich immers op de aanwezigheid van de foutkode om zijn eigen pagina te tonen, en dat wil je absoluut vermijden. Het onderdrukken van de 404-fout heet een "soft 404").

Er is nog een andere reden waarom je broken links moet vermijden (in dit geval van een externe site). De zoekrobotten hechten veel waarde aan inkomende links (links van andere sites naar je eigen site). De inkomende link telt echter niet mee als die naar een onbestaande pagina verwijst! Vaak zal de eenvoudigste oplossing zijn een pagina aan te maken (met de verkeerde naam) en daar een tekst plaatsen die typische woorden overneemt van de linkende site (zéér goed voor zoekrobotten). Het is veel werk, maar anders heb je totaal niets aan die inkomende link!

Broken links opsporen

Links naar onbestaande pagina's moet je zo snel mogelijk opsporen en corrigeren. Zoals je gelezen hebt: een bezoeker is meestal voorgoed weg als hij op een onbestaande pagina is terechtgekomen. Om onbestaande pagina's op te sporen moet je toegang hebben tot de server logs. Er bestaan kant-en-klare programmas die deze analyseren en een overzicht tonen. Dit zijn mijn broken links die in real-time opgemaakt worden.

Er bestaan ook programma's die de interne struktuur van je site analyseren en de links nagaan: welke pagina's hebben geen interne links (verweesde pagina's) en welke links verwijzen naar onbestaande pagina's.

Links to relevant pages - Liens vers d'autres pages au contenu similaire - Links naar gelijkaardige pagina's