Cómo cambiar la URL de la tienda PrestaShop desde la base de datos
¿Cuándo necesitas cambiar la URL de tu PrestaShop?
Cambiar la URL de tu tienda PrestaShop es una tarea más común de lo que parece. Puede que hayas comprado un dominio nuevo, que estés migrando de un hosting a otro o que simplemente quieras pasar de un subdominio de pruebas (como tutienda.mihosting.com) a tu dominio definitivo (www.tutienda.com).
El problema es que PrestaShop guarda la URL de tu tienda en varios sitios: en archivos de configuración y, sobre todo, en la base de datos MySQL. Si solo cambias el dominio en el panel de administración, es muy probable que te encuentres con páginas rotas, imágenes que no cargan o que la tienda te redirija constantemente a la antigua dirección.
Por eso, en esta guía te voy a explicar paso a paso cómo cambiar la URL de tu PrestaShop directamente desde la base de datos. Es un método infalible que resuelve el 99% de los problemas de redireccionamiento y enlaces rotos. No necesitas ser un experto en programación, solo seguir las instrucciones con calma.
[WARNING] Antes de tocar nada, haz una copia de seguridad completa de tu base de datos y de los archivos de tu tienda. Si algo sale mal, podrás restaurar todo sin perder ventas ni configuraciones.
¿Qué necesitas para empezar?
Para realizar este cambio desde la base de datos, necesitas tener a mano:
- Acceso a tu panel de control de hosting (cPanel, Plesk o Syspanel).
- Las credenciales de acceso a phpMyAdmin (o la herramienta de gestión de bases de datos que use tu hosting).
- El nombre de tu base de datos y el usuario con permisos.
- La URL antigua (ej:
http://tutiendaantigua.com) y la URL nueva (ej:https://tutiendanueva.com).
[TIP] Si tu hosting utiliza Syspanel (antes conocido como HestiaCP), recuerda que el acceso se realiza a través del puerto 2106 (ej:
https://tu-dominio.com:2106). Dentro de Syspanel, busca la sección de bases de datos para encontrar el acceso a phpMyAdmin.
Paso 1: Acceder a phpMyAdmin
El primer paso es entrar en la herramienta de gestión de tu base de datos. El método más habitual es a través de phpMyAdmin.
- Accede a tu panel de control de hosting.
- Busca el icono o la sección de "Bases de datos MySQL" o "phpMyAdmin".
- Haz clic en phpMyAdmin. Se abrirá una nueva pestaña en tu navegador.
- En el panel izquierdo, selecciona el nombre de la base de datos de tu PrestaShop. Si no la ves, puede que necesites introducir tu usuario y contraseña de la base de datos de nuevo.
[INFO] Si no encuentras phpMyAdmin, contacta con el soporte de tu hosting. Es una herramienta estándar que todos deberían ofrecer.
Paso 2: Localizar las tablas correctas
PrestaShop guarda la configuración principal de la tienda en dos tablas muy específicas:
ps_configurationps_shop_url
El prefijo ps_ puede variar si lo cambiaste durante la instalación (por ejemplo, podría ser prestashop_ o shop_). Busca las tablas que coincidan con el nombre de tu instalación.
La tabla ps_shop_url es la más importante, ya que contiene la URL principal de tu tienda. La tabla ps_configuration guarda otras URLs relacionadas con SSL, archivos estáticos y el dominio principal.
Paso 3: Actualizar la tabla ps_shop_url
Esta es la tabla clave. Haz clic en su nombre (por ejemplo, ps_shop_url) para ver su contenido.
Verás una o varias filas con campos como domain, domain_ssl, physical_uri y request_uri. Lo que nos interesa son los dos primeros.
- Haz clic en el icono de "Editar" (normalmente un lápiz) en la fila que contiene tu tienda principal.
- Localiza el campo
domain. Aquí debes escribir tu nuevo dominio sinhttp://niwww. Por ejemplo:tutiendanueva.com. - Localiza el campo
domain_ssl. Si tu tienda usa HTTPS (algo muy recomendable), escribe aquí también el dominio nuevo. Si no usas SSL, déjalo vacío o pon el mismo dominio que en el campodomain. - No toques los campos
physical_uri(normalmente/) yrequest_uri(normalmente vacío) a menos que sepas exactamente lo que haces. - Haz clic en "Continuar" o "Ejecutar" al final de la página para guardar los cambios.
[TIP] Si tienes una tienda multitienda, verás varias filas. Deberás repetir este proceso para cada fila, cambiando el dominio de cada tienda a su URL correspondiente.
Paso 4: Actualizar la tabla ps_configuration
Ahora vamos a la tabla ps_configuration. Esta tabla es más grande y contiene muchísimos valores. Para encontrar los que nos interesan, utiliza el buscador que hay en la parte superior de la tabla.
Busca los siguientes nombres en la columna name:
PS_SHOP_DOMAINPS_SHOP_DOMAIN_SSL
Haz clic en el icono de "Editar" en la fila que contiene PS_SHOP_DOMAIN. En el campo value, escribe tu nuevo dominio (sin http://). Guarda los cambios.
Repite la operación con PS_SHOP_DOMAIN_SSL. Si usas SSL, pon el dominio nuevo. Si no, déjalo vacío.
[WARNING] Es posible que también encuentres valores como
PS_SHOP_EMAILoPS_SHOP_NAME. No los toques, solo modifica los que empiecen porPS_SHOP_DOMAIN.
Paso 5: Reemplazar la URL en otras tablas (el paso más importante)
Este es el paso que mucha gente olvida y que causa la mayoría de los problemas. La URL de tu tienda está "hardcodeada" (escrita directamente) en muchísimas tablas de la base de datos. Por ejemplo, en los productos, las categorías, los módulos, las imágenes, etc.
Para hacer este cambio de forma global y segura, usaremos una consulta SQL. No te asustes, es muy sencilla.
- En phpMyAdmin, ve a la pestaña "SQL" que aparece en la parte superior de la página (asegúrate de tener seleccionada tu base de datos en el panel izquierdo).
- En el cuadro de texto, pega la siguiente consulta:
UPDATE ps_configuration SET value = REPLACE(value, 'http://www.tudominioantiguo.com', 'https://www.tudominionuevo.com');
Pero espera, no la ejecutes aún. Primero debes personalizarla:
- Reemplaza
ps_por el prefijo de tus tablas si es diferente. - Reemplaza
http://www.tudominioantiguo.compor tu URL antigua exacta (incluyendohttp://ohttps://ywwwsi lo usabas). - Reemplaza
https://www.tudominionuevo.compor tu URL nueva exacta.
Esta consulta solo actualiza la tabla ps_configuration. Para actualizar todas las tablas de golpe, necesitas ejecutar una consulta por tabla, o usar un método más avanzado. Sin embargo, para la mayoría de los casos, la consulta más útil y segura es la que actualiza las tablas principales de contenido. Te recomiendo ejecutar estas dos consultas:
Consulta 1: Para actualizar las tablas de contenido (productos, categorías, etc.)
UPDATE ps_product SET reference = REPLACE(reference, 'URL_ANTIGUA', 'URL_NUEVA');
[INFO] Esta consulta de ejemplo es genérica. En realidad, las URLs de productos no suelen estar en el campo
reference. Las URLs amigables se generan dinámicamente, así que no necesitas cambiarlas en la base de datos. El cambio enps_shop_urlyps_configurationes suficiente para que PrestaShop regenere las URLs correctamente.
Consulta 2: La consulta que sí necesitas para enlaces en contenido
Si has insertado enlaces a tu propia tienda dentro de descripciones de productos, categorías o en módulos de contenido (como un slider o un bloque de texto personalizado), estos enlaces seguirán apuntando a la URL antigua. Para cambiarlos todos de una vez, ejecuta esta consulta en la pestaña SQL:
UPDATE ps_product_lang SET description = REPLACE(description, 'URL_ANTIGUA', 'URL_NUEVA'), description_short = REPLACE(description_short, 'URL_ANTIGUA', 'URL_NUEVA');
Y también:
UPDATE ps_category_lang SET description = REPLACE(description, 'URL_ANTIGUA', 'URL_NUEVA');
Y para los módulos de contenido:
UPDATE ps_cms_lang SET content = REPLACE(content, 'URL_ANTIGUA', 'URL_NUEVA');
[WARNING] Estas consultas son específicas para tablas con el prefijo
ps_. Si tu prefijo es otro, cámbialo en todas las consultas. Si no te sientes cómodo ejecutando SQL, puedes hacerlo manualmente con "Buscar y reemplazar" en cada tabla, pero es mucho más lento y propenso a errores.
Paso 6: Limpiar la caché de PrestaShop
Después de cambiar la URL en la base de datos, PrestaShop puede seguir mostrando la URL antigua debido a su caché. Es fundamental limpiarla.
- Accede a tu Panel de Administración de PrestaShop (normalmente en
/admino la ruta que configuraste). - Ve al menú "Parámetros avanzados" > "Rendimiento".
- Haz clic en el botón "Vaciar la caché" en la parte superior derecha.
[TIP] Si no puedes acceder al panel de administración, puedes borrar la caché manualmente. Conéctate a tu hosting por FTP o desde el administrador de archivos de tu panel, y elimina el contenido de la carpeta
/var/cache(en PrestaShop 1.7) o/cache(en versiones anteriores), excepto los archivos.htaccesseindex.php.
Paso 7: Actualizar el archivo settings.inc.php (solo para versiones antiguas)
Si tu PrestaShop es la versión 1.6 o anterior, la URL también se guarda en un archivo de configuración. Este archivo se llama settings.inc.php y se encuentra en la carpeta config de tu instalación.
- Conéctate por FTP a tu hosting.
- Navega hasta la carpeta
config. - Descarga el archivo
settings.inc.phpy ábrelo con un editor de texto (como Notepad++). - Busca las líneas que definen las constantes
_PS_SHOP_DOMAIN_y_PS_SHOP_DOMAIN_SSL_. - Reemplaza la URL antigua por la nueva en ambas líneas.
- Guarda el archivo y súbelo de nuevo al servidor, sobrescribiendo el original.
[INFO] En PrestaShop 1.7 y versiones posteriores, este archivo ya no se utiliza y toda la configuración se gestiona desde la base de datos.
Preguntas frecuentes (FAQ)
¿Qué pasa si no cambio la URL en la base de datos y solo lo hago desde el panel de administración?
Si solo cambias la URL en "Parámetros avanzados > SEO y URLs" sin tocar la base de datos, es probable que la tienda funcione, pero encontrarás problemas como:
- Imágenes que no cargan (se intentan buscar en la URL antigua).
- Redireccionamientos a la página antigua.
- Enlaces rotos en el contenido.
- Problemas con el certificado SSL.
¿Necesito cambiar también el .htaccess?
Sí, es muy recomendable. Después de cambiar la URL, deberías generar un nuevo archivo .htaccess desde el panel de administración. Ve a "Parámetros avanzados > SEO y URLs" y haz clic en "Guardar" para que PrestaShop lo regenere automáticamente. Si no puedes acceder, puedes eliminar el archivo .htaccess por FTP y PrestaShop lo creará de nuevo al cargar la tienda.
¿Cuánto tiempo tarda en propagarse el cambio de dominio?
El cambio de DNS puede tardar entre 24 y 48 horas en propagarse a nivel mundial. Durante este tiempo, algunos usuarios podrían ver la tienda en la URL antigua y otros en la nueva. No te preocupes, es un proceso normal.
¿Debo cambiar la URL en ps_shop_url si mi tienda está en un subdirectorio?
Sí, el procedimiento es el mismo. Solo asegúrate de que el campo physical_uri en ps_shop_url contenga la ruta del subdirectorio (ej: /tienda/).
¿Puedo deshacer el cambio si algo sale mal?
Sí, si has hecho una copia de seguridad de la base de datos antes de empezar, puedes restaurarla desde phpMyAdmin en la pestaña "Importar". Esto revertirá todos los cambios que hayas hecho.
Conclusión
Cambiar la URL de tu PrestaShop desde la base de datos es un proceso que, aunque parezca técnico, es muy manejable si sigues los pasos con atención. La clave está en actualizar las tablas ps_shop_url y ps_configuration, y en limpiar la caché después. Recuerda siempre hacer una copia de seguridad antes de empezar.
Con esta guía, podrás cambiar tu dominio o la URL de tu tienda sin dolores de cabeza, y tus clientes no notarán ninguna diferencia, solo que ahora tu tienda está en una dirección nueva y funcional. ¡Mucha suerte con tu cambio!
