Migrando un sitio de WordPress a otro servidor

Publicado por parzibyte en

Hoy voy a mostrar mi experiencia y una guía al migrar un sitio de WordPress de un servidor a otro. Concretamente de un servidor compartido a un VPS.

Pero antes, un poco de historia…

Era un sábado tranquilo por la mañana (no había escuela), desperté y revisé el correo para encontrarme con el siguiente mensaje:

Notificación disco duro lleno

Al parecer, tenía demasiados archivos en mi hosting y por lo tanto debía eliminarlos o actualizar mi plan.

El hosting funcionaba perfecto, era rápido y confiable, pero no me gustaban sus límites. Además, tenía un VPS para cosas que no tenían que ver con PHP y para un bot de Telegram personal, así que estaba desperdiciando su poder.

Por otro lado, al rentar el hosting compartido compré un dominio que no me hacía falta y quería deshacerme de él pero no podía porque tenía que cambiar el dominio principal y en fin, se iba a armar una cosa espantosa así que decidí mover mi sitio al VPS.

Instalar WordPress

Para este entonces ya tenía WordPress, Apache y PHP en mi VPS, solo que era una instalación vacía.

Instalar WordPress

Exportar datos de sitio antiguo

Esta fue la parte más compleja. Podría haberlo hecho a mano (y creo que al final me habría salido mejor, pero no lo sabía) pero no lo hice, así que busqué un plugin.

Me encontré con WP ALL IMPORT pero no me convenció, y buscando encontré otro llamado All-in-One WP Migration y ese funcionó perfectamente.

Exporté mis datos (pesaban bastante, pero ahí iban las imágenes y la base de datos) y los descargué en mi PC, después instalé el mismo plugin en el nuevo sitio y subí el mismo.

Propiedades de sitio de WP exportado

Mi internet es demasiado lento y para subir ese archivo tuve que esperar aproximadamente 7 horas, en fin, después de eso la importación se había terminado.

Migrar otros archivos

El plugin hizo su trabajo con WordPress, pero no con mis apps ni ejemplos, esos los tuve que mover manualmente.

Como ya lo mencioné, mi internet es demasiado lento, pero el de mis servidores no. Gracias a que en ambos tenía acceso a la terminal, pude utiliza scp para copiar los archivos.

Migrando archivos con SCP

Quiero resaltar la velocidad con la que se copió el archivo de main.wasm del ejemplo de WebAssembly con Go, 2.5 MB por segundo es muy rápido comparado con mi velocidad normal, además de que esa no es la máxima que alcancé.

Después de eso ya tenía todo mi sitio migrado, o al menos hablando de datos, me despedí del antiguo y salí.

Arreglar errores

Como este era un servidor nuevo y no había configurado los DNS, tuve que acceder e instalar WordPress por otro lado.

El sistema Sublime POS 3 está aquí mismo, así que para acceder a mi instalación de wordpress simplemente usé:

sublime-pos.parzibyte.me

Y como entré por el puerto 80, me mostró lo de Apache (ya que Sublime POS escucha en el 2811)

El gran problema fue que, al importar, las rutas (por ejemplo, las rutas de las imágenes) se cambiaron y ahora decían sublime-pos.parzibyte.me, cosa que no debería ser; ya que debí de hacer todo bien desde el principio, pero no lo hice.

Más tarde, cambié los DNS y ya no podía acceder a sublime-pos.parzibyte.me pero tampoco a parzibyte.me porque me redirigía a sublime-pos.parzibyte.me

Tuve que modificar el wp-config.php ya que no podía entrar al panel de control:

Configurar Base URL

Ahora solo tuve que esperar un poco para que se propagara el DNS, me fui a dormir tranquilo. También instalé un certificado SSL gratuito de Let’s encrypt (espero hacer el tutorial pronto)

Al otro día resolví el problema de las rutas que se modificaron, así que simplemente utilicé MySQL directamente con la función replace para remplazar las URL.

Aquí un ejemplo de las consultas que hice:

Lo fui haciendo en bloques para no sobrecargar al servidor. Con eso terminé y espero que todo salga bien a partir de hoy.


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB.Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron.Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scriptsLa plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C.Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

0 Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: