it-swarm-es.com

¿Cómo: Mover fácilmente una instalación de WordPress desde el desarrollo a la producción?

Hago desarrollo en una caja y uso una segunda para producción. En este momento, simplemente vuelco la base de datos y luego busco un reemplazo para los cambios de URL; luego copiar sobre los archivos e importar el nuevo SQL.

¿Hay mejores maneras de hacer esto?

197
Ryan Gibbons

@ Insanity5902 : El despliegue de un sitio de WordPress de una caja a otra ha sido un PITA desde el primer día que empecé a trabajar con WordPress. (A decir verdad, fue un PITA con Drupal durante 2 años antes de comenzar con WordPress, por lo que el problema no es exclusivo de WordPress).

Me molestaba que cada vez que tuviera que mover un sitio tuviera que gastar tanto esfuerzo a menudo duplicado y me impidiera implementarlo para probarlo con la frecuencia que hubiera preferido. Hace unos 4-6 meses comencé a trabajar en un complemento para resolver el problema de la migración del host web y mencioné mis ideas en el WP foro de la taberna .

Bueno, avancemos a hoy y prácticamente lo tengo funcionando y lo llamo "WP Migrate Webhosts." A pesar de que el complemento aún es muy beta (probablemente incluso alfa) dada tu pregunta, creo que estoy listo para permitir que la gente comience a golpearlo.

El caso de uso previsto es que:

  1. primero, el desarrollador se encarga de cargar todos los archivos modificados de temas y complementos a través de FTP.
  2. luego carga la base de datos MySQL de desarrollo al servidor de prueba en su totalidad y finalmente
  3. entonces ejecuta el complemento para migrar cualquier referencia del dominio anterior al nuevo. (Mi complemento intenta no intentar resolver la fusión de nuevos campos de bases de datos o tablas con datos en vivo; QUE es un problema mucho mayor que no estoy seguro de cómo resolver. )

Puede descargar el complemento desde mi sitio web y descomprimirlo en su directorio de complementos (si no sabe cómo hacerlo, entonces este complemento no es para usted porque requiere que alguien que sabe lo que están haciendo lo use). ) Mantendré este complemento en línea hasta que lo publique en WordPress.org, después de lo cual deberá buscarlo allí.

Para usarlo, adopta un enfoque diferente en su wp-config.php que normalmente comentando las cuatro (4) definiciones DB_NAME, DB_USER, DB_PASSWORD y DB_Host y en su lugar registrando los valores predeterminados para los hosts web y luego registrando información sobre cada alojamiento web. . Este es el aspecto que podría tener ese segmento de wp-config.php (tenga en cuenta que la primera sección es el código innecesario comentado y también tengo en cuenta que configuré mi archivo de hosts en mi máquina local con dominios de nivel superior .dev no enrutables para hacer el desarrollo del día a día en la Mac VirtualHostX hace que esto sea una brisa):

// ** MySQL settings - You can get this info from your web Host ** //
/** The name of the database for WordPress */
//define('DB_NAME', 'wp30');

/** MySQL database username */
//define('DB_USER', 'wp30_anon');

/** MySQL database password */
//define('DB_PASSWORD', '12345');

/** MySQL hostname */
//define('DB_Host', '127.0.0.1:3306');

require_once(ABSPATH . 'wp-content/plugins/wp-migrate-webhosts/wp-webhosts.php');
register_webhost_defaults(array(
 'database'  => 'example_db',
 'user'      => 'example_user',
 'password'  => '12345',
 'Host'      => 'localhost',
 'sitepath'  => '',        // '' if WordPress is installed in the root
));
register_webhost('dev',array(
 'name'      => 'Example Local Development',
 'Host'      => '127.0.0.1:3306',
 'domain'    => 'example.dev',
 'rootdir'   => '/Users/mikeschinkel/Sites/example/trunk',
));
register_webhost('test',array(
 'name'      => 'Example Test Server',
 'rootdir'   => '/home/example/public_html/test',
 'domain'    => 'test.example.com',
));
register_webhost('stage',array(
 'name'      => 'Example Staging Server',
 'rootdir'   => '/home/example/public_html/stage',
 'domain'    => 'stage.example.com',
));
register_webhost('live',array(
 'name'      => 'Example Live Site',
 'rootdir'   => '/home/example/public_html/',
 'password'  => '%asd59kar12*fr',
 'domain'    => 'www.example.com',
));
require_once(ABSPATH . 'wp-content/plugins/wp-migrate-webhosts/set-webhost.php');

