web-dev-qa-db-fra.com

Comment publier de nouveaux articles/pages dans la racine au lieu d'un sous-dossier, tout en maintenant l'ancienne structure

J'ai un blog qui a été configuré dans example.org/blog/ il y a de nombreuses années, de sorte que tous ses fichiers sont dans /blog/. À l'époque, cela semblait être une bonne idée, mais maintenant nous voulons lentement nous débarrasser du sous-dossier.

Bien sûr, je pourrais déplacer l’installation dans le dossier racine /, changer l’URL de wordpress en option et tout déplacer, ajouter une redirection htaccess de /blog/* à /* pour que les anciens liens fonctionnent toujours.

Mais nous voulons le faire lentement car déplacer tout le contenu à la fois constituerait un risque majeur et un désastre possible pour le classement et le trafic de Google. Les redirections 301/302 sont acceptables, mais Google n'est pas très heureux si vous déplacez des milliers d'articles à la fois alors que les liens restent les mêmes. Donc, nouveau contenu en premier, puis vieux trucs.

Est-il possible de ne publier que de nouveaux articles et pages dans example.org/ au lieu de example.org/blog/?

Je suis capable de toutes sortes de piratages. J'ai déjà plusieurs blogs fonctionnant avec l'installation de Wordpress dans des sous-dossiers, j'ai redirigé et déplacé des blogs un peu partout et écrit des scripts pour modifier les valeurs de toutes les lignes d'une table de base de données. L'amener sur :)

1
janpio

Mmmm, je pense que si vous envisagez un changement majeur pour le projet, vous pouvez procéder comme suit:

  1. Bien sûr, créez un instantané de développement de votre site, ailleurs. Fichiers Fork et base de données, vous pouvez même tromper le vhost de développement et le client développeur afin que vous n'ayez même pas besoin de changer les paramètres liés à l'URL dans la table wp_options de la base de données.
  2. Dans la base de données, remplacez chaque motif de " http: //mydomain.tld/blog/ " pour " http : //mydomain.tld/ ". Gardez à l'esprit que vous pouvez avoir quelques variations de ce modèle (avec/sans www, avec/sans https, etc.).
  3. Après avoir effectué ces tâches, vous pouvez déplacer tous les fichiers et définir une seule règle de redirection pour déplacer l'ensemble du blog. Les liens intra-liens actualisés correspondent au nouveau modèle d'URL et ne gênent donc pas Google :)

Si votre site indique le comptage de "partages sociaux" au visiteur pour n'importe quelle URL, ce serait certainement un problème. Mais il est déjà résolu et imiter l'approche recommandée à . Encosia devrait suffire s'il s'agit d'un problème pour votre projet.

1
versvs

Je pense que la meilleure façon, est que vous changez globalement, aussi l'ancien post, supprimez le sous-dossier.

Mais je pense qu'il est également possible que vous utilisiez le hook publish_post/_page pour changer les règles de réécriture des nouveaux articles/pages. Peut-être que vous pouvez apprendre sur la source d’exemples Toschos pour comprendre les possibilités de réécriture, voir son dépôt sur github . Mais cela génère aussi un sujet de performance. La logique doit vérifier, si le poste est nouveau, depuis la date mm.yyyy et changer le lien permanent ad hoc. Beaucoup plus complexe en tant que changement global. Peut-être est-il préférable que vous amélioriez les anciens messages avec une réécriture, que tous les messages fonctionnent également à partir de l’ancien /blog/ url.

1
bueltge