J'ai un site Web hébergé avec Yahoo Small Business Hosting et je n'ai pas accès à un fichier . Htaccess.
J'ai environ 220 pages dans un dossier mysubfolder
(http://example.com/myfolder/mysubfolder
) et l'âge du site est d'environ 3 ans.
Je prévois de déplacer les 220 pages de mysubfolder
vers myfolder
(un niveau supérieur). Toutes les pages de mysubfolder
sont indexées.
Quelle est la meilleure façon de le faire, afin que cela n’affecte pas mon référencement?.
Une autre option potentielle serait de suivre les conseils énumérés ici - http://www.craniumstorm.com/moving-wordpress-and-yahoo-small-business-hosting/ et de créer un fichier de redirection dans un fichier. fichier index.php. Maintenant, cela peut ou peut ne pas fonctionner selon le site que vous avez configuré. Si c'est un site basé sur un CMS qui recherche par défaut le fichier index.php en premier, cela fonctionnera très bien. Si c'est un tas de fichiers HTML statiques, probablement pas autant. Quoi qu'il en soit, cela ne ferait pas de mal d'essayer.
<?php
$request = $_SERVER["REQUEST_URI"];
$request_a = explode("/", $request);
$count = count($request_a) - 1;
$request_res = "";
for ($i = 3; $i <= $count; $i++) {
$request_res .= "/" . $request_a[$i];
}
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.newdomainfoo.com/bar" . $request_res);
exit();
?>
Il existe également le gestionnaire de redirection de téléchargement de fichier CSV que vous pouvez utiliser si vous pouviez facilement créer une liste de vos URL actuelles, ainsi que de nouvelles URL, bien que cela puisse poser problème.
La meilleure option serait de migrer hors de Yahoo Small Business car cela semble plutôt contraignant dans de nombreux domaines. Il serait alors très facile de configurer les redirections 301 à ce moment-là, mais cela n’entre pas dans le champ de votre question :)
Afin de ne pas nuire à votre référencement, vous devez utiliser un 1 redirect pour que les moteurs de recherche sachent que les pages ont définitivement été déplacées vers le nouveau répertoire (voir le lien pour en savoir plus).
Confirmé avec un contact à Hébergement de petites entreprises Yahoo : Vous devez utiliser leur outil Gestionnaire de redirection de pages pour configurer 301 règles de redirection comme indiqué ici .
Malheureusement, comme pour la réécriture d'URL à l'aide d'Apache ou d'un autre serveur Web, vous ne pouvez pas le faire par programme pour toutes les URL utilisant une expression régulière, vous devez définir des règles de redirection pour chaque URL.
Étant donné que de nombreuses redirections seraient nécessaires, vous pouvez télécharger vos règles de redirection sous forme de liste dans un fichier CSV, comme indiqué ici . À l'aide d'une feuille de calcul, vous pouvez simplement rechercher/remplacer pour modifier votre liste d'anciennes URL afin de les remplacer par les nouvelles. Vous pouvez également modifier l'extension du fichier en plus du répertoire.
Il convient de noter spécialement ici cependant, vous devez supprimer tous les fichiers de l'ancien emplacement:
Lors de la création et de l'édition de redirections dans Page Redirect Manager, les pages de site existantes ne peuvent pas être redirigées tant qu'elles existent encore sur votre site. La page située à l'URL que vous souhaitez rediriger doit d'abord être supprimée.
Vous devrez également mettre à jour tous les liens internes pointant vers l'ancien répertoire de vos URL afin qu'ils ne soient pas cassés et continuer jusqu'à autorité de transmission . En utilisant l'exemple de la question, recherchez votre site et modifiez:
http://example.com/myfolder/mysubfolder
à http://example.com/myfolder
Essayez également de contacter chaque site externe qui renvoie aux anciennes URL pour leur demander de les remplacer par les nouvelles.
Liens canoniques fera ce que vous voulez. GoogleWebmaster
Exemple:
Déplace cette page http://www.mysite.com/foo/bar/goo.html
À cet endroit http://www.mysite.com/foo/goo.html
Utilisez <link rel="canonical" href="http://www.mysite.com/foo/goo.html"/>
dans l'en-tête de l'ancienne page.
Si vous utilisez un langage côté serveur (PHP, Python, ...) n’est pas difficile, obtenez toutes les adresses URL en terminant par mysubfolder/*, puis redirigez-les vers le nouveau dossier à l'aide de Redirect 301
Ceci est une redirection 301 utilisant PHP:
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.newdomain.com/newdir/newpage.htm");
exit();
Si les fichiers sont au format .html et que vous ne pouvez pas utiliser le côté serveur, vous devez ajouter
<META HTTP-EQUIV=Refresh CONTENT="0; URL=http://mysite.com/myfolder/foo.html">
à tous les fichiers sur subfolder
(Je vous recommande de télécharger des fichiers, puis d’utiliser un éditeur de texte avec la fonction Rechercher & remplacer et de télécharger agin). Dans tous les cas, vous devriez éviter d'utiliser la redirection Javascript.