Notre scénario est un grand réseau MultiSite. Notre équipe crée des sites en étapes pour les clients en créant un nouveau sous-site sur le réseau. L'URL de travail du développeur, puis celle du client à prévisualiser sont similaires à
stagesite.notreentreprise.com
Maintenant, une fois que tout le contenu est bon et que le client OK est mis en ligne, le domaine est mappé et l’URL du site en direct ressemble maintenant à quelque chose comme:
clientcompany.com
Cependant, nous nous retrouvons avec beaucoup d'URL erronées dans les rapports d'analyse, où les liens, les images, etc. pointent vers l'URL de développement.
Deux questions,
Notez que j'ai exploré l'idée de modifier le fichier hôte et de le construire simplement à partir du nom de domaine réel, mais cela n'est pas réalisable pour la moitié de mon équipe ni pour aucun des clients.
Je vous remercie.
Je recommanderais ce qui suit: (aucune affiliation)
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
Pour une raison quelconque, j'ai eu récemment des expériences étranges avec le plugin de recherche et remplacement de db.
De plus, j'éviterais d'utiliser les définitions dans votre fichier wp-config.php car certains plugins ne l'utilisent pas et affichent un comportement étrange. Mieux vaut mettre à jour la table wp-options pour ces deux options si possible (du moins, c'est mon expérience).
Je fais beaucoup de ce que vous faites ... et je n'ai jamais eu de problème avec l'outil ci-dessus. Assurez-vous simplement de le retirer du site une fois que vous avez terminé.
Comme vous pouvez le voir ici, il y a peu de façons de changer l'URL: http://codex.wordpress.org/Changing_The_Site_URL
Vous pouvez utiliser des constantes comme ceci dans votre fichier wp-config.php:
define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');
Ou vous pouvez changer la base de données. Un bon plugin que vous pouvez utiliser est la recherche et remplacement: https://wordpress.org/plugins/search-and-replace/
Une autre méthode sûre, si vous avez accès via le terminal SSH, vous pouvez utiliser la ligne de commande WordPress: http://wp-cli.org/commands/search-replace/
Velvet Blues est ce que vous recherchez.
De plus, je suis sûr que vous le faites probablement déjà, mais je devrais le dire quand même: il est préférable de décourager les robots de recherche d'indexer le site alors qu'il se trouve sur son URL de développement.
Si vous préférez utiliser une requête MySQL au lieu de Velvet Blues, cela devrait également fonctionner:
UPDATE wp_posts SET post_content=(REPLACE (post_content, '<old url>','<new url>'));
Vous aurez besoin de substituer le nom de la table et les URL, mais cela devrait suffire.
J'espère que c'était utile!
Je recommande fortement BackupBuddy (une solution payante de iThemes.com).
La solution de rechange non payée recommandée comprend:
Tout ce qui précède gère correctement et automatiquement les URL de recherche-remplacement dans la base de données, ainsi que pour les données sérialisées.
Et, si vous devez gérer ce qui précède pour des centaines de sites, WP-CLI devrait pouvoir pour aider - pour BackupBuddy , et probablement aussi pour les autres outils.