SEO vriendelijke, doch makkelijk urls?
De URL van een pagina kan nogal verschillend zijn. Maar zijn ze ook allemaal SEO
vriendelijk?
Als je een echte ‘Search Engine Optimized’- vriendelijke site wilt maken, dan heeft google
(zoekmachines marktleider) het liefste ‘www.site.com/pagina/’ URL’s.
Nu zul je wel denken: Ja leuk.. Voor IEDERE pagina een mapje aan maken en
er een index in zetten…
Dat hoeft dus niet. PHP in combinatie met htaccess kunnen een perfecte
combinatie vormen om makkelijke en handige webadressen te maken.
Als je veel met databases werkt dan zul je het vast wel handig vinden om
bepaalde gegevens in de URL te verwerken bijvoorbeeld met een CMS systeem.
?pagina=pagina
Dan haalt php uit de url de pagina, maar je URL word er lelijk van want je
krijg: www.site.com/?pagina=pagina enzovoorts. Stel nou dat je 10 van die
dingen hebt?
Om te beginnen gaan we een .htaccess bestand aanmaken:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/(.*)/(.*)/$ index.php?pagina=$1&suba=$2&id=$3&subb=$4 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/(.*)/(.*)/$ index.php?pagina=$1&suba=$2&id=$3 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/(.*)/$ index.php?pagina=$1&suba=$2 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ index.php?pagina=$1 [L,QSA]
Ervaren HTACCESSers zullen de vele ‘RewriteCond’ regels overbodig noemen,
Maar dit is naar mijn idee niet zo. Alleen zo heb ik een Fotoboek aan de praat gekregen.
Dus zo is het makkelijkste om ermee te werken!
Even een uitleg:
Dit htaccess bestand zorgt ervoor dat alle urls als www.site.com/pagina/
worden omgeschreven naar www.site.com/?pagina=pagina urls.
Echter blijft in de balk van je browser gewoon www.site.com/pagina/ staan.
Zet dit bestandje in je root directory. Het kan zijn dat het niet werkt omdat de
hosting service de module mod_rewrite heeft uitgeschakeld. Neem dan
contact op met je hosting service.
Nu de PHP code:
<?php $pagina = $_GET['pagina']; if ($pagina == NULL OR $pagina == "home") { print "Welkom"; } else { if (file_exists($pagina. ".php")) { include ($pagina. ".php"); } elseif (file_exists($pagina. ".html")) { include ($pagina. ".html"); } else { print "Pagina $pagina bestaat niet!"; } } ?>
Deze code is nu alles om de urls eruit te halen. Je URLS blijven netjes,
en je kunt toch makkelijk werken.
Een klein beetje kennis van PHP is afentoe wel handig, maar dit scripts is
makkelijk te gebruiken, en je kunt het zo in je php-pagina of html-pagina
planten.
LET OP: je pagina moet wel als extensie .php hebben!
Een testje?
Maak een pagina index.php en zet daar de PHP code in.
Maak een nieuwe lege pagina die .htaccess heet en zet daar de HTACCESS
code in.
Maak nog een pagina genaamd pagina.html.
Upload de boel naar je server/localhost.
Ga naar het adres en maak van je adres (in dit geval)
http://www.site.com/pagina/ .
Zoals je nu zult zien, krijg je de pagina pagina.html te zien zoals jij
die hebt opgeslagen!