WordPress

Migrando un sitio de WordPress a otro servidor

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:

 update wp_posts set  
 post_content = replace(post_content, "http://sublime-pos.parzibyte.me","https://parzibyte.me")  
 where post_content like "%http://sublime-pos.parzibyte.me%" limit 200;

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

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

2 semanas hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.