Cómo cambiar la URL de tu tienda PrestaShop (syspanel)
¿Necesitas cambiar la URL de tu tienda PrestaShop? No te preocupes, es un proceso más sencillo de lo que parece. Tanto si estás migrando a un dominio nuevo, como si quieres pasar de HTTP a HTTPS o simplemente estás en pleno desarrollo y necesitas actualizar la dirección, en esta guía te lo explicamos paso a paso.
Vamos a centrarnos en el entorno de Syspanel (el panel de control que incluye HestiaCP) y en la configuración interna de PrestaShop. Pero antes de tocar nada, respira hondo y lee con atención, porque este cambio debe hacerse con cuidado para no dejar tu tienda inaccesible.
¿Por qué es necesario cambiar la URL de PrestaShop?
Existen varias razones comunes por las que te verás en la necesidad de modificar la URL de tu tienda:
- Cambio de dominio: Has comprado un dominio nuevo y más profesional para tu negocio.
- Migración de servidor: Te has mudado a un hosting más rápido y el servidor tiene una IP o un dominio temporal diferente.
- Activación de SSL/HTTPS: Quieres que tu tienda sea segura y aparezca el candadito en el navegador. Esto implica cambiar
http://porhttps://. - Eliminar la subcarpeta de instalación: Instalaste PrestaShop en un subdirectorio (ej:
tudominio.com/tienda) para probar y ahora quieres que cargue directamente desde la raíz (tudominio.com).
Sea cual sea tu motivo, el proceso tiene dos partes fundamentales: la configuración en el servidor (Syspanel) y la configuración dentro de PrestaShop.
Paso 1: Preparar el dominio en Syspanel (HestiaCP)
Antes de cambiar nada en PrestaShop, debes asegurarte de que el dominio nuevo o modificado apunta correctamente a tu servidor.
Acceder a Syspanel
Para empezar, abre tu navegador y accede a tu panel de control. Recuerda que la URL de acceso a Syspanel es https://tu-servidor:2106. Sustituye tu-servidor por la IP o el nombre de tu servidor.
[WARNING]: Es muy importante que uses el puerto 2106 al final de la URL. Si no lo haces, no podrás acceder al panel.
Añadir o editar el dominio
Una vez dentro de Syspanel, busca la sección de Web o Dominios. Aquí es donde se gestionan todos los sitios web alojados en tu servidor.
- Si vas a añadir un dominio nuevo, haz clic en el botón "Añadir dominio" (o similar). Introduce tu nuevo dominio sin
www(por ejemplo,mutiendanueva.com) y selecciona las opciones por defecto. Syspanel creará automáticamente la carpeta del sitio web y la base de datos si es necesario. - Si vas a quitar una subcarpeta (pasar de
tudominio.com/tiendaatudominio.com), no necesitas añadir nada en Syspanel, solo asegurarte de que el dominio principal ya está configurado y apunta a la carpeta correcta donde moverás los archivos de PrestaShop.
[INFO]: Cuando añades un dominio en Syspanel, se crea una carpeta dentro de /home/usuario/web/. Los archivos de tu tienda deben estar dentro de la carpeta public_html de ese dominio.
Configurar el SSL (Certificado SSL)
Si tu cambio de URL es para pasar de http a https, este subpaso es crucial.
- En la lista de dominios, haz clic en el icono de "SSL" (normalmente un candado) correspondiente a tu dominio.
- Puedes usar la opción "Let's Encrypt" para obtener un certificado SSL gratuito y automático. Selecciona tu dominio y el subdominio
www, si lo usas, y haz clic en el botón para emitirlo. - Espera unos minutos a que se genere e instale el certificado.
Este paso es fundamental para que tu tienda funcione correctamente con https:// y no muestre errores de conexión no segura.
Paso 2: Modificar la URL en la base de datos de PrestaShop
PrestaShop guarda la URL de tu tienda en dos lugares principales: la tabla ps_configuration y la tabla ps_shop_url. Cambiar el dominio o la URL base sin actualizar estos registros es el error más común y el que provoca que la tienda se rompa.
Tienes dos formas de hacerlo: editando la base de datos manualmente o usando una herramienta de acceso a bases de datos.
Opción A: Usar phpMyAdmin (más visual)
Este método es el más recomendado para principiantes porque es visual y evita errores de escritura.
-
Accede a Syspanel y busca la sección de Bases de datos o Base de datos MySQL. Encuentra la base de datos de tu PrestaShop y haz clic en "phpMyAdmin".
-
Una vez dentro de phpMyAdmin, selecciona tu base de datos en el panel izquierdo.
-
Haz clic en la pestaña "SQL" en la parte superior.
-
En el cuadro de texto, escribe las siguientes consultas SQL. Es muy importante que reemplaces las URL de ejemplo por las tuyas.
- Para cambiar el dominio principal (por ejemplo, de
http://antiguodominio.comahttps://nuevodominio.com):UPDATE ps_configuration SET value = 'https://nuevodominio.com' WHERE name = 'PS_SHOP_DOMAIN'; UPDATE ps_configuration SET value = 'https://nuevodominio.com' WHERE name = 'PS_SHOP_DOMAIN_SSL'; UPDATE ps_shop_url SET domain = 'nuevodominio.com', domain_ssl = 'nuevodominio.com'; - Para eliminar una subcarpeta (por ejemplo, de
https://tudominio.com/tiendaahttps://tudominio.com):
(Nota: En este caso, la URL deUPDATE ps_configuration SET value = '' WHERE name = 'PS_SHOP_BASE_URI'; UPDATE ps_shop_url SET physical_uri = '/';PS_SHOP_DOMAINno cambia, solo la URI base).
- Para cambiar el dominio principal (por ejemplo, de
-
Haz clic en el botón "Continuar" o "Ejecutar" en la parte inferior. Verás un mensaje de éxito si todo ha ido bien.
[WARNING]: Si tu PrestaShop tiene un prefijo de tabla diferente a ps_, deberás cambiarlo en las consultas SQL. Por ejemplo, si tu prefijo es prestashop_, la tabla sería prestashop_configuration.
Opción B: Usar un script PHP (más automático)
Si prefieres no tocar SQL directamente, puedes crear un pequeño script PHP.
-
Crea un archivo llamado
cambia_url.phpen la carpeta raíz de tu PrestaShop. -
Pega el siguiente código dentro, reemplazando las URLs:
<?php // Define las URLs antiguas y nuevas $url_anterior = 'http://antiguodominio.com'; $url_nueva = 'https://nuevodominio.com'; // Incluye el archivo de configuración de PrestaShop require_once 'config/config.inc.php'; // Actualiza las configuraciones Configuration::updateValue('PS_SHOP_DOMAIN', $url_nueva); Configuration::updateValue('PS_SHOP_DOMAIN_SSL', $url_nueva); Configuration::updateValue('PS_SHOP_BASE_URI', '/'); // Actualiza la tabla shop_url Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'shop_url SET domain = "'.$url_nueva.'", domain_ssl = "'.$url_nueva.'"'); echo 'URL actualizada correctamente. Por favor, elimina este archivo.'; -
Guarda el archivo y ejecútalo en tu navegador:
https://tudominio.com/cambia_url.php. -
¡IMPORTANTE! Después de ver el mensaje de éxito, elimina inmediatamente el archivo
cambia_url.phpdel servidor para evitar problemas de seguridad.
Paso 3: Limpiar la caché de PrestaShop
Después de cambiar la URL en la base de datos, PrestaShop puede seguir mostrando la URL antigua debido a su sistema de caché. Para forzar la actualización, debes limpiarla.
Limpiar la caché desde el Panel de Administración
- Accede a tu panel de administración de PrestaShop (la URL suele ser
https://tudominio.com/admin1234, dondeadmin1234es tu carpeta de administración). - Ve al menú Parámetros avanzados -> Rendimiento.
- Haz clic en el botón "Vaciar la caché" en la parte superior derecha.
Limpiar la caché manualmente (si no puedes acceder al panel)
Si no puedes acceder al panel de administración, puedes borrar la caché manualmente.
- Conéctate a tu servidor por FTP o usando el administrador de archivos de Syspanel.
- Navega a la carpeta
/var/cache/dentro de la raíz de tu PrestaShop. - Elimina todos los archivos y carpetas dentro de esta carpeta, pero no la carpeta en sí. Si no puedes eliminarlos, intenta vaciar su contenido.
Ahora, intenta acceder a tu tienda con la nueva URL. Debería cargar correctamente.
Paso 4: Configurar la redirección (301) desde la URL antigua
Para no perder posicionamiento SEO y que los usuarios que tengan enlaces antiguos sigan llegando, es fundamental configurar una redirección 301 desde la URL antigua a la nueva.
Esto se hace en el archivo .htaccess (si usas Apache) o en la configuración de Nginx (si tu servidor lo usa). En Syspanel, normalmente puedes editar este archivo desde la sección "Web" -> clic en tu dominio -> "Editar" o buscando el icono del archivo .htaccess.
Ejemplo de redirección 301 en .htaccess
Añade estas líneas al principio del archivo .htaccess, justo después de la línea RewriteEngine on (si existe):
# Redirección 301 de la URL antigua a la nueva
RewriteCond %{HTTP_HOST} ^antiguodominio\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.antiguodominio\.com$ [NC]
RewriteRule ^(.*)$ https://nuevodominio.com/$1 [L,R=301,NC]
[TIP]: Si no encuentras el archivo .htaccess, asegúrate de que tu administrador de archivos está configurado para mostrar archivos ocultos (los que empiezan por un punto).
Paso 5: Verificar que todo funciona correctamente
Una vez completados todos los pasos, es hora de comprobar que no hay ningún cabo suelto.
- Accede a tu tienda con la nueva URL y navega por algunas categorías y productos.
- Revisa el panel de administración para asegurarte de que también cargas correctamente.
- Prueba el proceso de compra para confirmar que no hay errores en las URLs de los carritos.
- Usa una herramienta de verificación de enlaces para detectar posibles URLs rotas que apunten al dominio antiguo.
- Comprueba en Google Search Console que el nuevo dominio se está indexando correctamente.
Preguntas frecuentes (FAQ)
¿Qué pasa si no cambio la URL en la base de datos?
Lo más probable es que tu tienda deje de cargar correctamente o se muestre sin estilos (HTML sin CSS), ya que PrestaShop intentará buscar los recursos en la URL antigua que ya no existe.
¿Es necesario cambiar la URL si solo cambio de HTTP a HTTPS?
Sí, es imprescindible. Debes actualizar PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL para que apunten a https://tudominio.com y también configurar el SSL en Syspanel.
¿Puedo hacer este cambio sin experiencia técnica?
Siguiendo esta guía al pie de la letra, sí. Sin embargo, siempre es recomendable hacer una copia de seguridad completa de tu base de datos y archivos antes de empezar, por si algo sale mal.
¿Qué es el prefijo de tabla en PrestaShop?
Es un identificador que se añade al nombre de todas las tablas de la base de datos. Por defecto es ps_, pero puede ser modificado durante la instalación para mayor seguridad. Lo puedes encontrar en el archivo config/settings.inc.php.
¿Cuánto tiempo tarda en propagarse el cambio de dominio?
La propagación de DNS puede tardar desde unas pocas horas hasta 48 horas. Durante este tiempo, algunos usuarios pueden ver la URL antigua y otros la nueva. La redirección 301 ayuda a que todos acaben en el sitio correcto.
¿Qué hago si después de todo mi tienda sigue sin funcionar?
Revisa que el archivo settings.inc.php tenga las credenciales de la base de datos correctas y que la carpeta /var/cache/ está vacía. Si el problema persiste, contacta con tu proveedor de hosting, ya que puede haber una configuración de servidor que esté bloqueando el acceso.
Cambiar la URL de tu PrestaShop es una tarea delicada, pero con estos pasos y un poco de paciencia, podrás realizarlo sin contratiempos. ¡Mucha suerte con tu tienda!