Esperemos que esto sea (en su mayoría) autoexplicativo. Intenté hacer el código tan limpio como pude, pero desafortunadamente requiere esas dos líneas crípticas require_once() antes y después del bloque de código de registro de alojamiento web, ya que no había forma de que "hook" WordPress antes de wp-config.php sea llamado.

Una vez que haya actualizado su wp-config.php, entonces simplemente puede utilizar el acceso directo a la URL wp-migrate-webhosts para ir a la pantalla de administración de la siguiente manera:

http://example.com/wp-migrate-webhosts

Lo anterior lo llevará a una pantalla de administración como la siguiente, que tiene un poco de texto descriptivo y le permite migrar DE a cualquiera de los otros dominios de alojamiento web con un solo clic después de seleccionar los dominios para migrar de (NOTA: este ejemplo muestra que va HACIA ABAJO de los servidores de prueba/etapa/en vivo al desarrollo local, pero puede estar seguro de que puede migrar A cualquier dominio en el que esté ubicado. Esto también significa ¡el complemento será excelente para tomar un sitio en vivo existente y hacer funcionar rápidamente un entorno de desarrollo local! ):

 enter image description here 

Si no está claro, "migración" en este contexto significa actualizar todas las referencias en la base de datos actual para que sean apropiadas para el host web definido actualmente (y "actual" es sniffed inspeccionando $_SERVER['SERVER_NAME'].)

Lo bueno de este complemento es que implementa algunas migraciones básicas pero cualquiera puede conectarlo y realizar sus propias migraciones . Por ejemplo, si agrega un complemento de la galería que almacena rutas completas a las imágenes en la base de datos, puede enganchar la acción migrate_webhosts a la que se le pasará el sitio web "from" y el "to" El host web cada uno como una matriz de metadatos y se le permitirá realizar cualquier cosa que necesite hacer en la base de datos utilizando SQL o cualquier función de API de WordPress aplicable para realizar la migración. Sí, cualquiera de nosotros podría hacer esto sin el complemento, pero sin el complemento encontré que escribir todo el código necesario era más esfuerzo de lo que valía. Con el plugin es más fácil escribir estos pequeños ganchos y acabar de una vez.

También puede encontrar que mis migraciones fallan en los casos Edge que no he probado y ¿quizás pueda ayudarme a mejorar el complemento? Cualquier persona que quiera puede enviarme un correo electrónico a través de mi cuenta de Gmail (mi alias es "mikeschinkel").

Además, el complemento fue diseñado para aceptar metadatos de alojamiento web definidos por el usuario además de los que reconoce como database, user, password, Host, domain etc. Un ejemplo perfecto podría ser googlemaps_apikey donde puede almacenar las diferentes claves API para cada dominio. que el complemento de Google Map necesita funcionar correctamente (¿quién de ustedes que ha utilizado un complemento de Google Maps no ha implementado una aplicación en un servidor en vivo y se ha olvidado de cambiar el código a la clave API correcta? Vamos, sea honesto ... :) Con este complemento, un elemento googlemaps_apikey en su matriz register_webhost () y un pequeño enlace personalizado migrate_webhosts puede eliminar eso efectivamente como una preocupación.

Bueno, eso es todo. Estoy lanzando este plugin aquí en el Intercambio de Respuestas de WordPress porque la pregunta de @ Insanity5902 lo activó. Déjeme saber si es útil, aquí si es apropiado o por correo electrónico si no.

PD Si decides usarlo, recuerda que es alfa/beta y eso significa que cambiará, así que prepárate para una cirugía menor si quieres usarlo ahora y luego usa la versión de lanzamiento una vez que haya sido golpeado por muchas manos.

P.P.S. ¿Cuáles son mis metas con esto? Me encanta ver que esto migre al núcleo de WordPress para que todos tengan acceso a él. Pero antes de que eso se pueda considerar, muchas personas tienen que estar interesadas en usarlo para asegurarse de que realmente resuelva más problemas de los que potencialmente podría crear. Entonces, si te gusta la idea, entonces, por todos los medios, úsala y ayúdame a ganar impulso con ella para una eventual inclusión esperanzadora en el núcleo de WordPress.

121
MikeSchinkel

