🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Guía para cambiar el prefijo de tablas en PrestaShop

Actualizado el 18 de septiembre de 2025

¡Hola! Soy tu asistente técnico. Hoy vamos a aprender a cambiar el prefijo de las tablas en PrestaShop. Esta es una tarea de mantenimiento muy importante para mejorar la seguridad de tu tienda online. No te preocupes si no eres un experto en bases de datos; te guiaré paso a paso de forma sencilla y clara. Al final de esta guía, tu tienda será un poco más difícil de hackear. ¡Empecemos!

¿Qué es el prefijo de las tablas en PrestaShop y por qué cambiarlo?

Cada vez que instalas PrestaShop, se crean muchas tablas en tu base de datos para almacenar productos, clientes, pedidos, configuraciones, etc. Por defecto, todas estas tablas llevan un prefijo que suele ser ps_. Por ejemplo, la tabla de productos se llama ps_product.

El problema es que millones de tiendas usan el mismo prefijo ps_. Esto lo saben muy bien los atacantes informáticos. Si un hacker logra acceder a tu base de datos (por ejemplo, mediante una inyección SQL), ya sabe exactamente cómo se llaman tus tablas. Cambiar ese prefijo por uno personalizado añade una capa extra de seguridad, ya que el atacante tendrá que adivinar el nuevo nombre.

[INFO] No es obligatorio, pero sí muy recomendado. Es una medida de seguridad básica y gratuita que puedes aplicar en cualquier momento.

Requisitos antes de empezar

Antes de lanzarnos a modificar la base de datos, asegúrate de tener lo siguiente:

  • Acceso a tu panel de control de hosting: Necesitarás entrar a la herramienta de gestión de bases de datos (normalmente phpMyAdmin) o, si usas Syspanel (accesible por el puerto 2106), también podrás gestionar tus bases de datos desde allí.
  • Acceso FTP o al administrador de archivos de tu hosting: Para modificar un archivo de configuración de PrestaShop.
  • Copia de seguridad de tu base de datos: Este paso es CRÍTICO. Si algo sale mal, podrás restaurar tu tienda. Te explico cómo hacerla en el siguiente punto.
  • Tu tienda en modo mantenimiento: Mientras hacemos el cambio, la tienda debe estar offline para evitar errores a los usuarios. Ve a tu back office de PrestaShop > Parámetros de la tienda > Mantenimiento y actívalo.

Paso 1: Haz una copia de seguridad de tu base de datos

Este es el paso más importante. Si cometes un error, la copia de seguridad es tu salvavidas.

Opción A: Usando Syspanel (puerto 2106)

  1. Accede a tu Syspanel en https://tudominio.com:2106.
  2. Busca la sección de Bases de Datos.
  3. Localiza la base de datos de tu PrestaShop.
  4. Haz clic en Exportar o Descargar copia de seguridad. Esto generará un archivo .sql con toda tu información. Guárdalo en un lugar seguro de tu ordenador.

Opción B: Usando phpMyAdmin (desde cPanel, DirectAdmin, etc.)

  1. Entra a tu panel de control de hosting (cPanel, Plesk, etc.).
  2. Busca el icono de phpMyAdmin.
  3. Selecciona tu base de datos de PrestaShop (aparece en la columna de la izquierda).
  4. Haz clic en la pestaña Exportar.
  5. Elige el método Rápido y formato SQL.
  6. Haz clic en Continuar y descarga el archivo.

[WARNING] ¡No te saltes este paso! Una copia de seguridad te permitirá dormir tranquilo.

Paso 2: Prepara el nuevo prefijo

Elige un prefijo personalizado y seguro. Debe ser corto, fácil de recordar para ti, pero difícil de adivinar. Algunos ejemplos:

  • t1end4_ (mezcla de letras y números)
  • m1Pr3st4_ (una palabra con cifras)
  • _shop2024_ (año actual)

Reglas para el nuevo prefijo:

  • Debe terminar con un guion bajo _.
  • Solo puede contener letras (a-z, A-Z), números (0-9) y el guion bajo.
  • No uses caracteres especiales como ñ, espacios, puntos, etc.

Paso 3: Modifica el archivo de configuración de PrestaShop

PrestaShop guarda el nombre del prefijo en un archivo llamado parameters.php (o settings.inc.php en versiones muy antiguas). Vamos a cambiarlo.

  1. Conéctate a tu servidor vía FTP o usa el administrador de archivos de tu hosting.
  2. Navega hasta la carpeta raíz de tu PrestaShop (donde están las carpetas admin, themes, modules, etc.).
  3. Busca la carpeta app/config/. Dentro encontrarás el archivo parameters.php.
  4. Descarga este archivo a tu ordenador o ábrelo para editarlo (con un editor de texto como Notepad++ o Sublime Text).
  5. Busca la línea que contiene 'database_prefix'. Debería verse algo así:
    'database_prefix' => 'ps_',
    
  6. Cambia ps_ por tu nuevo prefijo. Por ejemplo:
    'database_prefix' => 'm1Pr3st4_',
    
  7. Guarda el archivo y súbelo de nuevo a la misma carpeta, reemplazando el original.

[TIP] Si tu versión de PrestaShop es muy antigua (1.6 o anterior), el archivo se llama config/settings.inc.php y la línea es define('_DB_PREFIX_', 'ps_');. El cambio es el mismo.

