Cómo cambiar la URL de PrestaShop desde cPanel sin perder datos
¿Necesitas cambiar la URL de PrestaShop desde cPanel? Ya sea porque vas a mover PrestaShop a un dominio nuevo, porque quieres pasar de HTTP a HTTPS, o porque necesitas redireccionar PrestaShop a una dirección principal, este proceso puede parecer un dolor de cabeza si no se hace con cuidado.
El error más común es cambiar la URL en el panel de administración y, de repente, encontrarte con una página en blanco o un error de "demasiadas redirecciones". No te preocupes. En esta guía extensa y paso a paso, te voy a explicar cómo hacerlo de forma segura, sin perder ni un solo dato, producto o cliente.
Vamos a hacerlo bien, con calma y usando las herramientas que ya tienes en cPanel.
Antes de Empezar: La Regla de Oro (Copia de Seguridad)
[WARNING] Esta es la parte más importante de todo el artículo. Si omites este paso, podrías perder tu base de datos entera. No lo hagas.
Antes de tocar absolutamente nada, necesitas dos copias de seguridad:
- Copia de los archivos: Ve a tu cPanel, busca la sección "Archivos" y haz clic en "Administrador de archivos". Selecciona la carpeta
public_html(o la carpeta donde tengas instalada tu tienda). Haz clic derecho y elige "Comprimir". Descarga ese archivo.zipa tu computadora. - Copia de la base de datos: En cPanel, busca "phpMyAdmin". Dentro, selecciona tu base de datos de PrestaShop (normalmente empieza con un prefijo como
tuusuario_prestashop). Haz clic en la pestaña "Exportar" y elige el método "Rápido". Descarga el archivo.sql.
Con estos dos archivos en tu ordenador, puedes dormir tranquilo. Si algo sale mal, puedes restaurar todo en minutos.
Paso 1: Identifica Todas las Referencias a tu URL Actual
PrestaShop guarda la URL de tu tienda en dos lugares principales:
- La tabla
ps_shop_url: Esta es la tabla maestra. Aquí es donde PrestaShop mira para saber qué dominio mostrar. - Las tablas de configuración (
ps_configuration): Aquí se guardan variables comoPS_SHOP_DOMAINyPS_SHOP_SSL_DOMAIN.
Además, tu URL actual puede estar incrustada en el contenido de tus productos, descripciones o menús. Por eso, no basta con cambiar una sola línea.
Paso 2: El Método Seguro para Cambiar la URL (Desde la Base de Datos)
Este es el método más fiable. Lo haremos directamente en phpMyAdmin, que es la herramienta de gestión de bases de datos que tienes en cPanel.
2.1. Accede a phpMyAdmin
- Inicia sesión en tu cPanel.
- Busca la sección "Bases de datos" y haz clic en "phpMyAdmin".
- En el panel izquierdo, verás una lista de bases de datos. Haz clic en el nombre de la base de datos de tu PrestaShop.
2.2. Actualiza la Tabla ps_shop_url
Esta es la acción crítica.
- En el panel izquierdo, busca la tabla llamada
ps_shop_url. Si tu prefijo de tabla es diferente (por ejemplo,prestashop_shop_url), búscala con ese nombre. - Haz clic en el icono "Editar" (el lápiz) o en la pestaña "Examinar".
- Verás una fila con las columnas
domain,physical_uriyvirtual_uri. Haz clic en el icono de "Editar" (el lápiz) en esa fila. - Aquí es donde vas a cambiar los valores:
domain: Escribe tu nuevo dominio. Por ejemplo, si antes erawww.mitienda.com, ahora escribewww.mitiendanueva.com.physical_uri: Esto suele ser/(una barra) si tu tienda está en la raíz. Si la tienes en una subcarpeta, por ejemplo/tienda/, déjalo así.virtual_uri: Déjalo vacío o con un/si no usas URLs amigables avanzadas.
- Haz clic en "Continuar" o "Guardar" en la parte inferior.
2.3. Actualiza la Tabla ps_configuration
Ahora vamos a actualizar las variables de configuración global.
- En el panel izquierdo, haz clic en la tabla
ps_configuration. - En la parte superior, haz clic en la pestaña "SQL" (o "Consultar").
- En el cuadro de texto, pega las siguientes líneas SQL. IMPORTANTE: Reemplaza
www.midominioanterior.comcon tu dominio antiguo ywww.midominionuevo.comcon el nuevo. Asegúrate de usar el formato exacto.
UPDATE ps_configuration SET value = 'www.midominionuevo.com' WHERE name = 'PS_SHOP_DOMAIN';
UPDATE ps_configuration SET value = 'www.midominionuevo.com' WHERE name = 'PS_SHOP_SSL_DOMAIN';
UPDATE ps_configuration SET value = 'https://www.midominionuevo.com' WHERE name = 'PS_SHOP_DOMAIN_SSL';
UPDATE ps_configuration SET value = 'https://www.midominionuevo.com' WHERE name = 'PS_SHOP_DOMAIN_SSL_ENABLED';
[INFO] Si tu tienda no usa HTTPS (aunque debería), cambia las líneas que contienen https:// por http://. Si no tienes SSL activo, no cambies la variable PS_SHOP_SSL_ENABLED.
Haz clic en "Continuar" para ejecutar la consulta.
2.4. Actualiza las URLs Internas en el Contenido (Opcional pero Recomendado)
Tus productos pueden tener enlaces internos a imágenes o archivos que apunten a la URL antigua. Para evitar enlaces rotos, ejecuta esta consulta SQL. Reemplaza los dominios.
UPDATE ps_product SET description = REPLACE(description, 'www.midominioanterior.com', 'www.midominionuevo.com');
UPDATE ps_product SET description_short = REPLACE(description_short, 'www.midominioanterior.com', 'www.midominionuevo.com');
UPDATE ps_product_lang SET description = REPLACE(description, 'www.midominioanterior.com', 'www.midominionuevo.com');
UPDATE ps_product_lang SET description_short = REPLACE(description_short, 'www.midominioanterior.com', 'www.midominionuevo.com');
También puedes ejecutar una consulta más global para reemplazar en todas las tablas a la vez:
UPDATE ps_meta SET title = REPLACE(title, 'www.midominioanterior.com', 'www.midominionuevo.com');
UPDATE ps_meta SET description = REPLACE(description, 'www.midominioanterior.com', 'www.midominionuevo.com');
Paso 3: Limpiar la Carpeta var/cache
PrestaShop guarda archivos de caché para acelerar la carga. Si no los borras, tu tienda podría seguir mostrando la URL antigua.
- Ve a tu cPanel -> Administrador de archivos.
- Navega a
public_html/var/cache(opublic_html/cacheen versiones antiguas). - Selecciona todos los archivos dentro de esa carpeta (normalmente son archivos con nombres como
class_index.phpo carpetas llamadasdevoprod). - Haz clic derecho y selecciona "Eliminar".
[TIP] No borres la carpeta cache en sí, solo su contenido. Si no existe, no pasa nada, créala vacía si es necesario.
Paso 4: Configurar la Redirección (301) en el Archivo .htaccess
Si estás moviendo PrestaShop a un dominio nuevo, necesitas que los visitantes que lleguen a la URL antigua sean redirigidos automáticamente a la nueva. Esto se llama redirección 301 y es crucial para el SEO, ya que le dice a Google que tu tienda se ha mudado de forma permanente.
- En tu Administrador de archivos de cPanel, asegúrate de tener activada la opción "Mostrar archivos ocultos" (suele estar en la esquina superior derecha).
- Busca el archivo
.htaccessen la raíz de tu carpetapublic_html. - Haz clic derecho y selecciona "Editar".
- Al principio del archivo, pega este bloque de código:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?midominioanterior\.com$ [NC]
RewriteRule ^(.*)$ https://www.midominionuevo.com/$1 [R=301,L]
</IfModule>
[WARNING] Este código debe ir justo después de la línea <IfModule mod_rewrite.c> que ya existe en PrestaShop. Si lo pones al final, puede que no funcione. Y recuerda: cambia midominioanterior.com por tu dominio viejo y midominionuevo.com por el nuevo.
- Guarda los cambios.
Paso 5: Acceder al Back Office y Regenerar el .htaccess
Ahora viene la parte mágica. Vamos a forzar a PrestaShop a que genere su propio archivo .htaccess con la nueva configuración.
- Abre tu navegador en modo incógnito (para evitar problemas de caché del navegador).
- Accede a tu Back Office (normalmente en
https://www.midominionuevo.com/admin1234). - Ve a Parámetros avanzados -> Rendimiento.
- En la sección "Cache", asegúrate de que esté desactivada o vacíala.
- Ve a Parámetros avanzados -> Herramientas -> Generador de archivos .htaccess (en algunas versiones está dentro de "Parámetros avanzados").
- Haz clic en el botón para generar el archivo
.htaccess. Si no ves esta opción, ve a Parámetros avanzados -> Rendimiento y en la parte inferior verás un botón para regenerar el.htaccess.
Paso 6: Verificar que Todo Funcione (Sin Perder Datos)
- Prueba la URL nueva: Entra a
https://www.midominionuevo.com. Deberías ver tu tienda sin problemas. - Prueba la URL antigua: Entra a
http://www.midominioanterior.com. Deberías ser redirigido automáticamente a la nueva (gracias a la redirección 301). - Revisa el Back Office: Entra a tu panel de administración y navega por algunas secciones. Asegúrate de que no haya errores.
- Revisa los productos: Haz clic en un producto y verifica que las imágenes carguen correctamente.
[INFO] Si al entrar al Back Office te da un error de "Cookies bloqueadas", borra las cookies de tu navegador y vuelve a intentarlo.
Preguntas Frecuentes (FAQ) sobre Mover PrestaShop
¿Qué hago si me aparece una página en blanco después del cambio?
Esto casi siempre es un problema de caché o de un .htaccess mal configurado.
- Borra el contenido de
var/cachede nuevo. - Revisa que el bloque de redirección que pusiste en el
.htaccessno tenga errores tipográficos. - Si el problema persiste, restaura el
.htaccessde respaldo que tenías antes de editarlo (o elimina el bloque que añadiste) y prueba a acceder directamente a la URL nueva.
¿Puedo cambiar la URL sin acceder a la Base de Datos?
Sí, pero es más arriesgado. Puedes intentar acceder al Back Office con la URL antigua, ir a Parámetros avanzados -> General y cambiar los campos "Dominio de la tienda" y "Dominio SSL". El problema es que si la URL antigua ya no apunta a tu servidor, no podrás entrar al Back Office. Por eso el método de phpMyAdmin es el más seguro.
¿Perderé mis clientes o pedidos al cambiar el dominio?
No. Tus pedidos, clientes, productos y contraseñas se almacenan en la base de datos. Mientras no borres la base de datos, no perderás nada. Este proceso solo cambia las referencias de la URL, no los datos en sí.
¿Qué es una redirección 301 y por qué es importante?
Es una instrucción que le dice a los navegadores y a los buscadores que tu página se ha movido de forma permanente a una nueva dirección. Es crucial para no perder posicionamiento SEO, ya que Google transferirá la "autoridad" de la URL antigua a la nueva.
Si mi hosting usa Syspanel en lugar de cPanel, ¿cambia algo?
[INFO] Si tu proveedor usa Syspanel (el panel de control que antes se llamaba HestiaCP), el acceso es diferente. Normalmente, se accede por el puerto 2106 (ej: https://tudominio.com:2106). Dentro de Syspanel, la lógica es similar: busca la sección de "Base de datos" para acceder a phpMyAdmin y la sección de "Archivos" para el Administrador de archivos. El procedimiento con las consultas SQL y el .htaccess es exactamente el mismo.
¿Debo cambiar también la URL en la pestaña "Tráfico y SEO" de PrestaShop?
Sí, después de hacer los cambios en la base de datos, ve a Parámetros avanzados -> Tráfico y SEO y asegúrate de que la URL canónica de tu tienda sea la nueva. Esto refuerza el cambio y evita problemas de contenido duplicado.
Conclusión Final
Cambiar la URL de PrestaShop desde cPanel no tiene por qué ser una pesadilla. Siguiendo estos pasos meticulosamente, podrás mover PrestaShop a un dominio nuevo o simplemente redireccionar PrestaShop a una nueva dirección sin perder ni un solo dato.
Recuerda siempre:
- Haz una copia de seguridad completa (archivos y base de datos).
- Actualiza las tablas
ps_shop_urlyps_configuration. - Limpia la caché de PrestaShop.
- Configura la redirección 301 en el
.htaccess. - Prueba todo antes de anunciar el cambio.
Con un poco de paciencia, tu tienda estará funcionando en la nueva URL en menos de 30 minutos. ¡Buena suerte con tu mudanza digital!