Cuando es posible, establezco WP_HOME y WP_SITEURL en wp-config.php. Esto, combinado con un volcado e importación de la base de datos, es la más simple de todas las soluciones con las que estoy familiarizado.

http://codex.wordpress.org/Changing_The_Site_URL#Edit_wp-config.php

35
Annika Backstrom

Mi truco favorito; agregue una configuración a su /etc/hosts para que el dominio de producción apunte a su caja de desarrollo, solo en su máquina. Para implementarlo en producción, rsync todos los archivos y presione la base de datos.

Los riesgos de esta estrategia son claros; puede confundir su entorno de desarrollo con su entorno de producción.

Aunque sigue siendo una solución fácil.

27
Wietse Venema

Quería algo similar cuando migré a WP hace unos meses, así que escribí un script de Shell bastante simple que usa rsync y mysqldump sobre ssh:

http://snarfed.org/sync_wordpress

No es sofisticado o basado en la web, pero estoy contento con eso.

9
ryan

WP Engine es un nuevo servicio que ofrece "puesta en escena con un clic":

WPEngine tiene una función exclusiva llamada "puesta en escena". Así es como funciona: antes de realizar un cambio de miedo en su blog, haga clic en el botón "instantánea". Hacemos una copia completa de su blog y lo configuramos en un área separada y segura. Puedes jugar con lo que quieras; nada es en vivo Solo cuando estés listo para hacerlo en vivo, tocas tu sitio principal.

Parece una manera muy fácil de pasar rápidamente del desarrollo a la producción, especialmente con un sitio que ya está activo.

8
Travis Northcutt

Complemento de duplicador: Aquí hay un complemento en el que he estado trabajando. Actualmente está en versión beta, pero hace el trabajo para la mayoría de los sitios. Ahora mismo está dirigido a instalaciones más pequeñas de WordPress. http://wordpress.org/extend/plugins/duplicator/

Recursos: Puede encontrar recursos adicionales para el complemento aquí: http://lifeinthegrid.com/duplicator/

Comunidad: ¡Infórmenos sobre sus éxitos o cualquier problema que pueda tener! En un esfuerzo por administrar más fácilmente los diversos subprocesos, publique los problemas en los foros de plugins de WordPress.org. No publique ningún dato de registro del complemento en los foros en línea. Los datos de registro se pueden enviar a nuestro sitio de soporte.

7
Cory

Puede echar un vistazo a un producto de iThemes, llamado BackUpBuddy . Solo lo he usado dos veces, cada vez tuve uno o dos problemas, pero en general parece prometedor.

6
MikeK

Esto parece prometedor. Estamos trabajando en algunos scripts para gestionar la migración de algunos de los datos, por ejemplo, wp-options, cambiando las rutas en la base de datos, y copiando sobre los medios.

El problema que tengo es que el sitio en vivo continúa creciendo mientras que el otro está en desarrollo. Un sitio en el que trabajamos tiene 20 publicaciones por día y más de 3,000 comentarios por día. Eso es demasiada información para moverla con phpmyadmin o mediante la línea de comandos. Además, mover los datos siempre provoca problemas de UTF por algún motivo.

Además, ahora que parece que las opciones de menú están almacenadas en la base de datos, tengo aún más que tratar.

Verifico todo mi código en SVN e implemento el código a través de FTP desde el servidor (Beanstalk). Sin embargo, esto no hace los cambios en la base de datos ni activa nuevos complementos.

Mi plan ahora mismo es crear un archivo de manifiesto mientras estoy desarrollando para hacer todos mis cambios al sitio en vivo.

Por ejemplo, el archivo tendría líneas legibles por humanos.

Incluiría complementos para activar, wp-opciones para mover, imágenes para mover, páginas para mover. Luego, mi complemento detectaría el archivo de manifiesto y realizaría todos los cambios en el sitio de ensayo.

Una vez que probé eso y estaba seguro de que obtuve todo, podría estar seguro de que funcionaría en la producción.

Este complemento es solo una idea, pero tengo un código escrito para ello.

Además, si desea realizar cambios en solo la URL en su base de datos, puede usar el siguiente SQL.

simplemente reemplace $old$ con el antiguo dominio y $new$ con el nuevo

update wp_postmeta set meta_value = replace(meta_value, '$old$' , '$new$') ;
update wp_posts set post_content = replace(post_content, '$old$' , '$new$') ;
update wp_options set option_value = replace(option_value, '$old$' , '$new$') ;
5
Andrew

