Geoptimaliseerde URLs vertalen
Als iemand een geoptimaliseerde URL op geeft moet deze vertaald worden zodat het systeem de juiste pagina weer kan laden. Deze vertaalslag gebeurd in 1 of 2 stappen.
Stap 1: De bezoeker omleiden naar de index pagina
Stap 2: Parameters uit de URL in de $_GET laden (dit is alleen nodig wanneer de QUERY string ook geoptimaliseert wordt).
Stap 1:
M.b.v. HTACCESS kunnen we de bezoekers omleiden. Plaats daarvoor een bestand met de naam ".htaccess" in de root van je website, waar ook je index.php staat. Dit bestand stuurt de bezoeker door naar de index pagina als de gevraagde URL geen bestaand pad is op je server.
De HTACCESS file bevat de volgende regels:
2
3
4
5
6
7
RewriteEngine On
# Catch non existing files and/or folders (treat as optimized urls)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [NC,L]
Voordeel van deze methode is dat zowel geoptimaliseerde als niet geoptimaliseerde URLs blijven werken.
Stap 2: (indien van toepassing)
M.b.v. PHP wordt gechecked of er een geoptimaliseerde URL was opgegeven. Zo ja wordt deze URL verwerkt indien nodig.
Hiervoor gebruik ik de functie translateUrl(). Deze functie plaats bij een geoptimaliseerde querystring de juiste key/value weer in de $_GET array.
Zorg dat deze gfunctie bovenin je pagina wordt aangeroepen.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function translateUrl()
{
if(array_key_exists("REDIRECT_URL", $_SERVER) && (strcasecmp($_SERVER["REDIRECT_URL"], "") !== 0)) // See if htaccess detected an optimized url
{
$sPath = substr($_SERVER["SCRIPT_NAME"], 0, strlen($_SERVER["SCRIPT_NAME"]) - strlen("index.php"));
$sRequest = substr($_SERVER["REDIRECT_URL"], strlen($sPath));
$args = explode('/', $sRequest);
if(sizeof($args) > 0)
{
// Overwrite arguments (if any)
for($i = 1; $i < sizeof($args); $i += 2)
{
if((strcasecmp($args[$i], "~") !== 0) && (strcasecmp($args[$i], "") !== 0))
{
$key = urldecode($args[$i]);
$_GET[$key] = ((strcasecmp($args[$i + 1], "~") === 0) ? '' : urldecode($args[$i + 1]));
}
}
// Get lable
$_GET["seo"] = ((strcasecmp($args[0], "~") === 0) ? '' : urldecode($args[0]));
ksort($_GET);
}
}
}
?>
Inhoudsopgave
- Tutorial: URL Optimalisatie voor zoekmachines
- Over zoekmachine optimalisatie
- De basis beginselen van URL optimalisatie
- De 'ideale' URL
- Bestaande URLs optimaliseren
- Geoptimaliseerde URLs vertalen
- Het totaal plaatje