Per i permalink (gli url "brevi" o pretty) viene utilizzato il mod_rewrite del web server (es apache). Se vedi nell'istallazione di wordpress hai un file .htaccess fatto così:

codice:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>


# END WordPress
Questo, in breve, dice al webserver se la richiesta non è la index.php o un file/cartella esistente allora "rimandala" alla index.php(RewriteRule . /index.php [L]).
(sinceramente non ho ben capito come fa a passagli poi l'url digitato. In altri casi l'htaccess è un po' diverso)

Quindi tu scrivi sul browser www.sito.com/contatti, "contatti" non è una risorsa esistente sul server e viene così richiamata la index.php (in qualche modo poi wordpress capisce che è stata richiesta la url /contatti)

Ovviamente lato php ci deve essere un sistema per poi associare "/contatti" con lo script php che si occuperà della richiesta