Estoy abordando personalmente este problema con mi proyecto en Github, llamado Autopress . Todavía no tengo una solución perfecta, pero me estoy acercando, especialmente con el plugin wpstage de la gente de wpengine.

5
Vid Luther

Dos proyectos de Google Summer of Code que tienen un objetivo similar:

4
Jan Fabry

A partir de 2017, he aquí las dos mejores formas que he encontrado para manejar la transferencia de una base de datos de WordPress desde el desarrollo hasta la producción.

WP Migrate DB Pro/WP Sync DB

https://wordpress.org/plugins/wp-migrate-db/

Estos complementos de WordPress le permiten empujar, extraer y sincronizar tablas de bases de datos entre instalaciones de WordPress. Esto es mucho mejor que buscar/reemplazar por muchas razones porque:

  • Exporta su base de datos como un volcado de datos MySQL (como phpMyAdmin)
  • Hace una búsqueda y reemplazo en las direcciones URL y rutas de archivos
  • Maneja datos serializados.
  • Le permite guardarlo en su computadora como un archivo SQL

Soy un fanático de que me paguen por el trabajo que hago, por lo que te recomiendo que apoyes al Sr. Brad Touesnard y compres una copia de las licencias de la cosa real. WP Sync DB es una réplica y, como resultado, siempre está detrás del soporte. Con este plugin el proceso es muerto simple:

  1. Instale/active el complemento en su entorno local de producción y host
  2. Configure una transferencia Push desde su servidor local/servidor de desarrollo a su producción
  3. Complete las reglas para las tablas que desea transferir, y defina las reglas de buscar y reemplazar para realizar
  4. ¡Eso es!

Búsqueda y reemplazo de bases de datos para bases de datos de WordPress por InterconnectIT

https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

Esta herramienta gratuita no es un complemento, pero se instala en el directorio raíz de su instalación de producción de WordPress. Esto no es tan bueno como WP Migrate DB Pro porque requiere unos pocos pasos manuales, pero no obstante, es una gran opción que siempre funciona. Cuando se utiliza este enfoque, el proceso se ve así:

  1. Haga una copia de seguridad de su base de datos local, esto es absolutamente necesario ya que lo volveremos a importar pronto
  2. Agregue el script a una carpeta en su directorio raíz de instalaciones
  3. Ejecuta el buscar y reemplazar en tu base de datos
  4. Exporta tu base de datos y guárdala en tu entorno de producción.
  5. Vuelva a importar su copia de seguridad desde el paso # 1 para restaurar su host local
  6. Conéctese a su base de datos de producción y haga una copia de seguridad (como siempre debería hacer antes de hacer estas cosas)
  7. Importe la exportación que hicimos DESPUÉS de ejecutar la rutina de buscar/reemplazar del paso # 4

Puede utilizar un enfoque más rápido, pero implica un tiempo de inactividad para su sitio de producción, lo que, en mi opinión, es inaceptable. Por eso lo llamamos producción, ¿verdad?

3
Kevin Leary

Si bien no hay escasez de buenas soluciones aquí, en el espíritu de compartir, pensé que agregaría mi script de implementación de bash a la pila: https://github.com/jplew/SyncDB

SyncDB es un script de despliegue bash destinado a eliminar el tedio de la sincronización de las versiones locales y remotas de un sitio de Wordpress. Permite a los desarrolladores que trabajan en un entorno local (por ejemplo, MAMP) "empujar" o "tirar" rápidamente los cambios hacia o desde su servidor de producción con un solo comando de terminal.

Este script funciona bien con el WP-Skeleton de Mark Jaquith, y utiliza mysqldump, git y rsync para sincronizar todo el sitio (base de datos, código y medios) en dos sencillos pasos:

./syncdb
git Push hub master
3
JP Lew

He estado usando http://wordpress.org/plugins/wp-clone-by-wp-academy/ . ¡Funciona muy bien!

Solo 3 pasos:

  1. Instala el plugin en ambos sitios.
  2. Utilice el complemento para generar una copia de seguridad en el sitio anterior.
  3. ¡Tome la URL de respaldo que le proporciona y conéctela a la página del complemento en el nuevo sitio, haga clic en ir, y su migración se completará en solo unos segundos!

Ajusta todas las URL automáticamente, incluidas las sustituciones de cadenas serializadas, por lo que no hay riesgo de perder configuraciones de widgets, etc.