Paso 4: Cambia el prefijo en la base de datos usando phpMyAdmin

Ahora vamos a renombrar todas las tablas de la base de datos para que usen tu nuevo prefijo.

  1. Vuelve a phpMyAdmin (o a la herramienta de gestión de BD de tu Syspanel).

  2. Selecciona tu base de datos de PrestaShop (haz clic en su nombre en la columna izquierda).

  3. Verás una lista de todas las tablas. Deben empezar todas con ps_ (o el prefijo que tenías antes).

  4. Haz clic en la pestaña SQL (en la parte superior).

  5. En el cuadro de texto, vamos a ejecutar un comando SQL mágico que renombrará todas las tablas de una sola vez. Copia y pega el siguiente código, pero cambiando m1Pr3st4_ por tu nuevo prefijo:

    SELECT CONCAT('RENAME TABLE `', table_name, '` TO `',
    REPLACE(table_name, 'ps_', 'm1Pr3st4_'), '`;')
    FROM information_schema.tables
    WHERE table_schema = 'NOMBRE_DE_TU_BASE_DE_DATOS'
    AND table_name LIKE 'ps_%';
    

    IMPORTANTE: Reemplaza NOMBRE_DE_TU_BASE_DE_DATOS por el nombre real de tu base de datos (lo puedes ver en la columna izquierda de phpMyAdmin, justo encima de la lista de tablas). También cambia ps_ por tu prefijo antiguo si no era ps_.

  6. Haz clic en Continuar (o en el botón Ejecutar). Esto no renombrará las tablas aún, sino que generará una lista de comandos SQL.

  7. Verás un montón de líneas como esta:

    RENAME TABLE `ps_product` TO `m1Pr3st4_product`;
    RENAME TABLE `ps_customer` TO `m1Pr3st4_customer`;
    ...
    
  8. ¡Selecciona todo el texto generado! (Ctrl+A o Cmd+A) y cópialo (Ctrl+C o Cmd+C).

  9. Borra el texto que pegaste inicialmente en el cuadro de SQL.

  10. Pega ahora el texto que copiaste (los comandos RENAME TABLE).

  11. Haz clic en Continuar (o Ejecutar).

¡Listo! phpMyAdmin ejecutará cada comando y renombrará todas las tablas. Si no ves ningún error, el cambio fue exitoso.

[WARNING] Si ves algún error (por ejemplo, "Table 'ps_product' doesn't exist"), seguramente el nombre de tu base de datos o el prefijo antiguo no son correctos. Revisa los datos y vuelve a intentarlo. Si tienes dudas, restaura la copia de seguridad.

Paso 5: Verifica que todo funciona

  1. Limpia la caché de PrestaShop: Ve a tu back office > Parámetros avanzados > Rendimiento. Haz clic en Limpiar caché (tanto la de Smarty como la de Symfony, si ves ambas opciones).
  2. Desactiva el modo mantenimiento: Vuelve a Parámetros de la tienda > Mantenimiento y desactívalo.
  3. Prueba tu tienda: Abre tu dominio en el navegador. Debería cargar con normalidad. Navega por algunas páginas, añade un producto al carrito, etc.
  4. Prueba el back office: Accede a tu administración. Debería funcionar sin errores.

[TIP] Si todo funciona, ¡enhorabuena! Has mejorado la seguridad de tu tienda. Si algo falla, restaura la copia de seguridad y vuelve a empezar con cuidado.

Preguntas Frecuentes (FAQ)

¿Qué hago si después del cambio no puedo acceder al back office?

Esto suele ocurrir si no modificaste correctamente el archivo parameters.php. Vía FTP, verifica que la línea 'database_prefix' tenga el nuevo prefijo exactamente como lo escribiste en phpMyAdmin. Si el problema persiste, restaura la copia de seguridad.

¿Puedo cambiar el prefijo de nuevo en el futuro?

Sí, puedes repetir todo el proceso las veces que quieras. Solo asegúrate de actualizar el prefijo tanto en el archivo parameters.php como en la base de datos.

¿Afecta esto a mis módulos o personalizaciones?

En teoría no, porque todos los módulos usan el prefijo de la base de datos para referirse a las tablas. Sin embargo, si tienes algún módulo que haga consultas SQL "duras" (hardcodeadas) con el prefijo ps_, podría dejar de funcionar. Esto es muy raro en módulos modernos.

¿Qué pasa si mi base de datos tiene tablas que no son de PrestaShop?

El comando SQL que usamos solo afecta a las tablas que empiezan con ps_ (o tu prefijo antiguo). Las tablas de otras aplicaciones no se verán afectadas.

¿Es necesario cambiar el prefijo si mi tienda es pequeña?

No es obligatorio, pero es una buena práctica. No importa el tamaño de tu tienda; los ataques automatizados buscan cualquier vulnerabilidad. Cambiar el prefijo es un paso sencillo que aumenta tu seguridad.

[INFO] Recuerda que puedes gestionar tus bases de datos fácilmente desde Syspanel en el puerto 2106, donde también puedes hacer copias de seguridad y ejecutar consultas SQL.

Espero que esta guía te haya sido de gran ayuda. Si tienes cualquier otra duda, no dudes en contactar con nuestro equipo de soporte. ¡Tu tienda ahora es un poco más segura!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel