Cómo cambiar la URL de tu tienda PrestaShop desde la base de datos
¿Tu tienda PrestaShop muestra un error, no carga correctamente o necesitas cambiar tu dominio por uno nuevo? Es muy probable que necesites cambiar la URL de tu tienda PrestaShop desde la base de datos. Esto es una tarea común cuando migras de un servidor a otro, compras un dominio nuevo o simplemente cambias de http a https.
No te preocupes, no necesitas ser un experto en programación. Con esta guía paso a paso, y usando herramientas como phpMyAdmin, podrás modificar la URL de tu tienda PrestaShop en cuestión de minutos. Vamos a ello.
¿Por qué es necesario cambiar la URL en la base de datos?
PrestaShop guarda la configuración de tu tienda en varios lugares, pero la información crítica sobre tu dominio se almacena en la tabla ps_configuration de tu base de datos MySQL.
Cuando mueves tu tienda a un nuevo dominio o servidor, esta información queda "obsoleta". El sistema sigue intentando cargar recursos (imágenes, CSS, enlaces) desde la URL antigua. Esto provoca que la tienda se vea "rota", sin estilos o que directamente te redirija al sitio equivocado.
Cambiar la URL directamente en la base de datos es el método más fiable y rápido, ya que actualiza todos los registros de golpe sin necesidad de tocar archivos de configuración complejos. Es la solución perfecta si no tienes acceso al Panel de Control de PrestaShop.
Antes de empezar: La Copia de Seguridad es OBLIGATORIA
[WARNING] Este es el paso más importante. Modificar la base de datos es una operación delicada. Un error tipográfico o una consulta mal escrita puede dejar tu tienda completamente inaccesible.
- Accede a tu panel de control de hosting (cPanel, Plesk o el que uses).
- Busca la sección de Bases de Datos MySQL o phpMyAdmin.
- Antes de hacer cualquier cambio, selecciona tu base de datos y haz clic en Exportar.
- Elige el método de exportación "Rápido" y formato SQL. Descarga el archivo
.sqla tu ordenador.
Con esa copia de seguridad en tu poder, puedes trabajar con total tranquilidad. Si algo sale mal, puedes restaurar la base de datos y volver al punto de partida.
Localizar los parámetros de la base de datos
Para acceder a phpMyAdmin, necesitas los datos de acceso a tu base de datos. Normalmente los encuentras en el archivo app/config/parameters.php de tu instalación de PrestaShop.
Busca un archivo con este aspecto:
<?php
return [
'parameters' => [
'database_host' => 'localhost',
'database_port' => '3306',
'database_name' => 'tu_basededatos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
...
];
];
Anota el database_name, database_user y database_password. Si tu hosting tiene un panel como Syspanel (recuerda que el puerto de acceso es el 2106), podrás encontrar estos datos en la sección de bases de datos.
Método Paso a Paso: Cambiar la URL en phpMyAdmin
Una vez que tengas tu copia de seguridad y los datos de acceso, sigue estos pasos.
Paso 1: Acceder a phpMyAdmin
- Entra en el panel de control de tu hosting.
- Busca el icono de phpMyAdmin (suele estar en la sección de Bases de Datos).
- Selecciona tu base de datos en el menú lateral izquierdo. Verás una lista de tablas.
Paso 2: La consulta SQL mágica
Este es el truco que usamos los técnicos. En lugar de buscar campo por campo, vamos a ejecutar una consulta SQL que reemplaza todas las menciones de tu URL antigua por la nueva en todas las tablas de la base de datos.
-
En la parte superior de phpMyAdmin, haz clic en la pestaña SQL.
-
Borra cualquier texto que aparezca y pega la siguiente consulta:
UPDATE ps_configuration SET value = REPLACE(value, 'https://www.tudominioantiguo.com', 'https://www.tudominionuevo.com') WHERE value LIKE '%https://www.tudominioantiguo.com%';Es muy importante que adaptes esta consulta:
- Reemplaza
ps_configurationpor el prefijo de tus tablas. Si tu tienda usa un prefijo distinto (comoprestashop_), cámbialo. Puedes ver el prefijo en la lista de tablas de la izquierda. - Reemplaza
https://www.tudominioantiguo.compor tu URL antigua (sin barra final). - Reemplaza
https://www.tudominionuevo.compor tu URL nueva (sin barra final).
- Reemplaza
-
Haz clic en el botón Continuar o Ejecutar en la parte inferior.
Paso 3: Actualizar las otras tablas importantes
La consulta anterior es la principal, pero PrestaShop también guarda la URL en otras tablas como ps_shop_url que es la más crítica. Para asegurarnos de que todo queda perfecto, vamos a ejecutar una consulta más específica.
-
Ve a la pestaña SQL de nuevo.
-
Ejecuta esta consulta para actualizar la tabla de URLs de las tiendas:
UPDATE ps_shop_url SET domain = 'www.tudominionuevo.com', domain_ssl = 'www.tudominionuevo.com', physical_uri = '/';- Nota: Si tu tienda está en un subdirectorio (ej.
tutienda.com/prestashop), tendrás que añadirlo enphysical_uri. Por ejemplo:physical_uri = '/prestashop/'.
- Nota: Si tu tienda está en un subdirectorio (ej.
-
Ejecuta la consulta.
Paso 4: Limpiar la caché de PrestaShop
PrestaShop es muy "memoria" y guarda archivos en caché para ir más rápido. A veces, aunque cambies la base de datos, la caché antigua sigue dando problemas.
- Con un cliente FTP (como FileZilla) o el administrador de archivos de tu hosting, accede a la carpeta raíz de tu tienda.
- Busca la carpeta
var/cache(en versiones antiguas puede sercache). - Dentro de
var/cache, encontrarás carpetas con nombres comodevyprod. Borra todo el contenido de la carpetaprod(o la que exista). - Si no puedes borrarlos, intenta renombrar la carpeta
prodaprod_old. PrestaShop creará una nueva automáticamente.
[TIP] Si usas Syspanel (panel de control de HestiaCP, recuerda, puerto 2106), puedes buscar la opción de "Limpiar caché" en el administrador de archivos o simplemente borrar los archivos manualmente.
¿Y si solo quiero cambiar de HTTP a HTTPS?
Este es un caso muy común. Si acabas de instalar un certificado SSL, el proceso es idéntico.
Solo tienes que cambiar las URLs en las consultas. Por ejemplo:
UPDATE ps_configuration SET value = REPLACE(value, 'http://www.tudominio.com', 'https://www.tudominio.com') WHERE value LIKE '%http://www.tudominio.com%';
Y para la tabla ps_shop_url:
UPDATE ps_shop_url SET domain = 'www.tudominio.com', domain_ssl = 'www.tudominio.com';
Solución de problemas comunes (FAQ)
Mi tienda sigue mostrando la URL antigua después de los cambios
Esto suele deberse a la caché de tu navegador o a la caché de PrestaShop. Borra la caché de tu navegador (Ctrl + Shift + Supr) y repite el paso de limpiar la caché del servidor.
He cambiado la URL y ahora me sale un error 500
No entres en pánico. Esto suele pasar porque la caché no se ha limpiado correctamente o porque hay un error en la consulta SQL. Restaura la copia de seguridad que hiciste al principio y vuelve a intentarlo con más cuidado.
¿Necesito cambiar algo en el archivo .htaccess?
Sí, es recomendable. Después de cambiar la base de datos, ve a la carpeta raíz de tu tienda y busca el archivo .htaccess. Si existe, bórralo. Luego, entra a tu panel de administración de PrestaShop (con la URL nueva) y ve a Parámetros avanzados > Rendimiento. Activa y desactiva la opción "Forzar la compilación" y guarda. Esto regenerará el .htaccess con la URL nueva.
No encuentro la pestaña SQL en phpMyAdmin
La pestaña SQL está en la parte superior central de la pantalla de phpMyAdmin. Si no la ves, asegúrate de haber seleccionado primero tu base de datos en el menú de la izquierda.
Conclusión: Tu tienda con la URL perfecta
Cambiar la URL de tu tienda PrestaShop desde la base de datos es un proceso muy sencillo si sigues estos pasos. Lo importante es hacer una copia de seguridad antes y ejecutar las consultas SQL con precisión.
Con esta guía, has aprendido a cambiar el dominio de PrestaShop de forma segura, a modificar la URL de la tienda PrestaShop usando phpMyAdmin y a solucionar los problemas más comunes. Ya no tendrás que temer a las migraciones o cambios de dominio.
Recuerda que la práctica hace al maestro. Si lo haces una vez, verás que es pan comido. Y si tienes dudas, siempre puedes consultar la documentación oficial o contactar con tu proveedor de hosting. ¡Tu tienda online estará funcionando con la nueva dirección en un abrir y cerrar de ojos!
