Al mover un sitio WP, ¿por qué wp-admin redirige al sitio antiguo?
Estoy en el proceso de mover un sitio WordPress de un host a otro. Copié la base de datos y todos los archivos, creé una nueva base de datos e importé la antigua. Luego cambié el archivo wp-config. La página de inicio se muestra bien, pero cuando intento acceder a /wp-admin me lleva de vuelta al sitio antiguo.
El nuevo sitio es un servidor de desarrollo donde planeo hacer cambios de estilo antes de poner el sitio en producción.
¿Qué me estoy perdiendo en esta transición? ¿Cómo hago para que el sitio responda correctamente a la URL de desarrollo?

Si esta es una instalación única de WordPress, hay un par de entradas en la base de datos con tu dominio antiguo. Específicamente, siteurl
y home
dentro de la tabla wp_options
.
Dicho esto, si la URL de desarrollo es temporal, también puedes definir las siguientes dos constantes en el archivo wp-config.php
:
define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);
define('WP_SITEURL', WP_HOME . '/');
Siempre que WordPress esté instalado en la raíz de tu sitio web.

También necesitarías actualizar el guid
para cada wp_posts
en caso de que haya archivos adjuntos, usando algo como UPDATE wp_posts SET guid = REPLACE('<old_url>','<new_url>', guid)

El GUID no debería cambiarse. Lee más aquí: http://codex.wordpress.org/Changing_The_Site_URL#Important_GUID_Note

No es un gran problema. Tu base de datos contiene todos los enlaces anteriores que no se pueden convertir automáticamente. Hay dos tipos de soluciones para eso:
En el archivo
wp-config.php
agrega este código:define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']); define('WP_SITEURL', WP_HOME . '/');
Cambia el siguiente SQL reemplazando "oldurl" con el enlace anterior y "newurl" con el enlace actual:
UPDATE wp_posts SET guid = replace(guid, 'oldurl','newUrl');
UPDATE wp_posts SET post_content = replace(post_content, 'oldurl', 'newUrl');
UPDATE wp_links SET link_url = replace(link_url, 'oldurl', 'newUrl');
UPDATE wp_links SET link_image = replace(link_image, 'oldurl', 'newUrl');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl');
UPDATE wp_usermeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl');
UPDATE wp_options SET option_value = replace(option_value, 'oldurl', 'newUrl') WHERE option_name = 'home' OR option_name = 'siteurl';
Ejecuta estas consultas SQL en tu base de datos, cambiando el prefijo si tienes algo diferente a wp_
.

Simplemente cambiar la URL del sitio en la configuración probablemente no actualizará todos los elementos internos para crear un sitio de desarrollo funcional (a menos que el sitio sea muy básico). Tendrás problemas con datos serializados que no se muestran y enlaces dentro de las publicaciones que apuntan al sitio anterior.
Sería más inteligente utilizar una herramienta de migración como Backup Buddy o Duplicator para crear una copia completa del sitio que pueda volver a implementarse en una nueva ubicación con una nueva URL. Haciendo esto, seguirás teniendo enlaces funcionales dentro de las publicaciones, cualquier enlace personalizado en los menús, etc. Usar una de estas herramientas también hará que el lanzamiento de tus cambios sea más sencillo. Simplemente empaquétalo todo y vuelve a implementarlo en tu sitio de producción cuando hayas terminado.
Si no quieres perder tiempo descargando/subiendo todo nuevamente, puedes migrar solo la base de datos usando algo como WP Migrate DB. Instálalo en tu sitio de producción, exporta una base de datos con la nueva URL e importa la base de datos migrada a tu entorno de desarrollo mediante phpMyAdmin o similar. Cualquier enlace codificado directamente en tu tema aún necesitará ser actualizado y tu archivo .htaccess también necesitará cambios si estás instalando en una subcarpeta.
Cambia la línea RewriteBase a:
RewriteBase /tucarpeta/
Y la línea que redirige a tu index.php a:
RewriteRule . /tucarpeta/index.php [L]

Tienes que cambiar la Dirección del sitio (URL) y la Dirección de WordPress (URI) a través del panel de administración antes de mover el sitio a otra URL.
En tu caso no puedes hacer eso en un sitio en vivo, así que puedes probar una herramienta como Buscar y reemplazar en bases de datos para cambiar la URL desde la base de datos del sitio de desarrollo.
También puedes consultar Mover WordPress
