Publicado el 36 comentarios

Mover un sitio local de WordPress a un servidor en línea

Mover un sitio local de WordPress a un servidor en línea

Muchos desarrolladores y diseñadores crean sus proyectos en WordPress de forma local, para después publicarlos en línea. Este tipo de prácticas nos permite hacer las pruebas necesarias para medir la seguridad y revisar la funcionalidad de un sitio web antes ser publicado. En esta entrada te mostramos nuestra guía completa para mover un sitio local de WordPress a un servidor en línea:


Software a utilizar

Esta guía ha sido elaborada utilizando el software gratuito “MAMP para Mac OS“, y el cliente gratuito FTP “FileZilla“.

Una vez que el sitio almacenado de forma local esté listo, el siguiente paso es moverlo a nuestro servidor en línea. En esta guía te mostremos cada uno de los pasos necesarios para migrar el contenido completo (páginas, entradas, imágenes, temas, plugins, etc).

Actualmente existen plugins premium que facilitan aún más la tarea de migración, tal es caso de BackupBuddy. Si deseas realizar la migración sin el uso de plugins adicionales continúa leyendo…

Antes de Comenzar

Antes de comenzar la migración del sitio local necesitaremos 2 elementos esenciales:

  • Un “servicio de hosting” que ofrezca soporte para WordPress (PHP 5.2.4 o superior y MySQL 5.0 o superior). En esta guía utilizaremos Hostgator y cPanel.
  • El “cliente FTP” para cargar el contenido al servidor en línea.

Paso 1: Exportar la base de datos de nuestro sitio local

El primer paso consiste en exportar la base de datos de nuestra instalación local de WordPress. Utilizaremos “phpMyAdmin” para lograr nuestro objetivo. Para acceder a phpMyAdmin de tu instalación local de WordPress, escribe la siguiente URL en tu navegador:

El procedimiento completo lo hemos explicado con mayor detalle en la entrada: “Respaldar la base de datos de WordPress con phpMyAdmin“.


Paso 2: Cargar los archivos de WordPress al servidor en línea

Ahora es momento de utilizar el cliente FTP, conéctate al servidor que almacenará el sitio web. Una vez dentro, carga al servidor todos los archivos del sitio local:

Mover un sitio local de WordPress a un servidor en línea
Cargar archivos vía FTP

Paso 3: Crear la base de datos del sitio en línea

Mientras finaliza el proceso de carga de los archivos en el servidor, podemos comenzar a crear la nueva base de datos. En cPanel haz clic sobre el enlace “MySQL Databases” de la sección “Databases“:

Mover un sitio local de WordPress a un servidor en línea
Clic sobre “MySQL Databases”

En la siguiente pantalla, crea una base de datos asignándole un nombre:

Mover un sitio local de WordPress a un servidor en línea
Asigna un nombre a la base de datos

Después de crear la base de datos, es necesario crear un usuario, desplázate hacia abajo, escribe el nombre de usuario y una contraseña que sea segura:

Mover un sitio local de WordPress a un servidor en línea
Crea un nombre de usaurio

Ahora asigna el nombre de usuario a la base de datos:

Mover un sitio local de WordPress a un servidor en línea

Y asegúrate de otorgarle todos los privilegios al usuario recién creado:

Mover un sitio local de WordPress a un servidor en línea
Marca todas las casillas y guarda los cambios

Paso 4: Importación de la base de datos

Ahora vamos a importar el contenido de la base de datos de nuestro sitio local, a la base de datos recién creada. En cPanel ve al enlace “phpMyAdmin“:

mover-un-sitio-local-de-wordpress-a-un-servidor-en-linea
Clic sobre “phpMyAdmin”

Haz clic sobre el enlace “Importar” del menú superior:

Mover un sitio local de WordPress a un servidor en línea

En la página de importación, haz clic sobre el botón “seleccionar archivo” y elige el archivo que descargamos en el paso 1. Iniciará el proceso de importación de la base de datos de WordPress:

Mover un sitio local de WordPress a un servidor en línea
Importa la base de datos local

Clic en “Continuar” para comenzar el proceso de importación.