Los únicos problemas que he tenido son con algunos sitios web con bases de datos más grandes (~ 300 MB), lo que causó PHP tiempo de espera de ejecución del script durante la importación de la copia de seguridad del sitio.

3
jmotes

Utilizo el comando de exportación de Subversion para instalar los archivos de WordPress (http://core.svn.wordpress.org/tags//), así como todos los complementos en el repositorio (http://plugins.svn.wordpress.org//tags) //), luego simplemente comprima el tema y los complementos personalizados e instálelos normalmente. Una vez que todo esto esté listo y funcionando sin contenido, exporto la base de datos de prueba y hago una búsqueda/reemplazo para la URL Y la ruta de archivo (almacenada para medios) e importo a una base de datos vacía, luego simplemente cambie la información de la base de datos en wp-config .php. Generalmente me lleva unos 10 - 20 minutos.

3
John P Bloch

Normalmente inicio sesión en phpMyadmin para cargar la base de datos y editar los contenidos de wp_options> siteurl y wp_options> home al dominio esperado. Si necesita actualizar las URL dentro del contenido de sus publicaciones y páginas, puede hacer una búsqueda/reemplazo de la URL y la ruta de los medios/cargas en el archivo .SQL antes de cargar. Es un trabajo rápido.

3
Alex Costa

He estado usando el complemento backupbuddy por un tiempo. Le permite hacer una copia de seguridad de la base de datos y todos los archivos, descargarla como un archivo Zip o enviarla directamente a otro servidor a través de FTP. También hace la URL encontrar y reemplazar por usted. Por lo general, me lleva unos 5 minutos para pasar por todo el proceso. Y como todos los archivos están comprimidos, el proceso de carga/descarga es mucho más rápido. Y no, no trabajo para ellos, pero este complemento realmente ha facilitado todo este proceso.

1
gdaniel

Otra solución de pago: el marco temático de Xtreme One versión lanzada 1.2 con Xtreme Backup que le permite "exportar o importar la configuración de sus Childthemes, diseños o widgets con todas sus configuraciones/contenido como Archivo XML. "

1
Jan Fabry

ya que ejecuto mis sitios en IIS (también ejecuto asp.net, así que necesito ventanas) Utilizo WebPI de Msft para instalar una nueva instancia, luego copio la plantilla y uso la importación/exportación para transferir los datos.

No es perfecto pero todo lleva menos de una hora.

Obviamente, sería bueno tener una solución de un solo clic, pero esto es lo que me pareció más fácil.

1
Sruly

RAMP es un nuevo complemento de despliegue de contenido de Crowd Favorite, y se ve realmente elegante. Sin embargo, es de $ 250, así que todavía no lo he probado. Sin embargo, podría pagarse solo en la cantidad de tiempo ahorrado, así que lo estoy considerando.

El gran beneficio que tiene sobre la mayoría de los otros métodos mencionados, es que puede combinar de manera inteligente publicaciones, comentarios, etc. No se trata solo de importar un mysqldump, es más bien un control de fuente para la base de datos. Por ejemplo, al implementar una publicación, también implementará las etiquetas para esa publicación, si aún no existen en producción.

1
Ian Dunn

Un compañero de trabajo encontró esto. Concepto interesante, aunque no funciona como servidor cruzado. Todavía lo estoy explorando, pero parece que podría funcionar muy bien para una instancia de ensayo

http://code.google.com/p/deploymint/

1
Ryan Gibbons

Es posible que esto no haya existido cuando hiciste la pregunta, pero he estado usando un servicio llamado Blogvault durante un par de meses y lo ha hecho perfectamente. Probablemente he realizado más de 50 migraciones (cruzando dominios, subdominios y servidores web), sin ningún problema y no lleva tiempo.

Es un servicio de pago (por dominio/mes), pero no tanto.

1
Larry

Esta es la forma más fácil de hacerlo: https://themes.artbees.net/docs/website-migration/
Solo toma dos clics. Uno para exportar, uno para importar.

Es posible usando el complemento Todo en uno WP Migración. El enlace de arriba muestra cómo usarlo.

1
Mohsenr1

Otra herramienta útil para manejar las migraciones de servidor para los sitios es el CLI de WordPress. Este artículo tiene una buena visión general de lo que puede hacer, pero específicamente la sección "Buscar y reemplazar" es útil para encontrar todas las referencias a la antigua URL del sitio/dev. :

Gestión avanzada de WordPress con WP-CLI

1
Rick Curran

Déjame regalar uno de mis favoritos :-)

