web-dev-qa-db-fra.com

Comment puis-je rediriger la page d'index racine vers un sous-répertoire sans affecter le référencement?

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?

2
paradroid

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

5
DavChana