Cambiar la URL de PrestaShop en DirectAdmin sin romper la tienda
Antes de empezar: ¿Qué vas a necesitar?
Cambiar la URL de tu tienda PrestaShop en DirectAdmin puede parecer una tarea de alto riesgo, pero con la guía adecuada es un proceso que puedes realizar en menos de 30 minutos. Para ello, necesitarás tener a mano lo siguiente:
- Acceso al panel de control de DirectAdmin (usuario y contraseña).
- Acceso al panel de administración de PrestaShop (tu usuario y contraseña de administrador).
- Acceso a tu gestor de archivos o a un cliente FTP (como FileZilla).
- El nuevo dominio o subdominio que quieres utilizar, ya comprado y apuntando a tu servidor (con sus DNS correctamente configurados).
Esta guía está pensada para que la sigas paso a paso, sin prisas y con la seguridad de que no romperás tu tienda. Veremos desde la configuración en DirectAdmin hasta los ajustes internos en PrestaShop y la base de datos.
[WARNING] Este proceso implica modificar archivos de configuración y la base de datos. Aunque es seguro si sigues los pasos al pie de la letra, te recomendamos encarecidamente realizar una copia de seguridad completa de tu tienda (archivos y base de datos) antes de comenzar. Si algo sale mal, podrás restaurar todo en minutos.
Paso 1: Preparar el nuevo dominio en DirectAdmin
Lo primero que debes hacer es asegurarte de que tu nuevo dominio o subdominio está correctamente configurado en tu servidor. No podemos cambiar la URL en PrestaShop si el dominio no funciona.
1.1. Añadir el dominio como adon o subdominio
Accede a tu panel de DirectAdmin. Busca la sección de Gestión de dominios o Añadir dominio. Dependiendo de si tu nuevo dominio es un dominio completamente nuevo o un subdominio del principal, harás una cosa u otra.
- Si es un dominio nuevo (ej: minuevatienda.com): Ve a "Añadir dominio" e introduce el nombre. Asegúrate de que apunta a la misma cuenta de hosting.
- Si es un subdominio (ej: tienda.midominio.com): Ve a "Subdominios" y crea uno nuevo con el nombre deseado.
1.2. Configurar los DNS
Esto es fundamental. El nuevo dominio debe tener sus registros DNS apuntando a la IP de tu servidor. Normalmente, si compraste el dominio en la misma empresa que el hosting, esto se hace automáticamente. Si no, deberás ir a tu proveedor de dominio y cambiar los DNS o el registro A para que apunten a la IP que te indica DirectAdmin.
[TIP] Puedes comprobar si tu dominio apunta correctamente a tu servidor usando herramientas online como "dnschecker.org" o simplemente escribiendo el dominio en tu navegador y viendo si carga la página de "bienvenido" de tu hosting.
Paso 2: Cambiar la URL en el panel de administración de PrestaShop
Este es el primer paso dentro de PrestaShop y es el más importante para que la tienda no se rompa. PrestaShop guarda la URL de la tienda en su configuración interna, y si la cambias mal, puede que no puedas acceder ni al panel de administración.
2.1. Accede al panel de administración
Entra en tu panel de administración de PrestaShop como lo haces normalmente. La URL suele ser algo como tudominio.com/admin1234.
2.2. Navega a la configuración de la tienda
Una vez dentro, busca el menú Parámetros avanzados en el menú lateral izquierdo. Dentro de este menú, encontrarás la opción Rendimiento o General. En versiones recientes de PrestaShop, la opción está en Parámetros avanzados > General.
2.3. Modifica los campos de URL
Dentro de "General", verás una sección llamada "URL de la tienda" o "Configuración de la tienda". Aquí encontrarás dos campos clave:
- URL de la tienda: Aquí debes poner la nueva URL completa, incluyendo el
http://ohttps://. Por ejemplo:https://minuevatienda.com. - URL del dominio: Aquí debes poner solo el dominio, sin el
http://ni la barra final. Por ejemplo:minuevatienda.com.
Debes cambiar ambos campos. No te olvides de quitar la barra final (/) si la hubiera.
2.4. Guarda los cambios
Haz clic en el botón Guardar en la parte superior derecha. PrestaShop intentará actualizar su configuración. Es posible que te pida que te vuelvas a conectar.
[WARNING] En este punto, es posible que pierdas el acceso al panel de administración si algo no se ha configurado bien. No entres en pánico. Si esto ocurre, pasa al paso siguiente que es la solución manual, y podrás arreglarlo.
Paso 3: Actualizar manualmente los archivos de configuración (si es necesario)
Si al guardar los cambios no has podido volver a acceder al panel de administración, o simplemente quieres asegurarte de que todo está correcto, tendrás que editar un archivo clave de PrestaShop.
3.1. Accede al gestor de archivos de DirectAdmin
En tu panel de DirectAdmin, busca el Gestor de Archivos (normalmente en la sección "Archivos"). Navega hasta la carpeta donde está instalada tu tienda. Por ejemplo, si la tienda está en la raíz de tu dominio, busca la carpeta public_html o domains/tudominio.com/public_html.
3.2. Encuentra el archivo parameters.php
Dentro de la carpeta de tu tienda, busca la carpeta app y luego la carpeta config. Dentro de esta última, encontrarás un archivo llamado parameters.php. Debes editarlo.
3.3. Edita el archivo
Busca dentro del archivo las líneas que contienen la URL de tu tienda. Se verán algo así:
'ps_shop_url' => 'https://tudominioantiguo.com',
'ps_shop_domain' => 'tudominioantiguo.com',
Debes reemplazar las URLs antiguas por las nuevas. Guarda los cambios y cierra el archivo.
[TIP] Si no encuentras estas líneas, puedes usar la función de búsqueda del editor de texto del gestor de archivos para buscar ps_shop_url. Te llevará directamente a la línea correcta.
Paso 4: Cambiar la URL en la base de datos
Este paso es crucial y a menudo el que se olvida. PrestaShop guarda la URL en muchas tablas de la base de datos, no solo en la configuración. Si no las actualizas todas, tendrás problemas con las imágenes, los enlaces internos y el SEO.
4.1. Accede a phpMyAdmin
En tu panel de DirectAdmin, busca el icono de MySQL o phpMyAdmin. Si tienes varias bases de datos, selecciona la que corresponde a tu tienda PrestaShop.
4.2. Realiza una consulta SQL global
Una vez dentro de la base de datos, haz clic en la pestaña SQL en la parte superior. Aquí es donde ejecutaremos una consulta para reemplazar todas las URLs antiguas por las nuevas.
[WARNING] Es muy importante que escribas las URLs exactamente como estaban en tu tienda. Si tenías http:// y ahora quieres https://, asegúrate de incluir el cambio en la consulta.
4.3. Copia y ejecuta la consulta
Copia y pega la siguiente consulta SQL en el cuadro de texto, pero reemplaza los valores de ejemplo por tus URLs reales:
UPDATE ps_configuration SET value = REPLACE(value, 'https://tudominioantiguo.com', 'https://tudominionuevo.com') WHERE value LIKE '%tudominioantiguo.com%';
UPDATE ps_shop_url SET domain = REPLACE(domain, 'tudominioantiguo.com', 'tudominionuevo.com'), domain_ssl = REPLACE(domain_ssl, 'tudominioantiguo.com', 'tudominionuevo.com');
UPDATE ps_links SET link_rewrite = REPLACE(link_rewrite, 'tudominioantiguo.com', 'tudominionuevo.com');
Explicación de la consulta:
- La primera línea actualiza la tabla de configuración donde se guardan las URLs de la tienda y otros parámetros.
- La segunda línea actualiza la tabla
ps_shop_url, que es la que define el dominio principal de la tienda. - La tercera línea actualiza los enlaces reescritos (URLs amigables) que también pueden contener el dominio antiguo.
[INFO] El prefijo ps_ es el predeterminado de PrestaShop. Si durante la instalación cambiaste el prefijo, deberás ajustar estas consultas con el tuyo propio.
4.4. Actualiza todas las tablas (opcional pero recomendado)
Las consultas anteriores cubren los casos más comunes. Sin embargo, para una migración perfecta, es recomendable ejecutar una consulta que busque y reemplace en todas las tablas de la base de datos. Para ello, puedes usar una herramienta como "Search Replace DB" (que puedes subir a tu servidor), o si tu base de datos no es demasiado grande, puedes ejecutar una consulta más compleja.
Consulta avanzada (búsqueda en todas las tablas):
Esta consulta generará las sentencias SQL para actualizar todas las tablas. Es un poco más avanzada, pero muy efectiva:
SELECT CONCAT('UPDATE ', table_name, ' SET ', column_name, ' = REPLACE(', column_name, ', ''https://tudominioantiguo.com'', ''https://tudominionuevo.com'');') AS statement
FROM information_schema.columns
WHERE table_schema = 'tu_base_de_datos'
AND column_name IN ('url', 'link_rewrite', 'domain', 'domain_ssl', 'value', 'text', 'content');
Ejecutarás esta consulta y te devolverá una lista de sentencias SQL. Deberás copiar esas sentencias y ejecutarlas una a una, o todas juntas. Es tedioso pero garantiza que no queda ninguna URL antigua.
Paso 5: Configurar redirecciones (301) para no perder SEO
Este es el paso más importante para no perder tu posicionamiento en Google. Si alguien tenía enlazada una página de tu tienda antigua, necesitas que ese enlace redirija automáticamente a la nueva URL. Para ello, usaremos redirecciones 301.
5.1. Editar el archivo .htaccess
En la raíz de tu instalación de PrestaShop, encontrarás un archivo llamado .htaccess. Este archivo controla el comportamiento del servidor. Debes añadir las siguientes líneas al principio del archivo:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ https://tudominionuevo.com/$1 [R=301,L]
Explicación:
Options +FollowSymLinksasegura que el servidor siga los enlaces simbólicos.RewriteEngine onactiva el motor de reescritura.RewriteRule ^(.*)$ https://tudominionuevo.com/$1 [R=301,L]es la regla que redirige todas las peticiones a tu nuevo dominio, manteniendo la ruta específica ($1).
[WARNING] Esta redirección es global. Si tienes otros sitios o subdominios en el mismo directorio, también se verán afectados. Asegúrate de que esta regla solo esté en el archivo .htaccess de la tienda que quieres mover.
5.2. Generar un .htaccess específico para el dominio antiguo
Si tenías la tienda en tudominioantiguo.com y ahora la has movido a tudominionuevo.com, pero el dominio antiguo sigue apuntando al mismo servidor, es mejor crear un .htaccess específico para ese dominio. Esto lo harías en la carpeta que corresponde al dominio antiguo en DirectAdmin.
El contenido sería el mismo que el anterior, pero asegurándote de que la redirección apunta al nuevo dominio.
Paso 6: Limpiar la caché de PrestaShop
PrestaShop guarda una caché para acelerar la carga de las páginas. Después de cambiar la URL, es posible que esta caché contenga referencias antiguas y cause problemas. Debes limpiarla.
6.1. Desde el panel de administración
Si aún puedes acceder al panel de administración, ve a Parámetros avanzados > Rendimiento y haz clic en el botón Vaciar la caché en la parte superior.
6.2. Manualmente
Si no puedes acceder al panel, deberás eliminar los archivos de caché manualmente. En tu gestor de archivos, navega a la carpeta var/cache (o cache en versiones antiguas). Dentro de esta carpeta, verás subcarpetas con nombres como dev y prod. Elimina todos los archivos dentro de estas carpetas.
[TIP] No elimines las carpetas en sí, solo su contenido. De esta manera, PrestaShop las recreará automáticamente con la nueva configuración.
Paso 7: Verificar que todo funciona correctamente
Una vez completados todos los pasos, es hora de comprobar que todo está en orden.
7.1. Prueba la nueva URL
Escribe tu nueva URL en el navegador. Deberías ver tu tienda funcionando con normalidad.
7.2. Revisa el panel de administración
Accede a tu panel de administración con la nueva URL (ej: tudominionuevo.com/admin1234). Deberías poder entrar sin problemas.
7.3. Comprueba las imágenes
Navega por tu tienda y verifica que las imágenes de los productos, las categorías y los banners se cargan correctamente. Si no se cargan, es que hay URLs antiguas en la base de datos que no se han actualizado. Repite el paso 4.
7.4. Prueba la redirección
Escribe una URL antigua en tu navegador (ej: tudominioantiguo.com/producto-ejemplo.html). Deberías ser redirigido automáticamente a la misma página pero en el nuevo dominio.
Preguntas frecuentes (FAQ)
¿Puedo cambiar la URL de PrestaShop sin tocar la base de datos?
No es recomendable. Aunque podrías cambiar la URL en el panel de administración y en el archivo parameters.php, la base de datos contiene muchas referencias a la URL antigua (en imágenes, enlaces, etc.). Si no las actualizas, tendrás una tienda a medias, con imágenes rotas y enlaces que no funcionan.
¿Qué pasa si pierdo el acceso al panel de administración después del cambio?
No te preocupes, es un problema común. Simplemente accede a tu base de datos a través de phpMyAdmin en DirectAdmin y ejecuta la consulta SQL del paso 4 para reemplazar las URLs. Después, limpia la caché manualmente y podrás volver a entrar.
¿Es necesario cambiar el dominio en DirectAdmin antes de cambiar la URL en PrestaShop?
Sí, es absolutamente necesario. Si el nuevo dominio no está configurado en tu servidor, PrestaShop no podrá funcionar. Asegúrate de que el dominio apunta a tu servidor y de que se ha creado la carpeta correspondiente en public_html.
¿Cuánto tiempo tarda en propagarse el cambio de DNS?
La propagación de DNS puede tardar desde unos minutos hasta 48 horas. Durante este tiempo, algunos usuarios verán tu tienda en la URL antigua y otros en la nueva. Es un proceso normal. Una vez que la propagación termine, todos verán la nueva URL.
¿Qué hago si mi tienda usa SSL (https)?
Si tu tienda usa SSL, asegúrate de que el certificado SSL cubre el nuevo dominio. En DirectAdmin, puedes gestionar los certificados SSL en la sección correspondiente. Además, en las consultas SQL y en los archivos de configuración, debes usar https:// en lugar de http:// en las URLs.
¿Puedo cambiar la URL de PrestaShop si uso otro panel de control como Syspanel?
Sí, el proceso es similar. La única diferencia es la interfaz del panel de control. En Syspanel (el puerto de acceso es el 2106), la navegación es algo diferente, pero los conceptos de añadir dominios, gestionar bases de datos y archivos son los mismos. El proceso de cambio de URL en PrestaShop y en la base de datos es idéntico.
Conclusión
Cambiar la URL de tu tienda PrestaShop
