Cómo cambiar la URL de PrestaShop desde DirectAdmin
Antes de empezar: ¿Por qué necesitas cambiar la URL de tu PrestaShop?
Cambiar la URL de tu tienda PrestaShop es una tarea más común de lo que parece. Puede que hayas comprado un dominio nuevo, que quieras migrar de un subdominio a un dominio principal, o que necesites pasar de HTTP a HTTPS para mejorar la seguridad y el SEO. Este proceso, si no se hace correctamente, puede provocar que tu tienda aparezca en blanco, que las imágenes no carguen o que pierdas posicionamiento en Google.
La buena noticia es que con DirectAdmin, el panel de control de tu hosting, y siguiendo los pasos correctos, puedes hacer este cambio de forma segura y sin perder datos. En esta guía extensa y detallada, te explicaré cómo cambiar la URL de PrestaShop desde DirectAdmin, paso a paso, incluso si nunca has hecho algo así antes.
Vamos a dividir el proceso en dos grandes bloques: primero, la preparación y el cambio en el servidor (DirectAdmin), y segundo, el ajuste fino dentro de la base de datos y la configuración de PrestaShop. Al final, también te daré consejos para verificar que todo ha salido bien.
Preparación inicial: Haz una copia de seguridad completa
[WARNING] Este es el paso más importante de toda la guía. No lo omitas nunca. Un cambio de URL mal ejecutado puede dejar tu tienda inaccesible. Una copia de seguridad te permitirá volver atrás si algo sale mal.
Antes de tocar nada, necesitas proteger tu trabajo. En DirectAdmin, tienes una herramienta integrada para esto. Sigue estos pasos:
- Accede a tu panel de DirectAdmin (normalmente en
https://tudominio.com:2222). - Busca la sección "Gestión de archivos" o "Backup".
- Si usas la herramienta de Backup, selecciona la opción de "Crear copia de seguridad" y elige tu cuenta de usuario. Esto generará un archivo
.tar.gzcon todos tus archivos, bases de datos y configuraciones de correo. - Descarga ese archivo a tu ordenador o a un servicio de almacenamiento en la nube. No te fíes solo del servidor, porque si algo falla en el disco, perderías la copia.
Además de la copia de seguridad general, te recomiendo que exportes tu base de datos por separado. Puedes hacerlo desde phpMyAdmin, que también está en DirectAdmin, pero lo haremos más adelante para un ajuste específico. Por ahora, con la copia general del panel es suficiente para tener una red de seguridad.
Paso 1: Configurar el nuevo dominio en DirectAdmin
El primer paso técnico es asegurarte de que DirectAdmin reconozca el nuevo dominio o la nueva configuración. No solo se trata de cambiar un texto; el servidor debe saber a qué carpeta debe apuntar.
### Si vas a usar un dominio completamente nuevo
- En DirectAdmin, busca la sección "Crear nuevo dominio" o "Añadir dominio".
- Introduce el nuevo nombre de dominio (por ejemplo,
www.mitiendanueva.com). - Asegúrate de que apunte a la misma carpeta donde está instalado PrestaShop, o crea una nueva carpeta y luego moverás los archivos. Lo más sencillo es que apunte a la misma carpeta (por ejemplo,
public_html). - Espera a que el servidor procese la creación del dominio. Esto puede tardar unos minutos.
### Si solo vas a cambiar la URL (por ejemplo, de HTTP a HTTPS)
- Asegúrate de tener el certificado SSL instalado para tu dominio. En DirectAdmin, busca la sección "SSL Certificates".
- Si no lo tienes, puedes usar Let's Encrypt para obtener uno gratuito. Haz clic en el botón de "Crear certificado" y sigue las instrucciones.
- Una vez instalado, no necesitas crear un dominio nuevo; solo activar la opción de "Forzar HTTPS" o redirección, que suele estar en la sección de "Redirecciones" o en la configuración general del dominio.
[INFO] Para el SEO, es fundamental que elijas una única versión canónica de tu URL (con o sin www, y siempre HTTPS). Decidir esto ahora te ahorrará problemas de contenido duplicado en Google.
Paso 2: Modificar los archivos de configuración de PrestaShop
PrestaShop guarda la URL de tu tienda en varios archivos de configuración. El más importante es el que se encuentra en la raíz de tu instalación. Vamos a editarlo directamente desde el administrador de archivos de DirectAdmin.
-
Ve a "Gestión de archivos" en DirectAdmin.
-
Navega hasta la carpeta donde tienes instalado PrestaShop (normalmente
public_htmlopublic_html/mitienda). -
Busca el archivo llamado
config/settings.inc.php. En versiones antiguas de PrestaShop, este archivo es el que contiene las constantes de configuración. En versiones más recientes (1.7+), la configuración se encuentra en la tablaps_configurationde la base de datos, pero este archivo aún puede contener datos de conexión a la base de datos. -
Haz clic derecho sobre el archivo y selecciona "Editar".
-
Busca las líneas que definen las constantes
_PS_BASE_URL_o_PS_BASE_URL_SSL_. Deberías ver algo como esto:define('_PS_BASE_URL_', 'http://tudominioantiguo.com'); define('_PS_BASE_URL_SSL_', 'https://tudominioantiguo.com'); -
Cambia
http://tudominioantiguo.compor tu nueva URL (por ejemplo,https://tudominionuevo.com). Hazlo en ambas líneas, tanto en la versión no SSL como en la SSL. -
Guarda el archivo y ciérralo.
[WARNING] Si tu versión de PrestaShop es la 1.7 o superior, es muy probable que este archivo ya no exista o que esté vacío. No te preocupes, el ajuste se hará en la base de datos en el siguiente paso. Este archivo es más relevante para versiones 1.6 o anteriores.
Paso 3: Actualizar la URL en la base de datos (método infalible)
Este es el paso más crítico y el que garantiza que todo funcione. PrestaShop guarda la URL en muchas tablas de su base de datos. Hacerlo solo desde el archivo de configuración no es suficiente, ya que las rutas de las imágenes, los enlaces de los productos y las categorías se almacenan directamente en la base de datos.
Para hacerlo de forma segura y completa, usaremos phpMyAdmin desde DirectAdmin.
-
Vuelve a DirectAdmin y busca el icono de "phpMyAdmin".
-
Selecciona la base de datos de tu tienda PrestaShop (en el panel de la izquierda).
-
Haz clic en la pestaña "SQL" en la parte superior.
-
En el cuadro de texto, escribe la siguiente consulta SQL. Es fundamental que reemplaces los valores de ejemplo por los tuyos.
UPDATE ps_shop_url SET domain='tudominionuevo.com', domain_ssl='tudominionuevo.com', physical_uri='/';ps_shop_urles la tabla que almacena la URL principal de la tienda.domaines la URL sinwww(o conwww, según tu elección). Asegúrate de no incluirhttp://ni la barra final.domain_ssles la URL para conexiones seguras.physical_urisuele ser/si tu tienda está en la raíz. Si está en una subcarpeta, como/tienda/, deberías ponerlo aquí.
-
Haz clic en "Continuar" para ejecutar la consulta. Debería aparecer un mensaje de éxito.
### Reemplazos en toda la base de datos
La consulta anterior solo actualiza la URL principal. Pero los enlaces antiguos (por ejemplo, http://tudominioantiguo.com/img/p/...) seguirán almacenados en las tablas de productos y categorías. Para solucionarlo, necesitamos hacer un reemplazo global en toda la base de datos.
-
En la misma pestaña "SQL", ejecuta esta consulta:
UPDATE ps_product SET reference = REPLACE(reference, 'http://tudominioantiguo.com', 'https://tudominionuevo.com');Pero esto solo afecta a una tabla. Para hacerlo en todas las tablas a la vez, es más seguro usar un script o un plugin. Sin embargo, para un cambio manual, la forma más efectiva es usar una consulta que recorra todas las tablas. Esta es una versión avanzada, pero la incluyo porque es la más completa:
-- Esta consulta es un ejemplo, puede no funcionar en todos los entornos. -- Lo más recomendable es usar un módulo como "Replace URL" o hacerlo desde el panel de administración de PrestaShop.
[INFO] La forma más sencilla y segura de hacer este reemplazo masivo es instalar un módulo gratuito llamado "Replace URL" desde el back office de PrestaShop (Menú: Módulos > Módulos y servicios > Buscar "Replace URL"). Este módulo hace el trabajo sucio por ti, reemplazando todas las cadenas de texto en todas las tablas de la base de datos sin riesgo de romper algo.
Paso 4: 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 la caché. Es como si el sistema recordara la dirección anterior.
Para limpiar la caché, tienes dos opciones:
### Desde el panel de administración (Back Office)
- Accede a tu panel de administración de PrestaShop (normalmente en
tudominio.com/admin). - Ve al menú "Parámetros avanzados" > "Rendimiento".
- En la sección "Caché", haz clic en el botón "Vaciar la caché". Esto eliminará todos los archivos de caché generados.
### Desde DirectAdmin (más drástico)
Si no puedes acceder al panel de administración porque la URL es incorrecta, tendrás que hacerlo manualmente.
- Ve a "Gestión de archivos" en DirectAdmin.
- Navega a la carpeta
var/cachedentro de tu instalación de PrestaShop (en versiones 1.7) ocache(en versiones 1.6). - Selecciona todos los archivos y carpetas dentro de
cachey bórralos. No te preocupes, se regenerarán automáticamente. No borres la carpetacacheen sí, solo su contenido.
[TIP] Si después de esto sigues viendo la URL antigua, verifica que no haya un plugin de caché de terceros (como Varnish o un módulo de caché) que también necesite ser purgado.
Paso 5: Verificar el correcto funcionamiento de la tienda
Una vez realizados todos los cambios, es hora de comprobar que todo funciona correctamente.
- Abre tu nuevo dominio en el navegador. Deberías ver la portada de tu tienda sin problemas.
- Navega por varias secciones: una categoría, un producto, el carrito, el proceso de pago. Haz clic en los enlaces y verifica que las URLs se generan correctamente con el nuevo dominio.
- Mira las imágenes: haz clic derecho sobre una imagen y selecciona "Abrir imagen en una pestaña nueva". La URL de la imagen debe tener el nuevo dominio.
- Revisa la consola de desarrollador (F12) en tu navegador. Ve a la pestaña "Red" y recarga la página. Busca errores en rojo. Si ves errores de tipo
404o500, significa que hay enlaces rotos que apuntan al dominio antiguo.
### Errores comunes y soluciones rápidas
- Error 404 en todas las páginas: Esto suele indicar que el archivo
.htaccessno se ha actualizado. Ve a la configuración de PrestaShop en el back office (Parámetros avanzados > URL) y guarda la configuración de nuevo. Esto regenerará el.htaccess. - Error 500 (Error interno del servidor): Puede ser un problema de permisos en los archivos o en la base de datos. Revisa que los archivos de configuración tengan permisos de lectura y que la base de datos esté correctamente conectada. A veces, simplemente limpiar la caché de PHP (reiniciar PHP desde DirectAdmin) soluciona esto.
- Las imágenes no cargan: Si las imágenes están rotas, es que el reemplazo en la base de datos no se hizo correctamente en las tablas de imágenes. Vuelve a ejecutar el módulo "Replace URL" o la consulta SQL específica para la tabla
ps_image.
Preguntas Frecuentes (FAQ) sobre el cambio de URL en PrestaShop
Para finalizar, resolvemos las dudas más habituales que nos llegan al soporte técnico sobre este tema.
¿Puedo cambiar la URL sin perder mi posicionamiento SEO?
Sí, pero debes hacerlo con cuidado. Lo más importante es que configures redirecciones 301 desde la URL antigua hacia la nueva. Puedes hacerlo desde el archivo .htaccess de tu servidor. De esta manera, Google sabrá que el contenido se ha movido de forma permanente y transferirá la autoridad de la página antigua a la nueva. Añade algo como esto al inicio del .htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^tudominioantiguo.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.tudominioantiguo.com [NC]
RewriteRule ^(.*)$ https://tudominionuevo.com/$1 [L,R=301,NC]
¿Qué pasa con mi certificado SSL?
Si cambias de dominio, necesitarás un certificado SSL para el nuevo dominio. DirectAdmin te permite generarlo fácilmente con Let's Encrypt. Si solo cambias de HTTP a HTTPS en el mismo dominio, el certificado que ya tienes debería funcionar.
¿Es necesario cambiar la URL en el archivo ps_shop_url?
Sí, es obligatorio. Esta tabla es el "corazón" de la configuración de la tienda. Si no la actualizas, PrestaShop seguirá intentando cargar la URL antigua y tendrás errores.
¿Puedo usar una subcarpeta en lugar de la raíz?
Sí, es posible. Solo tienes que ajustar el valor de physical_uri en la base de datos. Por ejemplo, si tu tienda estará en tudominio.com/tienda, el valor sería /tienda/. Asegúrate de que los archivos de PrestaShop estén en esa subcarpeta.
¿Qué hago si me he quedado bloqueado fuera del panel de administración?
Si no puedes acceder al back office porque la URL es incorrecta, no te preocupes. Puedes solucionarlo temporalmente editando el archivo config/settings.inc.php (si existe) o directamente en la base de datos con phpMyAdmin, tal y como hemos explicado en el Paso 3. Una vez que la base de datos esté actualizada, el acceso al panel debería funcionar.
[WARNING] Si después de seguir todos los pasos la tienda sigue sin funcionar, contacta con tu proveedor de hosting. Ellos tienen acceso a los logs del servidor y pueden ver el error exacto que está ocurriendo. No intentes "arreglar" cosas al azar, ya que podrías empeorar la situación.
Conclusión: Un cambio de URL exitoso
Cambiar la URL de PrestaShop desde DirectAdmin es un proceso meticuloso, pero con esta guía detallada, tienes todas las herramientas para hacerlo con éxito. Recuerda siempre:
- Haz una copia de seguridad.
- Configura el dominio en DirectAdmin.
- Actualiza el archivo
settings.inc.php(si aplica). - Actualiza la base de datos con las consultas SQL y el módulo "Replace URL".
- Limpia la caché.
