Cómo cambiar la URL de tu tienda PrestaShop en Syspanel sin perder datos
¿Estás pensando en cambiar la URL de tu tienda PrestaShop? Ya sea porque has comprado un dominio nuevo, te has mudado de servidor o simplemente quieres pasar de HTTP a HTTPS, este proceso puede parecer un dolor de cabeza. Pero no te preocupes, porque en este artículo voy a explicarte paso a paso cómo hacerlo desde Syspanel (el panel de control que incluye HestiaCP) sin perder ni un solo dato de tu catálogo, clientes o pedidos.
Cambiar la URL de una tienda online no es solo editar un texto en la base de datos. Hay que tocar archivos de configuración, ajustar la base de datos y, sobre todo, hacerlo en el orden correcto para evitar errores 500 o páginas en blanco. Aquí te voy a dar una guía definitiva y a prueba de principiantes para que el cambio sea un éxito.
Antes de empezar: La importancia de una copia de seguridad
Esta es la regla de oro que debes repetirte antes de tocar nada. Nunca, jamás, cambies la URL de tu PrestaShop sin hacer una copia de seguridad completa. Una mala configuración puede dejar tu tienda inaccesible, y si no tienes un respaldo, podrías perder meses de trabajo.
En Syspanel (recuerda, el acceso es a través del puerto 2106), tienes herramientas integradas para hacer esto fácilmente. Vamos a hacer una copia doble: de los archivos y de la base de datos.
Cómo hacer una copia de seguridad en Syspanel
- Accede a tu panel de control Syspanel escribiendo en tu navegador
https://tu-servidor:2106. Acepta la advertencia del certificado SSL si aparece. - Dentro del panel, busca la sección de "Archivos" o "File Manager". Navega hasta la carpeta
public_html(o la carpeta donde tengas instalada tu tienda, a veces se llamaprestashopo similar). - Selecciona todos los archivos y carpetas de tu instalación de PrestaShop y haz clic en "Descargar" o "Comprimir" para obtener un archivo ZIP. Guárdalo en tu ordenador.
- Ahora ve a la sección de "Bases de Datos" en Syspanel. Verás listadas tus bases de datos MySQL. Localiza la que usa tu PrestaShop (normalmente tiene un nombre relacionado con tu web).
- Haz clic en el icono de "Exportar" o "Dump". Esto generará un archivo
.sqlcon toda tu información. Descárgalo también.
[WARNING]
No omitas este paso. Si algo sale mal, esta copia es tu boleto de salida. Guárdala en dos sitios diferentes (por ejemplo, tu PC y un disco duro externo o la nube) para mayor seguridad.
El cambio de URL en dos frentes: Archivos y Base de Datos
PrestaShop guarda la configuración de tu tienda en dos lugares principales: los archivos de configuración (en la raíz de la instalación) y la base de datos. Para que el cambio sea exitoso, debes actualizar ambos.
Paso 1: Modificar los archivos de configuración (parameters.php)
El archivo clave se llama parameters.php y lo encontrarás en la carpeta app/config de tu instalación de PrestaShop. Este archivo contiene las credenciales de la base de datos y, lo más importante para nosotros, las rutas absolutas y relativas de tu tienda.
- Vuelve a Syspanel y abre el File Manager.
- Navega a
public_html/app/config/. - Busca el archivo
parameters.phpy haz clic derecho para "Editar". - Dentro del archivo, busca las líneas que contienen
database_host,database_name, etc. No las toques. Lo que nos interesa son las líneas que definen las rutas. Busca algo como:'secret' => '...'(no lo toques)'database_prefix' => '...'(no lo toques)- Busca las entradas que contienen la URL antigua. Normalmente verás dos claves importantes:
'PS_SSL_ENABLED'y, sobre todo, las rutas en la sección'parameters'. PrestaShop suele guardar la URL base en la variable'PS_SHOP_DOMAIN'y'PS_SHOP_DOMAIN_SSL'dentro de la tabla de configuración, pero aquí enparameters.phpa veces solo está la conexión a la BD. Lo importante es que este archivo tenga la ruta correcta del directorio_PS_ROOT_DIR_.
- En realidad, la forma más segura de cambiar el dominio no es editando
parameters.phpa mano, sino usando la base de datos. Pero si tu tienda no carga y necesitas editar este archivo, busca la línea que define_PS_ROOT_DIR_y asegúrate de que apunta a la ruta correcta en el servidor (por ejemplo,/home/usuario/public_html).
[INFO]
Si tu cambio de URL implica mover la tienda a un servidor diferente, la ruta absoluta enparameters.phppuede cambiar. En ese caso, deberás actualizarla aquí. Si solo cambias el dominio pero el servidor es el mismo, este archivo probablemente no necesite cambios.
Paso 2: Actualizar la base de datos (El paso más crítico)
Aquí es donde realmente se realiza el cambio. La URL de tu tienda está almacenada en varias tablas de la base de datos, principalmente en ps_shop_url. Vamos a actualizarla usando phpMyAdmin, que está disponible en Syspanel.
- En Syspanel, ve a la sección de "Bases de Datos" y haz clic en el botón "phpMyAdmin" junto a la base de datos de tu PrestaShop.
- Se abrirá una nueva pestaña con phpMyAdmin. En el panel izquierdo, selecciona tu base de datos.
- Haz clic en la pestaña "SQL" en la parte superior para abrir la consola de consultas.
Ahora, ejecutaremos una serie de consultas SQL para reemplazar la URL antigua por la nueva. Vamos a usar la función de reemplazo de MySQL.
Antes de ejecutar, define tus variables:
tu-dominio-antiguo.com(sinhttp://nihttps://y sin la barra final).tu-dominio-nuevo.com(sinhttp://nihttps://y sin la barra final).
Copia y pega la siguiente consulta en el cuadro de texto de SQL:
SELECT * FROM ps_shop_url;
Esto te mostrará las filas actuales. Verás una fila con el dominio antiguo. Ahora, ejecuta la consulta de actualización:
UPDATE ps_shop_url SET domain = 'tu-dominio-nuevo.com', domain_ssl = 'tu-dominio-nuevo.com' WHERE domain = 'tu-dominio-antiguo.com';
[WARNING]
Asegúrate de que el nombre de la tabla sea correcto. Si tu prefijo de base de datos no esps_, tendrás que cambiarlo. Por ejemplo, si tu prefijo esprestashop_, la tabla se llamaráprestashop_shop_url. Lo puedes ver en el panel izquierdo de phpMyAdmin.
Pero esto no es suficiente. La URL antigua está incrustada en muchísimos lugares: en el contenido de los productos, en las descripciones de las categorías, en los enlaces permanentes, en la configuración de los módulos, etc. Para hacer un cambio completo y sin errores, necesitamos reemplazar la URL antigua en todas las tablas.
Para ello, usaremos una consulta más potente que recorre todas las tablas. Ejecuta esta consulta SQL:
UPDATE ps_configuration SET value = REPLACE(value, 'https://tu-dominio-antiguo.com', 'https://tu-dominio-nuevo.com') WHERE value LIKE '%https://tu-dominio-antiguo.com%';
UPDATE ps_configuration SET value = REPLACE(value, 'http://tu-dominio-antiguo.com', 'http://tu-dominio-nuevo.com') WHERE value LIKE '%http://tu-dominio-antiguo.com%';
Estas dos consultas actualizan la tabla de configuración principal. Ahora, para el resto de las tablas, es más seguro hacerlo de una manera más genérica. Te recomiendo ejecutar una serie de consultas UPDATE para las tablas más comunes:
UPDATE ps_shop_url SET domain = 'tu-dominio-nuevo.com', domain_ssl = 'tu-dominio-nuevo.com';
UPDATE ps_meta SET url_rewrite = REPLACE(url_rewrite, 'tu-dominio-antiguo.com', 'tu-dominio-nuevo.com');
UPDATE ps_product SET description = REPLACE(description, 'http://tu-dominio-antiguo.com', 'http://tu-dominio-nuevo.com');
UPDATE ps_product SET description_short = REPLACE(description_short, 'http://tu-dominio-antiguo.com', 'http://tu-dominio-nuevo.com');
UPDATE ps_product SET link_rewrite = REPLACE(link_rewrite, 'tu-dominio-antiguo.com', 'tu-dominio-nuevo.com');
UPDATE ps_category SET description = REPLACE(description, 'http://tu-dominio-antiguo.com', 'http://tu-dominio-nuevo.com');
UPDATE ps_cms SET content = REPLACE(content, 'http://tu-dominio-antiguo.com', 'http://tu-dominio-nuevo.com');
[TIP]
Si tu tienda es muy grande o tiene muchos módulos, es probable que la URL antigua esté en más tablas. Una forma más rápida (aunque menos "limpia") es exportar la base de datos completa, hacer un "Buscar y Reemplazar" en un editor de texto como Notepad++ (sustituyendohttp://tu-dominio-antiguo.comporhttp://tu-dominio-nuevo.com) y volver a importarla. Esto es un poco más agresivo, pero muy efectivo. Si lo haces, asegúrate de no reemplazar dentro de archivos serializados (donde la longitud de los datos está en la propia cadena), ya que podrías corromperlos. Por eso, las consultas SQL son más seguras.
Ajustes finales en el Back Office de PrestaShop
Una vez que hayas actualizado la base de datos, es hora de hacer los ajustes finales desde el panel de administración de tu tienda.
- Accede a tu Back Office con la URL nueva. Si no puedes acceder, es que algo ha fallado en los pasos anteriores. Vuelve a revisar las consultas SQL.
- Ve a Parámetros avanzados -> Rendimiento. Pulsa el botón "Vaciar la caché" (tanto la de Smarty como la de Symfony). Esto es crucial para que los cambios surtan efecto.
- Ve a Parámetros avanzados -> Parámetros generales. En la pestaña "Configuración de la tienda", asegúrate de que la URL de la tienda sea la correcta. Si no, edítala aquí y guarda.
- Ve a Parámetros avanzados -> Información o directamente a Mantenimiento para verificar que todo esté en orden.
Regenerar el archivo .htaccess
El archivo .htaccess es esencial para las URLs amigables. Después de cambiar el dominio, debe regenerarse.
- En el Back Office, ve a Parámetros avanzados -> URL amigables.
- Asegúrate de que la opción "URLs amigables" esté activada.
- Haz clic en el botón "Guardar" o "Actualizar" en la parte inferior. Esto forzará a PrestaShop a regenerar el archivo
.htaccesscon la nueva URL.
[INFO]
Si no tienes acceso al Back Office, puedes regenerar el.htaccessmanualmente desde el File Manager de Syspanel. Localiza el archivo.htaccessen la raíz de tu instalación, descárgalo, edítalo y cambia las líneas que contenganRewriteBase /y las que hagan referencia al dominio antiguo. Luego, súbelo de nuevo.
Solución de problemas comunes (FAQ)
Aquí tienes las dudas más frecuentes que suelen surgir durante este proceso.
¿Qué pasa si veo un error 500 después del cambio?
Un error 500 suele deberse a un problema con los archivos de configuración o con el .htaccess. Revisa que el archivo parameters.php tenga las rutas correctas. También puedes probar a renombrar el archivo .htaccess a .htaccess_old para ver si el problema se soluciona (luego podrás regenerarlo desde el Back Office).
¿Cómo muevo mi PrestaShop a un servidor nuevo con Syspanel?
El proceso es similar. Primero, haz una copia de seguridad completa (archivos y BD) en el servidor antiguo. Luego, en el nuevo servidor con Syspanel, crea una base de datos y un usuario, importa el archivo .sql en esa base de datos y sube todos los archivos a la carpeta public_html. Después, edita el parameters.php con los datos de la nueva base de datos y sigue todos los pasos de este artículo para actualizar las URLs.
¿Debo cambiar las URLs en el archivo parameters.php?
Normalmente no, a menos que la ruta absoluta del servidor haya cambiado (por ejemplo, al mover de un servidor a otro). La URL en sí se gestiona desde la base de datos y el Back Office.
¿Qué es el puerto 2106 de Syspanel?
Es el puerto de acceso al panel de control Syspanel (basado en HestiaCP). Para gestionar tus archivos, bases de datos y dominios, debes acceder a https://tu-servidor:2106. Es la puerta de entrada a todas las herramientas de administración de tu hosting.
¿Pierdo mis clientes y pedidos al cambiar la URL?
No, siempre que hagas una copia de seguridad y sigas los pasos correctamente. Tus datos (clientes, pedidos, productos) están en la base de datos y se conservan intactos. Lo único que cambia es la dirección de acceso a tu tienda.
Conclusión: Un cambio de URL sin sustos
Cambiar la URL de tu tienda PrestaShop es un proceso delicado, pero siguiendo estos pasos al pie de la letra, es totalmente manejable. La clave está en:
- Hacer una copia de seguridad completa (archivos y base de datos).
- Actualizar la base de datos con las consultas SQL de reemplazo.
- Regenerar la caché y el
.htaccessdesde el Back Office.
No olvides que Syspanel (puerto 2106) es tu gran aliado para gestionar este proceso, ya que te permite acceder a todos los archivos y bases de datos de forma sencilla.
[TIP]
Realiza el cambio en horas de baja afluencia de visitas. Así, si alguna página falla durante unos minutos, el impacto en tus clientes será mínimo. Y no olvides probar toda la tienda después del cambio: la portada, una ficha de producto, el carrito y el proceso de pago.
Con esta guía, ya no tienes excusa para no dar el salto a un dominio nuevo o a una URL más limpia. ¡Manos a la obra!
