Cómo cambiar la URL de PrestaShop desde la base de datos en DirectAdmin
¿Por qué necesitas cambiar la URL de PrestaShop desde la base de datos?
Cuando cambias de dominio o migras tu tienda online a un nuevo servidor, PrestaShop sigue guardando la URL anterior en su base de datos. Esto provoca que la tienda no cargue correctamente, que las imágenes aparezcan rotas o que te redirija al dominio antiguo.
Aunque puedes cambiarlo desde el panel de administración, a veces no tienes acceso al back office porque la tienda no carga. En esos casos, la solución más fiable es modificar la URL directamente en la base de datos usando phpMyAdmin, que está disponible en tu panel de control DirectAdmin.
Este artículo te guiará paso a paso para que puedas hacerlo tú mismo, sin necesidad de conocimientos avanzados. Solo necesitas acceso a tu panel de hosting y seguir las instrucciones al pie de la letra.
Antes de empezar: prepara tu entorno de trabajo
🔍 Localiza tus datos de acceso a la base de datos
Para poder cambiar la URL de PrestaShop desde la base de datos, primero necesitas saber qué base de datos usa tu tienda. En DirectAdmin, sigue estos pasos:
- Inicia sesión en tu panel de DirectAdmin.
- Busca la sección "MySQL Management" o "Base de Datos MySQL".
- Anota el nombre de la base de datos que corresponde a tu PrestaShop. Normalmente aparece junto al nombre de tu usuario (por ejemplo,
usuario_prestashop). - También necesitarás el usuario y la contraseña de la base de datos. Si no los recuerdas, puedes cambiarlos desde el mismo panel.
💾 Realiza una copia de seguridad de tu base de datos
Este paso es obligatorio. Modificar la base de datos sin una copia de seguridad puede ser peligroso si cometes un error.
- En DirectAdmin, ve a la sección de "MySQL Management".
- Selecciona tu base de datos y haz clic en "phpMyAdmin".
- En la interfaz de phpMyAdmin, haz clic en la pestaña "Exportar".
- Elige el método "Rápido" y formato "SQL", luego haz clic en "Continuar".
- Descarga el archivo
.sqlresultante y guárdalo en un lugar seguro.
[WARNING] No omitas la copia de seguridad. Si algo sale mal, podrás restaurar tu tienda al estado anterior sin perder datos.
Accediendo a phpMyAdmin desde DirectAdmin
Para cambiar la URL de PrestaShop desde la base de datos, necesitarás abrir phpMyAdmin. Es una herramienta visual que te permite ejecutar consultas SQL sin escribir código complicado.
- Desde el panel de DirectAdmin, busca el icono de "phpMyAdmin".
- Si no lo ves directamente, ve a "MySQL Management" y allí encontrarás el enlace.
- Se abrirá una nueva pestaña con la interfaz de phpMyAdmin.
- En el panel izquierdo, haz clic en el nombre de tu base de datos para seleccionarla.
[INFO] Si tienes varias bases de datos, asegúrate de seleccionar la correcta. Un error aquí podría afectar a otra aplicación.
La consulta SQL clave para cambiar la URL de PrestaShop
PrestaShop guarda la URL de tu tienda en varias tablas de la base de datos. La más importante es ps_configuration, pero también necesitas actualizar las tablas de enlaces permanentes y de imágenes.
Vamos a ejecutar una consulta SQL que actualizará todas las referencias de tu dominio antiguo al nuevo. Esta es la forma más completa y segura de hacer el cambio.
🔧 Paso 1: Identifica tu dominio antiguo y el nuevo
Antes de ejecutar nada, ten claros estos dos datos:
- Dominio antiguo: por ejemplo,
https://www.mitiendaantigua.com - Dominio nuevo: por ejemplo,
https://www.mitriendanueva.com
Asegúrate de incluir el https:// y el www si lo usas. Si no usas www, omítelo de forma consistente.
🔧 Paso 2: Ejecuta la consulta de actualización global
En phpMyAdmin, con tu base de datos seleccionada, ve a la pestaña "SQL" (arriba del todo) y pega la siguiente consulta:
UPDATE ps_configuration SET value = REPLACE(value, 'https://www.mitiendaantigua.com', 'https://www.mitriendanueva.com') WHERE value LIKE '%https://www.mitiendaantigua.com%';
UPDATE ps_shop_url SET domain = REPLACE(domain, 'www.mitiendaantigua.com', 'www.mitriendanueva.com'), domain_ssl = REPLACE(domain_ssl, 'www.mitiendaantigua.com', 'www.mitriendanueva.com'), physical_uri = '/';
UPDATE ps_links_rewrite SET link_rewrite = REPLACE(link_rewrite, 'mitiendaantigua', 'mitriendanueva');
[WARNING] Sustituye
mitiendaantiguaymitriendanuevapor tus dominios reales. No dejes los ejemplos tal cual, o la consulta no funcionará.
Esta consulta hace tres cosas:
- Actualiza la configuración general de PrestaShop.
- Corrige los dominios en la tabla
ps_shop_url. - Actualiza las URLs amigables en
ps_links_rewrite.
🔧 Paso 3: Verifica que los datos se han actualizado
Después de ejecutar la consulta, verás un mensaje de éxito con el número de filas afectadas. Para comprobarlo:
- Ve a la tabla
ps_configuration. - Busca campos que contengan tu dominio antiguo.
- Si ves que el dominio nuevo ya aparece, todo ha ido bien.
[TIP] Si no encuentras ninguna fila afectada, puede que tu prefijo de tablas no sea
ps_. En ese caso, revisa el prefijo en tu archivoconfig/settings.inc.phpdentro de la carpeta de PrestaShop.
Actualizando la tabla de imágenes y archivos estáticos
PrestaShop guarda las rutas de las imágenes en la base de datos. Si no las actualizas, las imágenes se verán rotas en tu nueva URL.
🖼️ Consulta para actualizar las rutas de imágenes
Ejecuta esta consulta adicional en la pestaña SQL:
UPDATE ps_image_shop SET image_path = REPLACE(image_path, 'mitiendaantigua', 'mitriendanueva');
También es recomendable actualizar la tabla de productos y categorías:
UPDATE ps_product SET link_rewrite = REPLACE(link_rewrite, 'mitiendaantigua', 'mitriendanueva');
UPDATE ps_category SET link_rewrite = REPLACE(link_rewrite, 'mitiendaantigua', 'mitriendanueva');
🗂️ Limpia la caché de PrestaShop
Después de los cambios en la base de datos, PrestaShop puede seguir mostrando la URL antigua debido a la caché. Para solucionarlo:
- Conéctate a tu servidor por FTP o a través del administrador de archivos de DirectAdmin.
- Ve a la carpeta
/cachede tu instalación de PrestaShop. - Elimina todos los archivos y carpetas dentro de
cache/exceptoindex.phpy.htaccess. - También borra el contenido de la carpeta
/cache/smarty/compiley/cache/smarty/cache.
[INFO] Si no puedes acceder por FTP, también puedes borrar la caché desde el back office de PrestaShop, pero solo si la tienda ya carga correctamente.
Comprobando que la tienda funciona correctamente
Una vez que hayas ejecutado todas las consultas y limpiado la caché, es hora de probar tu tienda.
✅ Prueba rápida de funcionamiento
- Abre tu navegador en modo incógnito.
- Escribe tu nuevo dominio (por ejemplo,
https://www.mitriendanueva.com). - Comprueba que la página principal carga sin errores.
- Haz clic en un producto y verifica que las imágenes se ven correctamente.
- Entra al panel de administración (
/admin) y confirma que puedes acceder.
[TIP] Si la tienda no carga o muestra errores, revisa el archivo
config/settings.inc.phpy asegúrate de que la variable_DB_SERVER_apunta al servidor correcto.
🛠️ Errores comunes y cómo solucionarlos
- Error 404 en todas las páginas: Esto suele deberse a que el archivo
.htaccessno se ha regenerado. Ve a tu back office, en Parámetros avanzados → Rendimiento, y activa la opción "Regenerar el archivo .htaccess". - Imágenes rotas: Si las imágenes no cargan, vuelve a ejecutar la consulta de imágenes y limpia la caché de nuevo.
- La tienda redirige al dominio antiguo: Revisa que has ejecutado correctamente la primera consulta y que no hay redirecciones 301 configuradas a nivel de servidor.
Preguntas frecuentes sobre cómo cambiar la URL de PrestaShop
¿Qué pasa si mi PrestaShop usa un prefijo de tabla diferente?
El prefijo por defecto es ps_, pero algunas instalaciones usan otros como prestashop_ o shop_. Para saber cuál usas, abre el archivo config/settings.inc.php y busca la variable _DB_PREFIX_. Sustituye ps_ por tu prefijo en todas las consultas.
¿Necesito cambiar algo en DirectAdmin o en el servidor?
Sí, además de la base de datos, debes asegurarte de que tu dominio nuevo apunte a tu servidor. En DirectAdmin, revisa que el dominio esté añadido en la sección "Domain Setup" y que los registros DNS estén correctos.
¿Puedo usar este método si mi tienda usa SSL?
Sí, las consultas que te hemos dado ya incluyen la actualización de domain_ssl. Asegúrate de usar https:// en las URLs y de que tu certificado SSL esté activo para el nuevo dominio.
¿Qué hago si no tengo acceso a phpMyAdmin?
Si tu plan de hosting no incluye phpMyAdmin, puedes usar el cliente MySQL desde la línea de comandos a través de SSH. Sin embargo, esto requiere más conocimientos técnicos. Contacta con tu proveedor de hosting si no tienes acceso.
¿Debo cambiar la URL en el back office después de hacer esto?
Si has seguido todos los pasos, no deberías necesitar cambiar nada en el back office. Sin embargo, si la tienda carga correctamente, ve a Parámetros avanzados → Rendimiento y desactiva y reactiva la caché para refrescar todo.
Consejos finales para una migración sin problemas
Cambiar la URL de PrestaShop desde la base de datos en DirectAdmin es un proceso sencillo si sigues los pasos correctamente. Para terminar, aquí tienes algunos consejos extra:
- Haz siempre copias de seguridad antes de tocar la base de datos. No solo de la base, sino también de los archivos de tu tienda.
- Usa un entorno de pruebas si es posible, para practicar antes de hacer el cambio en producción.
- Revisa los enlaces internos de tu tienda, como los del menú o los del pie de página, para asegurarte de que apuntan al dominio nuevo.
- Actualiza tu sitemap y notifica el cambio a Google Search Console para evitar perder posicionamiento SEO.
[TIP] Si después de todos los pasos algo sigue fallando, no dudes en contactar con el soporte de tu hosting. Ellos pueden revisar la configuración del servidor y ayudarte a solucionar problemas más complejos.
Con esta guía, ya sabes cómo cambiar la URL de PrestaShop desde la base de datos en DirectAdmin. Recuerda que la paciencia y la meticulosidad son tus mejores aliadas en este proceso. ¡Buena suerte con tu migración!
