Permanente, unieke URL’s
Voor vindbare informatie en een gebruiksvriendelijke website
Documenten op het Web hebben een eigen uniek adres (URL; Uniform Resource Locator) Links daar naartoe vormen de wegen van het world wide web; ze verbinden het ene document met het andere. Dat is de reden geweest voor de doorbraak van het web. Het verklaart ook de populariteit van zoekmachines. Het wordt echter steeds lastiger voor webgebruikers en zoekmachines om de informatie achter een link te vinden.
Doodlopende URL’s – het verschijnsel wordt ook wel linkrot genoemd – zijn een groot obstakel bij het vinden van informatie. Links op een website kunnen leiden naar informatie op dezelfde of op een externe site. Wanneer deze links doodlopen, wordt de informatie onbereikbaar voor bezoekers. Dit moet worden voorkomen door het produceren van permanente, unieke URL’s en adequate doorverwijzing indien een link doodloopt.
Inhoudsopgave
- Hoe ziet een URL eruit?
- Waar doen zich de problemen voor?
- Vermijd het gebruik van frames
- Richtlijnen over URL's
- Dynamische sites en vriendelijke URL’s
- Links en referenties
Hoe ziet een URL eruit?
Voorbeeld van een URL
http://www.minvws.nl/zoeken/e-mailservice/privacystatement_VWS.asp
protocol://subdomein.domeinnaam.extensie/directory/ directory/bestandsnaam
Voorbeeld van een URL die ‘dynamisch’ informatie genereert
<a href="http://www.minbuza.nl/default.asp?CMS_ITEM=MBZ257225">http://www.minbuza.nl/default.asp?CMS_ITEM=MBZ257225</a>
protocol://subdomein.domeinnaam.extensie/ bestandsnaam?<strong>querystring</strong>
Het gedeelte achter het vraagteken wordt een ‘Query String’ genoemd, een methode om in dit geval het (script-)bestand, default.asp, mee te delen welk ‘item’ uit de database moet worden getoond.
Waar doen zich de problemen voor?
-
Soms bevinden pagina’s zich binnen frames.
Deze pagina’s zijn ingekaderd in een ander bestand, de zogenaamde frameset. De URL die voor de bezoeker zichtbaar is, is de URL van de frameset, niet van de pagina die de informatie bevat. Daardoor wordt de pagina minder goed bereikbaar vanuit zoekmachines en via de Favorieten van de bezoeker. -
De URL van pagina’s wordt veranderd en links lopen vervolgens dood.
Bij het onderhoud en de uitbreiding van websites wordt dit probleem vaak over het hoofd gezien; links op andere pagina’s worden niet aangepast aan de nieuwe URL van de pagina. Daardoor komen bezoekers en zoek-spiders die deze links volgen bedrogen uit. -
Veelal zijn URL’s onvriendelijk en onleesbaar.
URL’s zien er vaak onnodig complex en cryptisch uit (bijvoorbeeld,http://www.minbuza.nl/default.asp?CMS_ ITEM=MBZ257225). Dit is een probleem voor contentbeheerders die informatie naar elkaar willen laten linken en deze URL’s moeten reproduceren. Bezoekers van de site lezen hun locatie binnen de site af aan een URL. Onvriendelijke URL’s zijn lastig uitbreidbaar en vormen bovendien een belemmering voor zoek-spiders.
Vermijd het gebruik van frames
Elk document binnen een website moet bereikbaar zijn op een unieke URL. De URL van een frameset blijft onveranderd, terwijl de bezoeker verder surft binnen de frameset en eindigt op pagina’s die niet corresponderen met de zichtbare URL. Dit bemoeilijkt het terugvinden van de pagina vanuit de Favorieten aanzienlijk.
Zoekresultaten op zoekmachines zullen leiden naar individuele pagina’s binnen de frameset. Dit heeft tot gevolg dat de frameset-pagina niet getoond zal worden, waardoor bijvoorbeeld frames met belangrijke navigatie onzichtbaar blijven. Bezoekers kunnen hierdoor stranden op losse pagina’s op de site.
Frames worden vaak door webontwikkelaars toegepast om tot een bepaalde lay-out te komen of om onveranderende inhoud (bijvoorbeeld, de hoofdnavigatie) in te sluiten en te hergebruiken. Tegenwoordig zijn hiervoor betere alternatieven beschikbaar; zie hiervoor Alles over CSS (Cascading Style Sheets).
Lees meer over frames en hun nadelen bij Alles over frames.
“Frames: Just Say No.”
Why Frames Suck (Most Of The Time), Jakob Nielsen
Richtlijnen over URL's
De volgende webrichtlijnen hebben te maken met permanente, unieke URL's:
- R-pd.4.1: Produceer unieke, onveranderende URL’s
- R-pd.4.2: Dynamisch gegenereerde URL’s dienen nog steeds naar dezelfde inhoud te verwijzen als inhoud wordt gewijzigd of toegevoegd.
- R-pd.4.3: Vermijd het gebruik van sessies in URL’s.
- R-pd.4.4: Zorg voor doorverwijzing naar de nieuwe locatie bij het verplaatsen van informatie.
- R-pd.4.5: Automatische doorverwijzing dient, indien mogelijk, uitgevoerd te worden door de server.
- R-pd.4.6: Gebruik vriendelijke URL’s, die leesbaar en herkenbaar zijn.
- R-pd.4.7: Zet een leesbare, uitbreidbare directory-structuur op.
Dynamische sites en vriendelijke URL’s
Als er een website wordt gebouwd die informatie uit een database toont en URL’s dynamisch genereert, moet rekening worden gehouden met een leesbare directory-structuur. Deze structuur is wellicht niet fysiek aanwezig, maar komt wel naar voren in de URL’s.
Bij het opvragen van een vriendelijke URL, zal de pagina de URL achter de schermen vertalen naar bruikbare variabelen. Hier volgen in vogelvlucht twee methodes die vaak worden gebruikt.
“404 File Not Found” doorverwijzing
De browser verzoekt de server om een pagina via een vriendelijke URL. Is deze pagina fysiek aanwezig, dan wordt deze door de webserver aangereikt. Is de pagina echter niet fysiek aanwezig (kenmerkend voor pagina’s die geserveerd worden uit een database), dan resulteert dit in een fout: “404 Not Found”. De server kan geconfigureerd worden om bij deze foutmelding door te verwijzen naar een bepaalde pagina. Deze pagina is een script dat de door de browser opgevraagde URL vervolgens achter de schermen opsplitst in variabelen en de desbetreffende pagina uit de database haalt.
Apache en mod_rewrite
Een vriendelijke URL wordt door de browser naar de webserver gestuurd. Deze webserver is geconfigureerd om achter de schermen de opgevraagde URL om te zetten naar een verwijzing naar een ander bestand. De enige vereisten hiervoor zijn dat de webserver op Apache software draait en mod_rewrite ondersteunt. Mod_rewrite is overigens tegen betaling beschikbaar voor IIS-servers.