// proven local<->live codefork (covers local network testing, i.e. from mobile devices):
$GLOBALS['is_local'] =  
    in_array( $_SERVER['REMOTE_ADDR'], array("127.0.0.1","::1")) || // simple localhost (IPv4 IPv6)
              $_SERVER['HTTP_Host'] == 'local.workblog'          || // call by local name (adjust)
       substr($_SERVER["REMOTE_ADDR"],0,8) == '192.168.';           // (mobile) device in local network

$table_prefix  = NULL; // ensure scope

if ( $GLOBALS['is_local'] )  // LOCAL fork ------------------------
{
        ....
}
else  // STAGE/LIVE fork -------------------
{

... y luego trabajas tu camino desde allí. DB_NAME, DB_USER ... table_prefix. Personalmente enciendo ALTERNATE_WP_CRON en local (para evitar algunas advertencias molestas ), WP_DEBUG en tanto (si no eres un desarrollador) como en live-only (si eres), otra ini_set('display_errors', '0'); para live también podría funcionar bueno, y por último, como se mencionó anteriormente: WP_HOME y WP_SITEURL a la URL local/actual respectiva.

Eso es casi todo, nada queda por encima del clásico WordPress '¡Eso es todo, deja de editar!' línea ...

El 192.168. parte le permite realizar algunas pruebas locales (es decir, desde parches o teléfonos) dentro de su red local)

El $ GLOBALS ['is_local'] también puede ser útil en el desarrollo de su tema, para algunos resultados de depuración adicionales, etc.

1
Frank Nocke

Después de haber seguido esta respuesta por un tiempo, he creado mi propio pequeño plugin - Pitta Migration . Las razones son:

  1. De todas las ideas que se intentaron aquí, la más simple es la de WP_HOME y WP_SITEURL
  2. Luego los uso para establecer las dos URL wp_options coincidentes, que cubren cuando los complementos/temas ignoran estos
  3. Esto me da 100% de confianza en lo que se está cambiando en mi base de datos
  4. Esto también funciona multiplataforma (todos los scripts de bash no funcionan bien en Windows)
  5. Es fácil entender lo que hace el plugin
  6. No hay ninguna configuración más allá de las dos constantes: realice una importación mysqldump y mysql a su base de datos local y el complemento ve que la constante y la tabla son diferentes y las actualiza para que coincidan
  7. No hay búsqueda de texto y reemplazar
  8. No hay posibilidad de destruir su base de datos; uso el objeto de base de datos de WordPress para hacer dos actualizaciones y nada más.
  9. Juega bien con cosas como WordPress Skeleton donde puedes tener todo en control de la fuente y establecer una configuración local
  10. Lo puse en el directorio de complementos de WordPress y en Github para que sea gratis, completamente abierto, fácil de usar y fácil de instalar
  11. Una vez que esté instalado, puede olvidarse de él y debería "simplemente funcionar", le da un pequeño aviso para decir que la base de datos se ha modificado.
  12. Debería funcionar con cualquier proceso de copia de seguridad/FTP/restauración
0
icc97

Si está intentando lograr una sincronización continua, sugiero usar rsync junto con un trabajo cron personalizado para volver a escribir cualquier url o datos específicos del sitio.

0
user92899

En mi opinión, la forma más fácil de seguir es la transferencia manual. Solo copie la carpeta wp-content y el archivo wp-config.php en el nuevo Host. Exporte la base de datos del host anterior e impórtela en una nueva base de datos del nuevo host.

En la nueva base de datos del Host, vaya a la tabla de opciones de wp y cambie la URL del sitio y la URL del Blog a la nueva Dirección del Host del Host antiguo. Me gusta desde http: // localhost/wp to http://example.com

Ahora en el archivo wp-config simplemente cambie la información de la base de datos y el usuario con la nueva información del Host.

Ahora inicie sesión en el nuevo wp-admin y vaya a la configuración y guarde el enlace permanente.

Estás listo. Creo que esto es simple sin usar ningún plugin.

He probado diferentes tipos de complementos y todos estos tienen muchos tipos de problemas ...

Así que prefiero esta simple transferencia manual que es más fácil, creo.

0
Md. Amanur Rahman