Une fonctionnalité plutôt méconnu dans WordPress permet de corriger l’url du site afin de retrouver un site en état de marche.
Particulièrement utile, la méthode « automatic relocation » de WordPress est prévu pour être une sorte d’assistant rapide afin de re-parametrer l’adresse d’un site lorsque son URL à changé, par exemple lors d’une migration d’un serveur à un autre, ou quand on change de nom de domaine.
Cette méthode est intéressante car elle est native, elle ne nécessite aucun plugins ou extensions mais nécessitera quelques manipulations.
Rapide tutoriel
Vous venez de changer l’url de votre site, de ce fait vous ne pouvez plus accéder à votre administration, puisqu’elle vous redirige vers l’ancienne adresse …
A ce moment là, via votre ftp pour inscrire define(‘RELOCATE’,true); parmi les premieres lignes de votre fichier wp-config.php, vous visitez la page wp-login.php puis vous vous connectez normalement à votre compte.
Maintenant votre administration est accessible avec la nouvelle url.
Cela vous permettra donc de pouvoir changer tout les autres paramètres depuis le back-office.
C’est presque magique, mais ça ne fait pas tout
Lorsque la constante « RELOCATE » à été défini à true dans le fichier wp-config.php, une partie du code présent dans la page de connexion va détecter la constante RELOCATE et effectuer quelques actions supplémentaires …
[pastacode lang= »php » message= »mise à jour de l’url d’un site wordpress » highlight= » » provider= »manual »]
if ( defined( 'RELOCATE' ) && RELOCATE )
{
// Move flag is set
if ( isset( $_SERVER['PATH_INFO'] ) && ($_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF']) )
$_SERVER['PHP_SELF'] = str_replace( $_SERVER['PATH_INFO'], , $_SERVER['PHP_SELF'] );
$url = dirname( set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] ) );
if ( $url != get_option( 'siteurl' ) )
update_option( 'siteurl', $url );
}
[/pastacode]
WordPress va donc corriger en base de donnée la case ‘siteurl’, quand on analyse le code on se rend compte que cette technique ne fait qu’une seule chose : rendre accès à l’administration de wordpress depuis l’url que vous aurez tapé dans votre navigateur.
De ce fait voici une petite mise en garde :
attention à ne pas laisser trainer cette variable en permanence, c’est potentiellement une porte ouverte pour qu’un petit malin vous fasse une blague de mauvais goût …
En effet, à chaque connexion cette constante changera l’url de votre administration.
D’une part, il y’a donc une perte de performance inutile, avec une connexion à la base de donnée.
D’autre part, on peut appeller votre wordpress avec un autre nom de domaine grâce à diverses techniques, (la plus simple étant peut-être la modification de son fichier host pour pointer vers votre serveur).
il est donc possible de bloquer votre administration …
Mister WordPress dit
Salut David !
Je ne connaissais pas cette astuce, il est vrai, qui peut aider certains utilisateurs de WordPress (plus ou moins expérimentés) à se sauver les miches.
De mon coté, je fais correctement les migrations en amont, en veillant à faire un search & replace, sur toutes les occurrences de l’adresse URL du site Web, ainsi que le dossier d’accès serveur.
Dans ce cas, pas de souci ! ;-)