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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
# Start rewrite engine
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
<?php

    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);
            }
        }
    }


?>

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Tutorial: URL Optimalisatie voor zoekmachines
  2. Over zoekmachine optimalisatie
  3. De basis beginselen van URL optimalisatie
  4. De 'ideale' URL
  5. Bestaande URLs optimaliseren
  6. Geoptimaliseerde URLs vertalen
  7. Het totaal plaatje

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.