Je relance/réorganise mon blog personnel WordPress.
Il utilise une URL qui ressemble à ceci:
http://mydomain.com/blog
Le serveur Web 301 redirige www.mydomain.com
vers mydomain.com
.
Je souhaite utiliser le sous-répertoire blog
, car je prévois d’ajouter d’autres éléments au site, le blog ne constituant qu’une partie du site.
Cependant, pour le moment, il n'y a rien d'autre que le blog, je souhaite donc que la page d'index racine soit redirigée vers le blog pour le moment.
Je l'ai utilisé sur la page racine index.html
pour faire la redirection ...
<meta http-equiv="REFRESH" content="0;url=./blog">
... mais cela semblait avoir empêché l'indexation du site par Google et Bing.
Comment puis-je faire cela sans affecter le référencement? Aussi, quelle URL dois-je mettre dans le sitemap.xml
?
Vous pouvez réécrire les URL en interne dans votre fichier .htaccess racine.
RewriteEngine On
#if request is mydomain.com/something OR
RewriteCond %{HTTP_Host} ^mydomain\.com$ [OR]
# or www.mydomain.com/something
RewriteCond %{HTTP_Host} ^www\.mydomain\.com$
# but not mydomain.com/blog
RewriteCond %{REQUEST_URI} !^/blog/
#change it to mydomain.com/blog/something
RewriteRule (.*) /blog/$1 [R=301]
Ou, si vous souhaitez appliquer une solution temporaire jusqu'à ce que vous développiez les autres parties du site, vous pouvez placer un index.php
à la racine avec le code suivant:
<?php
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.mydomain.com/blog" );
?>
Les avantages de cette approche sont qu’il n’ya pas de fouillis actuel/possible d’URL. Et c'est plus simple que l'approche .htaccess
. Cela indiquera également à Google que cette page a été déplacée de manière permanente (ou temorary avec 302) vers ce nouvel emplacement. (Bien que [R=301]
dans .htaccess
aurait fait la même chose.)
Voici un discussion sur les redirections 301 et 302 par Matt Cutts