Sin impuesto Con impuesto

Mover PrestaShop a otra carpeta o dominio: la tabla shop_url

Un compañero necesitaba pasar una tienda a una carpeta del dominio y Gustavo le explicó dónde guarda PrestaShop su dirección: la tabla shop_url. Repasamos los pasos y los sitios que siguen apuntando al dominio viejo después del cambio, con casos reales del grupo: correos con iconos rotos, un blog que dejó de funcionar y una extensión de PHP que faltaba.

Equipo Rekire
Actualizado: 08/04/2025 8
Mover PrestaShop a otra carpeta o dominio: la tabla shop_url
Compartir:

Un compañero necesitaba pasar una tienda a una carpeta del dominio y no conocía PrestaShop. Gustavo le dio la clave: PrestaShop guarda en la base de datos el dominio y la carpeta, en la tabla shop_url. Copiar los ficheros no basta; hay que cambiar esa tabla, regenerar el .htaccess y vaciar la caché.

Dónde guarda PrestaShop su dirección

En la tabla ps_shop_url (el prefijo puede ser otro en tu tienda) hay una fila por tienda con estos campos:

CampoQué guarda
domainEl dominio, sin https://
domain_sslEl dominio para https; normalmente, el mismo
physical_uriLa carpeta, con barra al principio y al final: / o /tienda/
virtual_uriUna ruta virtual para multitienda; normalmente, vacía

El error del compañero fue el típico: poner el dominio con la carpeta en domain. Gustavo lo corrigió: el dominio va en domain y domain_ssl, y la carpeta, en su propio campo.

Paso a paso

  1. Haz copia de los ficheros y de la base de datos.
  2. Copia los ficheros a la nueva carpeta o al nuevo servidor.
  3. Cambia la fila de shop_url y el dominio de la configuración (consulta de abajo).
  4. Borra el contenido de var/cache.
  5. Entra en el back-office y regenera el .htaccess: en Parámetros de la tienda → Tráfico y SEO, guarda la configuración de URL amigables. Desactivar, guardar, activar y guardar también sirve.
UPDATE ps_shop_url
SET domain = 'www.tudominio.com',
    domain_ssl = 'www.tudominio.com',
    physical_uri = '/tienda/'
WHERE id_shop = 1 AND main = 1;

UPDATE ps_configuration
SET value = 'www.tudominio.com'
WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SHOP_DOMAIN_SSL');

Lo que se queda apuntando a la dirección vieja

Gustavo avisó de lo que más cuesta: los enlaces escritos a mano en textos, páginas CMS, descripciones, banners y menús. Esos no los cambia nada; hay que buscarlos y reemplazarlos. En el grupo salieron otros tres sitios:

  • Los correos. Una tienda que pasó de un subdominio de pruebas al dominio principal enviaba los correos de pedido con los iconos rotos. Las plantillas generadas en mails/es (y en el resto de idiomas) llevaban la URL del subdominio. Hay que regenerarlas o reemplazar el dominio en ellas.
  • El .htaccess de una copia. Tras subir una migración a producción, el blog dejó de funcionar. Gustavo le pidió buscar en el .htaccess el dominio de la copia y reemplazarlo por el de producción: las reglas de algunos módulos llevan el dominio escrito.
  • El servidor nuevo. Otro compañero cambió de servidor y el back-office iba, pero la tienda no. Sospechaba de una extensión de PHP sin activar; desde Rekire le apuntaron que lo más probable era que faltara regenerar el .htaccess. Para lo primero, Parámetros avanzados → Información te dice si falta algo, y en la documentación de requisitos están todas.

Si además cambias de dominio

Las URL antiguas tienen que redirigir con un 301 a las nuevas, una a una, para no perder posicionamiento. Si solo cambias de servidor y las URL no cambian, no hace falta redirigir nada: basta con que el contenido sea el mismo.

Comprueba que ha ido bien

  • La portada, una categoría y un producto cargan con la URL nueva y con sus imágenes.
  • Puedes entrar en el back-office y guardar algo sin errores.
  • Un pedido de prueba llega al final y los correos salen con enlaces e imágenes del dominio bueno.
  • Si tienes multitienda, cada tienda tiene su propia fila en shop_url: revísalas todas.
  • En el registro de errores del servidor no aparecen rutas de la ubicación antigua.

Si tienes muchas redirecciones que mantener, en Rekire tenemos un módulo de redirecciones que las gestiona desde el back-office.

Esto salió en @PrestashopEsp, la mayor comunidad PrestaShop de España en Telegram. Ver la conversación

Cargando...
Cookies
Volver arriba