Cómo cambiar la URL de PrestaShop desde phpMyAdmin (cPanel)
¿Por qué necesitas cambiar la URL de PrestaShop desde phpMyAdmin?
Cuando migras tu tienda online a un nuevo dominio, cambias de servidor o incluso pasas de un entorno de pruebas a producción, una de las tareas más delicadas es actualizar la URL de PrestaShop. Si no lo haces correctamente, te encontrarás con problemas como páginas en blanco, imágenes rotas, enlaces que apuntan al dominio antiguo o imposibilidad de acceder al panel de administración.
La forma más rápida y segura de solucionarlo es editando directamente la base de datos mediante phpMyAdmin, la herramienta que encontrarás en el panel de control de tu hosting (como cPanel o Syspanel). Este método es mucho más fiable que intentar hacerlo desde el back-office, ya que a veces el propio PrestaShop bloquea el acceso si detecta que la URL no coincide con la configurada en la base de datos.
En esta guía completa, paso a paso, te explicaré cómo cambiar la URL de PrestaShop desde phpMyAdmin en cPanel, incluyendo consejos para no perder datos, qué tablas debes modificar y qué hacer si algo sale mal.
Antes de empezar: preparativos y precauciones
Haz una copia de seguridad completa
Este es el paso más importante de todo el proceso. Antes de tocar nada en la base de datos, asegúrate de tener una copia de seguridad tanto de los archivos de tu tienda como de la base de datos. Si algo sale mal, podrás restaurar todo sin pérdidas.
Para hacer la copia de seguridad de la base de datos desde cPanel, sigue estos pasos:
- Accede a cPanel con tus credenciales de hosting.
- Busca la sección Archivos y haz clic en Copias de seguridad.
- En el apartado Copias de seguridad parciales, selecciona la opción de descargar la base de datos de PrestaShop (suele tener un prefijo como
presta_ops_). - Guarda el archivo
.sqlen tu ordenador.
También es recomendable descargar una copia de los archivos de la tienda mediante FTP o el administrador de archivos de cPanel.
Conoce tus datos de acceso a la base de datos
Para acceder a phpMyAdmin, necesitarás el nombre de la base de datos y el usuario. Normalmente los encuentras en el archivo config/settings.inc.php (para PrestaShop 1.6) o app/config/parameters.php (para PrestaShop 1.7 y 1.8). Busca las líneas que contienen database_name, database_user y database_password.
Si no sabes dónde encontrar estos datos, también puedes verlos desde cPanel en la sección Bases de datos MySQL, donde aparecen listadas todas las bases de datos y sus usuarios asociados.
Accediendo a phpMyAdmin desde cPanel
- Inicia sesión en cPanel.
- Busca la sección Bases de datos y haz clic en phpMyAdmin.
- Se abrirá una nueva pestaña con la interfaz de phpMyAdmin.
- En el panel izquierdo, selecciona la base de datos de tu PrestaShop (la que tiene el prefijo que viste en los archivos de configuración).
Una vez dentro, verás todas las tablas de tu tienda. No te asustes: solo necesitaremos modificar unas pocas.
Tablas que debes modificar para cambiar la URL de PrestaShop
PrestaShop guarda la URL de la tienda en varias tablas de la base de datos. Para que el cambio sea efectivo y no haya ningún conflicto, tendrás que actualizar estas tres tablas principales:
1. Tabla ps_configuration
Esta tabla almacena los parámetros globales de configuración de la tienda. Busca las filas que tengan los siguientes valores en la columna name:
PS_SHOP_DOMAIN→ Guarda el dominio principal (ej:midominio.com).PS_SHOP_DOMAIN_SSL→ Guarda el dominio para conexiones seguras (ej:midominio.com).PS_SHOP_NAME→ (Opcional) Si también quieres cambiar el nombre de la tienda.PS_SHOP_URL→ En versiones antiguas, puede aparecer esta variable.
Para cada una de estas filas, debes actualizar el campo value con la nueva URL. Por ejemplo, si tu dominio antiguo era www.antiguo.com y el nuevo es www.nuevo.com, el valor debe ser exactamente www.nuevo.com (sin http:// ni /).
2. Tabla ps_shop_url
Esta tabla es la más importante, ya que define las URLs de cada tienda (si tienes varias). La estructura típica es:
- Columna
domain: aquí va el dominio sinwww(ej:nuevo.com). - Columna
domain_ssl: aquí va el dominio con SSL (ej:nuevo.com). - Columna
physical_uri: suele estar vacía o con/(no la toques). - Columna
virtual_uri: suele estar vacía (no la toques). - Columna
main: debe estar en1para la tienda principal.
Simplemente actualiza las columnas domain y domain_ssl con tu nuevo dominio.
3. Tabla ps_shop (en PrestaShop 1.7+)
En versiones modernas, también existe la tabla ps_shop que contiene el nombre de la tienda. Si quieres cambiar el nombre visible, puedes actualizar la columna name. Pero para la URL, las tablas anteriores son suficientes.
Método visual: editar las celdas directamente
Una vez localizada la tabla ps_configuration, puedes hacer lo siguiente:
- Haz clic en el icono de lápiz (editar) en la fila correspondiente a
PS_SHOP_DOMAIN. - En el campo
value, escribe el nuevo dominio sinhttp://niwww(aunque si tu dominio incluyewww, puedes ponerlo, pero es más recomendable sinwwwpara evitar redirecciones). - Haz clic en Continuar y luego en Ejecutar para guardar los cambios.
- Repite el proceso para
PS_SHOP_DOMAIN_SSL.
Este método es visual y seguro, ya que solo modificas una fila a la vez. Es ideal si no tienes experiencia con consultas SQL.
Método avanzado: usar consultas SQL
Si prefieres hacerlo todo de una vez, puedes usar el editor SQL de phpMyAdmin. Ve a la pestaña SQL y escribe las siguientes consultas (reemplaza antiguo.com y nuevo.com por tus dominios reales):
UPDATE ps_configuration SET value = 'nuevo.com' WHERE name = 'PS_SHOP_DOMAIN';
UPDATE ps_configuration SET value = 'nuevo.com' WHERE name = 'PS_SHOP_DOMAIN_SSL';
UPDATE ps_shop_url SET domain = 'nuevo.com', domain_ssl = 'nuevo.com' WHERE main = 1;
Si tu tabla tiene un prefijo distinto (por ejemplo, prestashop_), tendrás que cambiar ps_ por ese prefijo en todas las consultas.
Haz clic en Continuar y luego en Ejecutar. Si todo ha ido bien, verás un mensaje de éxito indicando cuántas filas se han modificado.
Qué hacer si tu PrestaShop tiene multitienda
Si tienes activada la funcionalidad de multitienda, la tabla ps_shop_url tendrá varias filas, una por cada tienda. En ese caso, deberás actualizar cada fila individualmente, cambiando domain y domain_ssl por la URL correspondiente a cada tienda.
Para identificarlas, fíjate en la columna id_shop y main. La tienda principal suele tener main = 1. El resto tendrá main = 0 y su propio dominio asociado.
Después de cambiar la URL: pasos adicionales
Limpia la caché de PrestaShop
PrestaShop guarda mucha información en caché. Después de modificar la base de datos, debes limpiarla para que los cambios se reflejen correctamente. Para ello:
- Accede a tu panel de administración (si puedes) en
/admin(o la ruta que hayas configurado). - Ve a Parámetros avanzados → Rendimiento.
- Haz clic en Vaciar la caché (tanto la de Smarty como la de Symfony si está disponible).
Si no puedes acceder al panel de administración, borra manualmente los archivos de caché desde el FTP. En PrestaShop 1.6, elimina el contenido de /cache/smarty/compile y /cache/smarty/cache. En PrestaShop 1.7, también puedes borrar el contenido de /var/cache.
Actualiza la URL en el archivo de configuración
En algunos casos, especialmente si no puedes acceder al back-office, es recomendable verificar que el archivo config/settings.inc.php (1.6) o app/config/parameters.php (1.7+) no contenga la URL antigua en alguna variable. Normalmente no la incluyen, pero por seguridad, revisa que no haya referencias al dominio anterior.
Comprueba los enlaces internos y las imágenes
Una vez que todo esté actualizado, navega por tu tienda y verifica que las imágenes cargan correctamente, que los enlaces de productos y categorías apuntan al nuevo dominio y que no hay ningún error 404. Si encuentras imágenes rotas, puede ser necesario regenerar las miniaturas desde el back-office en Parámetros avanzados → Rendimiento (en 1.7 se llama Parámetros avanzados → Rendimiento → Regenerar miniaturas).
Errores comunes y cómo solucionarlos
Página en blanco después del cambio
Esto suele deberse a que la caché no se ha limpiado correctamente o a que has introducido un valor incorrecto en la base de datos. Revisa que no haya caracteres extraños (espacios, barras) en los campos value de ps_configuration. Si el problema persiste, restaura la copia de seguridad y repite el proceso con más cuidado.
No puedo acceder al panel de administración
Si al intentar entrar al back-office te redirige al dominio antiguo, es que la tabla ps_shop_url no se ha actualizado correctamente. Vuelve a phpMyAdmin y verifica los valores de domain y domain_ssl. También puedes probar a borrar las cookies del navegador o usar una ventana de incógnito.
Las imágenes no cargan
Esto pasa cuando la URL de las imágenes sigue apuntando al antiguo dominio. Además de los cambios en las tablas, PrestaShop guarda rutas absolutas en algunas opciones. Ve a Parámetros avanzados → Rendimiento y activa la opción "Forzar la compilación" temporalmente. Luego, regenere las miniaturas como se indicó anteriormente.
Preguntas frecuentes (FAQ)
¿Puedo cambiar la URL de PrestaShop sin phpMyAdmin?
Sí, desde el back-office en Parámetros avanzados → General puedes modificar la URL de la tienda. Sin embargo, este método falla si ya has cambiado el dominio y no puedes acceder al panel. Por eso, phpMyAdmin es la opción más fiable en procesos de migrar PrestaShop a nuevo dominio.
¿Qué pasa si mi hosting usa Syspanel en lugar de cPanel?
No te preocupes. Syspanel (antes conocido como HestiaCP) también incluye phpMyAdmin. Para acceder, entra en tu panel de control en el puerto 2106 (por ejemplo, https://tudominio.com:2106), busca la sección de bases de datos y haz clic en phpMyAdmin. El proceso posterior es exactamente el mismo que hemos descrito.
¿Necesito cambiar la URL en la tabla ps_links?
No. La tabla ps_links no guarda URLs absolutas de la tienda, sino enlaces personalizados que crees tú. No es necesario modificarla en una migración estándar.
¿Debo cambiar el physical_uri si tengo la tienda en una subcarpeta?
Sí, si tu tienda no está en la raíz del dominio (por ejemplo, www.midominio.com/tienda), tendrás que indicar la subcarpeta en la columna physical_uri de la tabla ps_shop_url. Por ejemplo, '/tienda/'. Pero si la tienda está en la raíz, déjala vacía o con /.
¿Es necesario cambiar la URL en el archivo .htaccess?
No es obligatorio, pero sí recomendable. Después de migrar, regenera el .htaccess desde el back-office (Parámetros avanzados → Herramientas). Si no puedes, puedes borrarlo manualmente y PrestaShop lo regenerará al acceder a la tienda.
Conclusión: migrar PrestaShop a un nuevo dominio es sencillo si sigues estos pasos
Cambiar la URL de PrestaShop desde phpMyAdmin no es complicado si sabes exactamente qué tablas tocar y en qué orden. Recuerda: haz siempre una copia de seguridad, actualiza ps_configuration y ps_shop_url, limpia la caché y verifica el resultado. Con esta guía, podrás migrar PrestaShop a nuevo dominio sin dolores de cabeza, manteniendo intactos todos tus productos, clientes y pedidos.
Si tienes cualquier duda, no dudes en contactar con el soporte de tu hosting. Ellos podrán ayudarte a acceder a phpMyAdmin o a resolver cualquier incidencia técnica que surja durante el proceso.