Paso 5: Cambiar la dirección URL

Como nuestro sitio web se encontraba de forma local y bajo la URL “http://localhost/“, será necesario cambiar esa dirección. Esto es posible a través de “phpMyAdmin“, busca la tabla con el nombre “wp_options” de la base de datos recién importada y haz clic sobre ella:

Mover un sitio local de WordPress a un servidor en línea

Si utilizas un prefijo distinto la tabla tendrá un nombre como [prefijo]_options.

A un costado derecho, en “options_name” ubica el campo “siteurl“, y haz clic sobre el icono “Editar” que se localiza a la izquierda del inicio del renglón:

Mover un sitio local de WordPress a un servidor en línea

Al hacer clic sobre el icono “Editar“, una nueva ventana se abrirá, y en el campo “option_value” podrás observar la URL original: “http://localhost/“. Con cuidado escribe la nueva URL de tu sitio, para este ejemplo utilizaremos la URL “http://mvkoen.cu.cc“:

Mover un sitio local de WordPress a un servidor en línea

Guarda el campo haciendo clic sobre el botón “Continuar“. Ahora haz lo mismo para el elemento “home” de “options_name“:

Mover un sitio local de WordPress a un servidor en línea

De la misma forma pega tu URL en el campo “option_value“, en nuestro caso es: “http://mvkoen.cu.cc“, y guarda los cambios haciendo clic sobre el botón “Continuar“:

Mover un sitio local de WordPress a un servidor en línea


Paso 5: Modificar los ajustes del sitio en línea

Ahora que todos los archivos han sido cargados vía FTP y nuestra base de datos ha sido importada, es momento de configurar WordPress. Si visitas la URL de tu sitio se mostrará el siguiente error: “Error de conexión con la base de datos“, no te preocupes – esto es normal y lo resolveremos haciendo lo siguiente:

Vía FTP descarga el archivo “wp-config.php” y edita la siguiente información con los datos que creamos en el paso 3:

Mover un sitio local de WordPress a un servidor en línea
Edición del archivo “wp_config.php”
  • El nombre de la base de datos
  • El nombre de usuario de la base de datos
  • Contraseña de la base de datos

Guarda los cambios y sustituye el archivo que se encuentra en línea con el archivo recién editado. Ve al escritorio de WordPress > “Ajustes” > “Enlaces permanentes” y guarda los cambios para asegurarnos que todo funcione de forma correcta.


Paso 6: Corregir los enlaces rotos e imágenes

Esta paso es muy importante ya que enfrentarás problemas con las imágenes o enlaces rotos. Puedes corregir estos enlaces utilizando el plugin gratuito “Velvet Blues WordPress plugin“, o bien vía SQL.

Si te decides hacer los ajustes a través de SQL, ve a “phpMyAdmin“, elige la base de datos de tu sitio y haz clic sobre la pestaña “SQL” del menú superior. Escribe la siguiente llamada (no olvides utilizar tu nombre de dominio):

Estos son todos los pasos necesarios para mover un sitio local de WordPress a un servidor en línea, revisa tu sitio web para asegurarte de que todo está funcionando bien. Recuerda: existen soluciones como BackupBuddy, ideal para los usuarios con conocimientos básicos y no tan experimentados, éxito!

