Cómo cambiar la URL de PrestaShop en DirectAdmin (sin romper el sitio)
Antes de empezar: ¿Por qué cambiar la URL de tu PrestaShop?
Cambiar la URL de tu tienda PrestaShop es una operación más común de lo que parece. Puede que quieras migrar de un dominio antiguo a uno nuevo, mover tu tienda de un servidor a otro o simplemente pasar de un subdominio a un dominio principal. Sin embargo, hacerlo sin cuidado puede romper tu sitio, dejando imágenes rotas, enlaces muertos y una tienda inaccesible.
En este artículo te voy a guiar paso a paso para que puedas cambiar la URL de PrestaShop en DirectAdmin de forma segura y sin romper nada. No necesitas ser un experto en programación, solo seguir las instrucciones al pie de la letra y tener un poco de paciencia.
Paso 1: Haz una copia de seguridad completa (¡No te lo saltes!)
Antes de tocar absolutamente nada, necesitas una copia de seguridad completa de tu tienda. Esto incluye tanto los archivos como la base de datos. Si algo sale mal, podrás restaurar todo en cuestión de minutos.
¿Cómo hacer la copia de seguridad en DirectAdmin?
- Accede a tu panel de DirectAdmin con tus credenciales de administrador.
- Busca la sección "Copia de seguridad" o "Backup" en el menú principal.
- Selecciona la opción de "Copia de seguridad completa" (o "Full Backup"). Esto generará un archivo comprimido con todos tus archivos y bases de datos.
- Descarga ese archivo a tu ordenador o a un almacenamiento externo. Nunca lo dejes solo en el servidor, porque si algo falla, podrías perderlo.
[WARNING]
Si no haces una copia de seguridad y algo sale mal, podrías perder tu tienda entera, incluidos los pedidos, clientes y productos. No es negociable: haz la copia.
Paso 2: Identifica todas las referencias a tu URL actual
PrestaShop guarda la URL de tu tienda en varios lugares: en la base de datos, en archivos de configuración y en la caché. Si solo cambias una parte, la tienda se romperá. Por eso, es importante saber dónde buscar.
Los archivos clave que debes conocer
- config/settings.inc.php (en PrestaShop 1.6 y anteriores): Aquí se definen las constantes
_PS_BASE_URL_y_PS_BASE_URL_SSL_. - app/config/parameters.php (en PrestaShop 1.7 y 8): Este archivo contiene la configuración de la base de datos y otros parámetros, pero no siempre incluye la URL directamente.
- Base de datos: La URL se guarda en la tabla
ps_configuration(ops_shop_urlen versiones más recientes). Es el lugar más importante.
[INFO]
Si tu tienda usa PrestaShop 1.7 o superior, el archivoparameters.phpno tiene la URL directamente. En su lugar, la URL se gestiona desde la base de datos y, en algunos casos, desde la tablaps_shop_url.
Paso 3: Cambiar la URL en la base de datos (el paso más crítico)
Este es el corazón del proceso. Si solo haces un paso de todo este artículo, que sea este. La base de datos guarda la URL en varias tablas, pero la más importante es ps_shop_url.
Cómo acceder a phpMyAdmin desde DirectAdmin
- En DirectAdmin, busca la sección "MySQL Management" o "Administración de MySQL".
- Haz clic en "phpMyAdmin". Esto abrirá la interfaz de gestión de bases de datos.
- Selecciona la base de datos de tu PrestaShop (normalmente tiene un prefijo como
tu_usuario_prestashop).
El cambio en la tabla ps_shop_url
- Busca la tabla
ps_shop_url(el prefijops_puede variar si lo cambiaste al instalar). - Haz clic en "Examinar" (Browse) para ver las filas.
- Verás una fila con tu dominio actual. Haz clic en "Editar" (Edit).
- Cambia los campos
domain,domain_sslyphysical_urisegún tu nueva URL.
Ejemplo:
- Si tu URL actual es
https://tienda.antigua.comy quieres cambiarla ahttps://tienda.nueva.com, entonces:domain:tienda.nueva.comdomain_ssl:tienda.nueva.comphysical_uri:/(si la tienda está en la raíz) o/tienda/(si está en una subcarpeta).
[TIP]
Si no sabes qué valor poner enphysical_uri, déjalo como/si tu tienda está en la raíz del dominio. Si está en una subcarpeta, por ejemplohttps://tudominio.com/tienda, entonces el valor sería/tienda/(con las barras incluidas).
Otras tablas que mencionan la URL
Además de ps_shop_url, la URL puede aparecer en otras tablas como ps_configuration, ps_shop o incluso en los productos, categorías y enlaces de imágenes. Para no dejar cabos sueltos, puedes ejecutar una consulta SQL de búsqueda y reemplazo.
Consulta SQL para cambiar la URL en toda la base de datos:
UPDATE ps_shop_url SET domain = 'tienda.nueva.com', domain_ssl = 'tienda.nueva.com' WHERE domain = 'tienda.antigua.com';
También puedes usar una herramienta como Better Search Replace (si tienes acceso a WordPress, pero para PrestaShop puedes usar un script temporal) o ejecutar consultas manuales en las tablas que sepas que contienen la URL. Sin embargo, lo más seguro es hacerlo a través de la tabla ps_shop_url y luego limpiar la caché.
[WARNING]
No hagas un reemplazo masivo en toda la base de datos sin saber lo que haces. Podrías romper enlaces internos o serializar datos incorrectamente. Si no estás seguro, contrata a un profesional o usa un módulo especializado.
Paso 4: Actualizar los archivos de configuración
Ahora pasemos a los archivos. Dependiendo de tu versión de PrestaShop, el proceso varía ligeramente.
Para PrestaShop 1.6 y anteriores
- Accede a tu servidor mediante FTP o el Administrador de Archivos de DirectAdmin.
- Busca la carpeta
configy abre el archivosettings.inc.php. - Busca las líneas que contienen
_PS_BASE_URL_y_PS_BASE_URL_SSL_. - Cambia el dominio antiguo por el nuevo.
Ejemplo:
define('_PS_BASE_URL_', 'https://tienda.nueva.com');
define('_PS_BASE_URL_SSL_', 'https://tienda.nueva.com');
Para PrestaShop 1.7 y 8
En estas versiones, la URL no se guarda en un archivo de configuración, sino en la base de datos (como ya hicimos en el paso 3). Sin embargo, a veces puede quedar una referencia en la caché o en los archivos .htaccess.
Paso 5: Regenerar el archivo .htaccess
El archivo .htaccess contiene reglas de redirección y reescritura de URLs. Si no lo actualizas, es posible que las URLs antiguas sigan apareciendo o que la tienda dé errores 404.
- Ve a la carpeta raíz de tu PrestaShop en el Administrador de Archivos de DirectAdmin.
- Busca el archivo
.htaccessy elimínalo o renómbralo a.htaccess.bak(por seguridad). - Accede a tu tienda desde el nuevo dominio. PrestaShop debería regenerar el
.htaccessautomáticamente.
[INFO]
Si la tienda no regenera el.htaccess, puedes hacerlo manualmente desde el panel de administración de PrestaShop: ve a Parámetros avanzados > Rendimiento y activa la opción "Forzar la compilación" y luego desactívala. Esto suele forzar la regeneración de archivos.
Paso 6: Limpiar la caché de PrestaShop
La caché guarda versiones antiguas de tus páginas y configuraciones. Si no la limpias, es probable que veas errores o la URL antigua en el navegador.
Cómo limpiar la caché en PrestaShop
- Accede al panel de administración de tu tienda (
https://tienda.nueva.com/admin). - Ve a Parámetros avanzados > Rendimiento.
- Haz clic en "Vaciar la caché" (o "Clear cache").
- También puedes borrar manualmente la carpeta
var/cache(en PrestaShop 1.7) ocache(en PrestaShop 1.6) desde el Administrador de Archivos de DirectAdmin. Elimina todo el contenido, pero no elimines la carpeta en sí.
[TIP]
Si no puedes acceder al panel de administración, borra la carpeta de caché directamente desde DirectAdmin. Esto suele resolver el problema de acceso.
Paso 7: Cambiar la URL en el panel de administración (método alternativo)
Si prefieres evitar phpMyAdmin, PrestaShop tiene una opción para cambiar la URL desde el panel de administración, pero solo funciona si tu tienda sigue accesible con la URL antigua.
- Ve a Parámetros avanzados > Multitienda (si tienes varias tiendas).
- Haz clic en el icono de edición de tu tienda.
- Cambia los campos "Dominio", "Dominio SSL" y "URI física".
- Guarda los cambios y limpia la caché.
[WARNING]
Este método solo funciona si la tienda sigue accesible. Si ya cambiaste el dominio en el servidor y la tienda no carga, tendrás que usar el método de la base de datos.
Paso 8: Mover los archivos a la nueva ubicación (si aplica)
Si además de cambiar el dominio, estás moviendo PrestaShop a un nuevo servidor o a una subcarpeta, debes transferir todos los archivos a la nueva ubicación.
Cómo mover archivos con DirectAdmin
- Usa el Administrador de Archivos de DirectAdmin para seleccionar todos los archivos de tu tienda.
- Haz clic en "Copiar" o "Mover" y selecciona la nueva carpeta (por ejemplo,
public_html/tienda). - Asegúrate de que los permisos de archivos y carpetas sean correctos (generalmente 755 para carpetas y 644 para archivos).
[INFO]
Si estás moviendo a otro servidor, también necesitarás exportar e importar la base de datos. Puedes hacerlo desde phpMyAdmin: exporta la base de datos en el servidor antiguo e impórtala en el nuevo.
Paso 9: Comprobar que todo funciona correctamente
Después de hacer todos los cambios, es hora de verificar que tu tienda funciona bien. Aquí tienes una lista de comprobación:
- Acceso al front office: Entra a
https://tienda.nueva.comy comprueba que la página carga sin errores. - Acceso al back office: Entra a
https://tienda.nueva.com/adminy verifica que puedes iniciar sesión. - Imágenes: Revisa algunas páginas de producto y confirma que las imágenes se ven correctamente.
- Enlaces internos: Haz clic en algunas categorías y productos para asegurarte de que los enlaces funcionan.
- Pago y envío: Si tienes módulos de pago o envío, haz una prueba con un pedido de prueba.
[TIP]
Si alguna imagen o enlace sigue apuntando a la URL antigua, puedes usar un módulo como "PS Cleaner" o hacer un reemplazo en la base de datos con una consulta SQL específica para esa tabla.
Paso 10: Configurar redirecciones 301 (para no perder SEO)
Si tu tienda tenía posicionamiento en Google con la URL antigua, es fundamental configurar redirecciones 301 para que los visitantes y buscadores sean redirigidos automáticamente a la nueva URL.
Cómo añadir redirecciones 301 en el .htaccess
Abre el archivo .htaccess de tu PrestaShop y añade las siguientes líneas al principio:
Redirect 301 / https://tienda.nueva.com/
[INFO]
Si tu tienda estaba en una subcarpeta, por ejemplohttps://tudominio.com/tienda, la redirección sería:
Redirect 301 /tienda/ https://tienda.nueva.com/
Preguntas frecuentes (FAQ)
¿Puedo cambiar la URL sin perder mis productos y pedidos?
Sí, siempre que hagas una copia de seguridad y sigas los pasos correctamente. Tus productos, pedidos y clientes se guardan en la base de datos, que no se ve afectada por el cambio de URL en sí, solo las referencias a la URL.
¿Qué hago si no puedo acceder al panel de administración después del cambio?
Primero, limpia la caché. Si sigue sin funcionar, revisa la tabla ps_shop_url en la base de datos y asegúrate de que los campos domain y domain_ssl están correctamente configurados. También verifica que el archivo .htaccess se ha regenerado.
¿Necesito cambiar la URL en Google Search Console?
Sí, después de cambiar la URL, debes añadir tu nueva propiedad en Google Search Console y configurar un cambio de dirección en Google. Esto ayuda a que Google indexe la nueva URL más rápido.
¿Qué es physical_uri y cuándo debo cambiarlo?
physical_uri es la ruta donde está instalada tu tienda dentro del dominio. Si tu tienda está en https://tudominio.com, el valor es /. Si está en https://tudominio.com/tienda, el valor es /tienda/. Es importante que lo configures correctamente para que los enlaces se generen bien.
Conclusión
Cambiar la URL de PrestaShop en DirectAdmin no es complicado, pero requiere atención al detalle. Si sigues los pasos de este artículo, podrás hacerlo sin romper tu sitio y sin perder tu posicionamiento SEO. Recuerda siempre hacer una copia de seguridad antes de empezar y comprobar cada cambio antes de dar el salto definitivo.
Si en algún momento te sientes abrumado, no dudes en pedir ayuda a un profesional o al soporte de tu hosting. Es mejor invertir un poco de dinero que arriesgar tu tienda entera. ¡Mucha suerte con tu migración!
