Quando sposti un sito WP, perché wp-admin reindirizza al vecchio sito?
Sono nel processo di spostamento di un sito WordPress da un host all'altro. Ho copiato il database e tutti i file, creato un nuovo database e importato quello vecchio. Ho poi modificato il file wp-config. La home page si visualizza correttamente, ma quando provo ad accedere a /wp-admin mi riporta al vecchio sito.
Il nuovo sito è su un server di sviluppo dove intendo apportare modifiche allo stile prima di mettere il sito online.
Cosa mi sfugge in questa transizione? Come posso far sì che il sito risponda correttamente all'URL di sviluppo?

Se si tratta di un'installazione singola di WordPress, ci sono alcune voci nel database con il tuo vecchio dominio. Nello specifico, siteurl
e home
all'interno della tabella wp_options
.
Detto questo, se l'URL di sviluppo è temporaneo, puoi anche impostare le seguenti due costanti nel file wp-config.php
:
define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);
define('WP_SITEURL', WP_HOME . '/');
A condizione che WordPress sia installato nella root del tuo sito web.

Dovresti anche aggiornare il guid
per ogni wp_posts
nel caso ci siano allegati, usando qualcosa come UPDATE wp_posts SET guid = REPLACE('<old_url>','<new_url>', guid)

Il GUID non dovrebbe essere modificato. Leggi di più qui: http://codex.wordpress.org/Changing_The_Site_URL#Important_GUID_Note

Non è un grosso problema. Il tuo database contiene tutti i vecchi link che non possono essere convertiti automaticamente. Ci sono due tipi di soluzioni per questo:
In
wp-config.php
aggiungi questo codice:define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']); define('WP_SITEURL', WP_HOME . '/');
Modifica il seguente SQL sostituendo "oldurl" con il vecchio link e "newurl" con il link attuale:
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';
Esegui queste query SQL nel tuo database, modificando il prefisso se hai qualcosa di diverso da wp_
.

Modificare semplicemente l'URL del sito nel file di configurazione probabilmente non aggiornerà tutti gli elementi interni per creare un sito di sviluppo funzionale (a meno che il sito non sia molto semplice). Avrai problemi con i dati serializzati che non vengono visualizzati e i link all'interno degli articoli che puntano al vecchio sito.
Sarebbe più intelligente utilizzare uno strumento di migrazione come Backup Buddy o Duplicator per creare una copia completa del sito che può essere ridistribuita in una nuova posizione con un nuovo URL. In questo modo, avrai ancora link funzionanti all'interno degli articoli, eventuali link personalizzati nei menu, ecc. Usare uno di questi strumenti renderà anche più semplice pubblicare le tue modifiche. Basta impacchettare tutto e ridistribuire sul sito di produzione quando hai finito.
Se non vuoi perdere tempo a scaricare/caricare tutto di nuovo, puoi migrare solo il database usando qualcosa come WP Migrate DB. Installalo sul tuo sito di produzione, esporta un database con il nuovo URL e importa il database migrato nel tuo ambiente di sviluppo tramite phpMyAdmin o simile. Eventuali link hardcoded nel tuo tema dovranno comunque essere aggiornati e il tuo file .htaccess dovrà essere modificato se stai installando in una sottocartella.
Modifica la riga RewriteBase in:
RewriteBase /tuacartella/
E la riga che reindirizza al tuo index.php in:
RewriteRule . /tuacartella/index.php [L]

Devi modificare l'indirizzo del sito (URL) e l'indirizzo WordPress (URI) tramite il pannello di amministrazione prima di spostare il sito su un altro URL.
Nel tuo caso non puoi farlo su un sito live, quindi puoi provare uno strumento come Cerca e sostituisci nei database per cambiare l'URL dal database del sito di sviluppo.
Puoi anche fare riferimento alla guida Spostare WordPress