36 comentarios en “Mover un sitio local de WordPress a un servidor en línea

  1. Hola muchas gracias por la tutoria, estoy por probar pero a la inversa bajar a local y rehacer la instalación, para despues volver a subir todo al host, he estado padeciendo de suspención del sitio por abuso de recursos, la cuenta que administro fue migrada y el anterior administrador utilizo codigo de inyección y hasta la fecha despues de probar con plugins de cache y eliminar codigo, nada más no he podido normalizar el sitio, he optado por poner todo en cero y volver a subir pero con codigo original, ya estare pasando a comentarte como me fue.

  2. Es uno de los mejores turiales que he encontrado hoy, el mejor creo. Soy novato y tengo que hacer hoy mismo una migración de un localhost a un servidor online. Solo tengo una pequeña duda: si creo una base datos en el servidor en linea (con su nombre y su contraseña) cuando luego importo la base de datos que obtuve en local, ¿como sabe Mysql que lo que estoy importando va dentro de la base de datos que cree online? , en ninguna parte del tutorial veo que se pueda indicar esto a MySql. No se si entiendes la pregunta. Te agradecería que me lo explicaras. Gracias por compartir!

    1. Hola Gustavo,
      Deberás asegurarte que el proceso se realizará en la base de datos creada en el Paso 3, es en esa base de datos donde importarás las tablas originales del sitio local. De ahí la importancia que atiendas las modificaciones indicadas a partir del Paso 5. Saludos 🙂

  3. Buenas tarde segui todo los pasos pero, tuve que cambiar los enlaces permanetes a predeterminados ya que como lo tenia antes en local con el nombre de la entrada, no daban los links.. ahi creo que voy a tener problema con la indexacion creo ?, ahora tengo problema con las imagentes que no aparecen realice el ultimo paso: UPDATE wp_posts SET post_content = REPLACE(post_content, ‘localhost/’, ‘www.tudominio.com’);, cambiando el dominio claro esta , abri PHPMYADMIN elegi la base de dato, pinche SQL coloque la linea en cuestion y sale el siguiente error…

    Error

    SQL query:

    post_content = REPLACE(post_content, ‘localhost/’, ‘www.chicanofotoart.com.ve’)

    MySQL said: Documentation
    #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘post_content = REPLACE(post_content, ‘localhost/’, ‘www.chicanofotoart.com.ve’)’ at line 1

    Gracias de antemano si sabe en que me equivoque ???

    1. Hola @Juan Carlos, te sugiero utilizar el método SQL sólo si eres un usuario técnico, has intentado añadiendo el “/” a la URL del sitio en el servidor?

      Saludos!

  4. De verdad muuuuchas gracias por este post!! me has salvado la vida! de todos los que consulté, este es el único que funcionó

    1. Un placer @Erika, éxito en tu proyecto 🙂 !

  5. Hola soy novato en esto y estoy utilizando wordpress en un mac con mamp.

    Mi duda es si a medida que vaya haciendo la web, tengo que crear yo las urls en cada pagina o dejo las que me crea wordpress… localhost // bla bla bla… y si eso es problema a la hora de subirlo en linea.

    Otra cosa, la pagina de inicio la tengo como pagina , ya que borre la que venia por defecto con el tema y cree una nuevo con el nombre de inicio. Esa quiero que sea la de index.

    Muchas gracias y enhorabuena

    1. Hola @lolo,

      La estructura sugerida para los enlaces permanentes se explica a detalle en la siguiente entrada “Cambiar el slug para mejorar el SEO en WordPress“, los pasos 5 y 6 de esta guía te permitirán cambiar la URL (localhost) por tu nombre de dominio. En relación a la página estática, siempre podrás controlar este elemento desde los “Ajustes de lectura” […]

      Saludos!

  6. hola!! me gusto tu contenido. yo realice los pasos.. migrando de servidor al local.. ya hace los cambios en la base de datos.. al abrir mi pagina de manera local solo aparece el inicio los demás enlacen están dañado puedo entrar al administrador.. sin problemas que me esta faltando para que mi pagina se copie completa de manera local?

    1. Hola @Genesis,

      Te sugiero revisar los cambios realizados a la URL de tu host local (Paso 5), también asegúrate de que la configuración “mod_rewrite” se encuentre configurada correctamente en tu host.

      Saludos!

  7. Hola, este artículo es muy completo. Muchas felicidades!

    Sólo quiero saber como hacer lo mismo pero desde un local multisitio. Es decir en Mamp puedo administrar varios sitios uno de ellos ya está aprobado y quiero ponerlo en línea. He seguido los pasos que recomiendan pero al momento de activarlo me resulta el primer sitio que desarrollé y no veo donde puedo elegir algún otro. Espero puedan guiarme. Muchas gracias!!!

    1. Hola @monica,

      Antes que nada asegúrate que tu host permita WordPress Network (aka Multisite), te sugiero revisar con detalle la publicación oficial del codex “Moving WordPress Multisite“.

      Un saludo!

  8. Hola!

    Excelente tutorial, solo tengo una duda, en mi tema actualmente no me pesca las imágenes, antes había usado el tema en otro servidor y no había tenido problemas pero ahora al intentar cargar las imagenes me da error y dice:

    WP_Error Object ( [errors:WP_Error:private] => Array ( [image_no_editor] => Array ( [0] => No se pudo elegir ningún editor. ) ) [error_data:WP_Error:private] => Array ( ) )

    1. Hola @Andres,

      El error que mencionas hace referencia a un problema al cambiar el tamaño de la imagen, esto puede deberse a un formato de imagen no soportado o un archivo corrupto. Asegúrate que la carpeta /wp-content/uploads/ cuente con los permisos correspondientes para habilitar la creación de imágenes en diferentes tamaños. Si el problema continúa te sugiero consultar directamente con el desarrollador del tema activo en tu sitio web, un saludo!

  9. buenas tardes

    descargué a mi ordenador wordpress y creé varios post allí con fotos. Despues me he creado ya en mi hosting un nuevo wordpress y sin problemas he importado los artículos allí pero con un pequeño problema. No me ha subido las fotos.
    ¿como las puedo subir manualmente?
    Los widgets los he instalado y configurado y no tengo problema pero las imagenes no lo consigo.

    gracias

    1. Hola @ kepatxa

      De ahí la importancia del paso 2 y 6. De forma manual podrías cargar las imágenes vía FTP – para que haya una coincidencia con las fechas – , sin embargo estas no serán visibles en la librería de medios 🙁

  10. Buenas Noches: Es la primera vez que trabajo con wordpress. Estoy intentando actualizar un sitio, estuve trabajando en el localhost ahora segui esta guia y subi el sitio, el sitio ya existia lo que yo lo hice totalmente nuevo. Acabo de concluir todos los pasos mencionados aqui pero sigue viendose el sitio viejo, no se por que.Podrian ayudarme?Muchas Gracias

  11. Yo he migrado la web con XCloner, se me ha quedado la web en blanco, por lo que he visto en el código fuente hace 3 referencias a localhost de scripts, pero no puedo cambiarlo, intenté el código que indicas para sustituir en SQL pero no ha encontado nada, ¿alguna sugerencia?, gracias

    1. Hola @Alba,
      Te sugiero contactar directamente con el soporte de XCloner para solucionar ese detalle. Un saludo!

  12. Hola
    Estoy cargando por ftp utilizando filezilla en windows,¿ a que archivo debo cargar toda mi web?
    Porque cuando llego al paso 5 no consigo que me salga en la red y m sale este error:
    Parse error: syntax error, unexpected end of file in /home/tevelava/public_html/wp-config.php on line 1

    No se exactamente cual es ese error.
    Espero respuesta, Gracias

    1. Hola @JorgeJ,

      Por el error que mencionas pudiera ser que eliminaste algo de tu archivo “wp-config.php“, tal vez la declaración de apertura “< ?php“. Te sugiero hacer una copia del archivo actual, e intentar crearlo nuevamente, ten cuidado en no borrar ninguna puntuación (puntos y comas, comillas simples, etc.). Un saludo!

  13. Buenas tardes, he realizado todo y me funciona la mayor parte excepto la cabecera de mi web, tengo algunos problemas con los enlaces de la imagen, ya hice el reemplazo de localhost por mi dominio en la bd pero en especifico esta imagen no se muestra, cabe mencionar que estoy utilizando el tema graphene; espero puedan indicarme alguna solucion, gracias

    1. Hola @Ricardo,
      Puedes utilizar la opción personalizar del menú lateral izquierdo (Apariencia) para cargar nuevamente esas imágenes.

      personalizar

      Un saludo!

  14. Hola, Estrella, este artículo tuyo ilumina tanto como tu nombre. Si me permites, me gustaría escuchar tu criterio sobre algo no vinculado en términos absolutos al tema en cuestión, pero que se desprende de él: ¿cómo crees más conveniente ejecutar los pasos para el desarrollo de un proyecto Web en su fase inicial, según variables como seguridad, facilidad, eficacia…?
    Me refiero a: ¿crees que sea mejor iniciarlo de manera local y luego subirlo al servidor de Hosting o recomendarías hacerlo a la inversa?
    Y en fases posteriores, ¿cómo crees que sería mejor administrar, digamos, un portal o sitio de mediana magnitud, recomendarías modificar primero en el servidor Local para luego subir los cambios?

    1. Hola @José,

      En nuestro caso puedo decirte que iniciamos el desarrollo de todos los proyectos en local. Después cualquier cambio se replica tanto en el entorno local, como en un sitio de pruebas en línea – y viceversa. El sitio de pruebas permite al cliente supervisar el avance de su proyecto. Si estás interesado en este escenario, te sugiero echar un vistazo a nuestra publicación “Descubre cómo replicar los cambios de un sitio local a un sitio de pruebas en línea y viceversa“. Un saludo!

  15. Hola que tal excelente día, gracias por el, tutorial. Tu manera de explicar es muy buena, solo que tengo un pequeño problema que ahora se convirtió en grande jajajaja, estoy mudando mi sitio de local a remoto pero a la hora de Importar mi D.B Mysql me dice que el usuario que tengo a negado el acceso a la Base de Datos que quiero importar que en este caso es wordpress.
    El sitio lo empece a desarrollar con una instalación de manera local no se si eso tenga alguna relación. Si me pudieras Auxiliar estaria perfecto , Gracias 🙂

    1. Hola @Jovan,

      Si tu nuevo host no ofrece los privilegios en phpMyAdmin para crear una nueva base de datos, te sugiero echar un vistazo a esta publicación “How to import WordPress SQL database backup file without having ‘create new database’ privileges in phpMyAdmin“. Un saludo!

      1. Oye muchas gracias por la ayuda eh, me sirvió bastante sin tu ayuda hubiese tardado más en subir mi sitio, y el cliente ya me estaba presionando.
        Una ves mas gracias.

        :3

        1. Un placer @Jovan, éxito en tu proyecto!

  16. Hola, al igual que muchos de los usuarios pienso que el artículo está muy completo y eficaz, lo logre a la primera y tengo colocada la página en la siguiente dirección: http://www.weil.com.mx/responsive/ ahora sólo un detalle; he utilizado Ultimatum Theme para realizar mi página con diseño responsivo y en cuanto a proporciones y estilos lo carga bien pero mis imágenes en dispositivos (tableta y mobil) no se cargan, en desktop se cargan correctamente, me aparece la leyenda de como las tenia en local: http://localhost/weil/wp-content/uploads/2015/11/logo-weilco.png y así respectivamente con cada una de mis imágenes, hay alguna manera de ajustar la ruta para que los dispositivos carguen o encuentren la ruta adecuadamente para estas imágenes, saludos y muchas gracias!! gran post!!

    1. Hola @Juan,

      Te sugiero atender el paso 6, ya que su objetivo es corregir los enlaces rotos e imágenes. Un saludo!

  17. Gracias. Es el mejor contenido que he conseguido luego de infinidad de búsquedas. Felicidades por un excelente trabajo.

    1. Un placer @Jorge, éxito en tu proyecto!

  18. Excelente!, una preguntota, Hice un sitio web que monte en un Servidor Local y para acceder a la red le coloque una IP Fija, todo bien, pero ese servidor local lo converti en un servidor Web y le puse una NO-IP, mi duda es, que direccion debe tener mi WordPress, la direccion IP fija de la Red o la NOIP, entiendo que la NoIP es para verla desde internet, pero localmente puedo trabajar con la direccion, el problema es que al acceder a una pagina tarda demasiado. Gracias de antemano.

  19. Hola buenas tardes hice todo los pasos que indicas pero sigo teniendo problemas con el paso 6 corregir los enlaces rotos e imágenes, instale el plugin como me indicaste pero sigue saliendo ¡Objeto no localizado! solo me carga la pagina de inicio! porfa necesito de su ayuda gracias de antemano!

Los comentarios están cerrados.