Zoekmachine optimalisatie: een nette url

Het wordt steeds belangrijker om je website te optimaliseren voor zoekmachines zodat uw pagina goed gevonden wordt. Dit wordt ook wel SEO genoemd (Search Engine Optimization). Een van de manieren hiervoor is een leesbare url waarin trefwoorden terugkomen.

Je hebt misschien weleens websites gezien die duidelijk dynamisch zijn opgebouwd, maar toch geen gebruik maken van ingewikkelde url's zoals index.php?category=4&id=12.

Door gebruik te maken van de juiste techniek kun je een url die er zo uitziet:

www.website.nl/index.php?module=movies&cat=new&id=12

er bijvoorbeeld zo uit laten zien:

www.website.nl/movies/new/12

Deze techniek heeft een aantal voordelen:

  • pagina's zijn dynamisch maar zien er statisch uit
  • zoekmachine vriendelijke url
  • veilig: achterliggende techniek wordt niet getoond
  • elegante oplossing: aangenamer voor het oog

Waarbij vooral het zoekmachine vriendelijke element van groot belang is. Niet alleen struikelen sommige zoekmachines over gecompliceerde url's met veel ? en & en andere vreemde tekens, maar tevens kunnen url's nu opgebouwd worden volgens een logische url die door de achterliggende techniek vertaald wordt naar de juiste ID's en de daarbij behorende gegevens.
De achterliggende techniek
Dit artikel behandelt de techniek op een Apache platform, typisch in combinatie met PHP en MySQL.

De te gebruiken Apache module heet mod_rewrite. Deze wordt door middel van .htaccess files aangestuurd.

De module mod_rewrite zorgt ervoor dat je url kunt herschrijven. Deze module is een onderdeel van Apache maar is niet in elke configuratie geactiveerd.
Je kunt dit testen door in phpinfo(); op zoek te gaan naar deze module.

Heb je zelf toegang tot Apache's httpd.conf file dan kan je op zoek gaan naar deze regels:

#LoadModule rewrite_module modules/mod_rewrite.so
#AddModule mod_rewrite.c

Wanneer je hier het # weghaalt en Apache restart is module geladen. Om er daadwerkelijk gebruik van te maken zijn er een aantal opties. Je kan de regels toepassen in de httpd.conf maar je kan ook gebruik maken van een .htaccess bestand.

In beiden moet de url rewriting engine eerst enabled worden:

RewriteEngine on

Vervolgens kun je bijvoorbeeld de volgende regel maken:

RewriteRule ^test(/)?$ /ergens/diep/in/de/site/test.html [R]

Nu ziet dat er al wat ingewikkelder uit. Dat komt omdat er gebruik wordt gemaakt van regular expressions. En juist die maken het mogelijk om geavanceerde en handige regels te schrijven.

Regular expressions vallen buiten dit artikel en ik zal er hier niet verder op ingaan maar ze zijn vaak een buitengewoon handig hulpmiddel voor programmeurs. Je kunt er alles over lezen op deze site.

Stel dat je bovenstaande regel hebt draaien op je website www.mijnsite.nl. Met bovenstaande regel wordt iemand www.mijnsite.nl/test intikt doorverwerzen naar het test.html bestand in www.mijnsite.nl/ergens/diep/in/de/site/

De [R] op het einde zorgt ervoor dat de uiteindelijke url wel getoond wordt in de browser. Als je hem weg zou laten zie je dus www.mijnsite.nl/test in de adresbalk staan maar wordt wel test.html getoond in de browser!

Laten we nu eens kijken naar een wat ingewikkeldere regel waarmee je een leesbare url kan omtoveren in een querystring waar PHP iets mee kan.

RewriteRule ^([a-z_]*)/([0-9]*)(/)?$ /index.php?category=$1&id=$2

Hiermee wordt een url zoals:

www.mijnsite.nl/films/8

vertaald in:

www.mijnsite.nl/index.php?category=films&id=8

Dat is natuurlijk al een stuk interessanter! Natuurlijk is dit een simpel voorbeeld en bij complexere websites zullen complexere regels nodig maar het idee is hetzelfde.

Er is tevens een uitstekende tutorial te vinden op sitepoint over url rewriting.

Vindbaarheid van je website in zoekmachines

Read More »

About

This is the company blog of
Drupal specialist Merge.nl

We are located in Breda (Netherlands) and build websites using Drupal. More about us.

Content on this blog is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Netherlands License.

Creative Commons License

Recent Comments

Social