Cómo cambiar el prefijo de las tablas en WordPress (PrestaShop)
¿Por qué cambiar el prefijo de las tablas en WordPress y PrestaShop?
Cuando instalas WordPress o PrestaShop, el instalador asigna un prefijo predeterminado a todas las tablas de la base de datos. En WordPress, ese prefijo suele ser wp_, y en PrestaShop, ps_. Esto es como ponerle el mismo apellido a todas las tablas para identificarlas como parte de tu sitio.
Pero aquí va el problema: millones de sitios usan exactamente el mismo prefijo. Esto significa que un atacante, si logra acceder a tu base de datos por cualquier vía (inyección SQL, plugin vulnerable, etc.), ya sabe el nombre de todas tus tablas sin tener que adivinarlas. Es como dejar la puerta de casa cerrada, pero con la llave puesta en la cerradura.
Cambiar el prefijo de las tablas es una medida de seguridad básica pero extremadamente efectiva. No solo dificulta los ataques automatizados, sino que también te diferencia del 90% de los sitios que usan los prefijos por defecto.
En este artículo te voy a explicar, paso a paso y sin tecnicismos innecesarios, cómo cambiar el prefijo de las tablas tanto en WordPress como en PrestaShop. Y no te preocupes: aunque suene a algo muy técnico, con esta guía lo podrás hacer tú mismo, incluso si nunca has tocado una base de datos.
Antes de empezar: prepara tu entorno y haz un respaldo
[WARNING]: No intentes cambiar el prefijo de las tablas sin hacer una copia de seguridad completa antes. Un error aquí puede dejar tu sitio completamente caído o con datos corruptos. Este es el paso más importante de todo el proceso.**
¿Qué necesitas?
- Acceso a tu panel de control de hosting (cPanel, Plesk, o el que use tu proveedor).
- Acceso a phpMyAdmin (o cualquier gestor de bases de datos que ofrezca tu hosting).
- Acceso por FTP o al administrador de archivos de tu hosting (para modificar archivos de configuración).
- Un bloc de notas o editor de texto plano (NUNCA uses Word o Pages para editar código).
Paso 1: Haz una copia de seguridad completa
Antes de tocar nada, necesitas dos copias de seguridad:
- Copia de seguridad de la base de datos: Entra en phpMyAdmin, selecciona tu base de datos, ve a la pestaña "Exportar" y elige el método "Rápido" en formato SQL. Descarga el archivo y guárdalo en un lugar seguro.
- Copia de seguridad de los archivos: Descarga todos los archivos de tu sitio (la carpeta
public_htmlowww) por FTP o usando el administrador de archivos de tu hosting. Esto te permitirá restaurar el sitio si algo sale mal.
[TIP]: Guarda ambas copias en tu ordenador y también en la nube (Google Drive, Dropbox, etc.). Nunca está de más tener una segunda copia.
Paso 2: Identifica el prefijo actual
Antes de cambiar nada, debes saber exactamente qué prefijo estás usando. Esto lo puedes ver en:
- WordPress: En el archivo
wp-config.php, busca la línea que dice$table_prefix = 'wp_'; - PrestaShop: En el archivo
app/config/parameters.php, busca la línea que dice'database_prefix' => 'ps_'
Anota el prefijo actual en un papel. Lo necesitarás para el siguiente paso.
Cómo cambiar el prefijo en WordPress
WordPress es el CMS más popular del mundo, y su proceso de cambio de prefijo es bastante sencillo si sigues estos pasos al pie de la letra.
Paso 1: Modifica el archivo wp-config.php
- Conéctate a tu hosting por FTP o usa el administrador de archivos.
- Localiza el archivo
wp-config.phpen la raíz de tu WordPress. - Ábrelo con un editor de texto plano.
- Busca la línea que dice:
$table_prefix = 'wp_'; - Cambia
wp_por el nuevo prefijo que quieras usar. Por ejemplo,$table_prefix = 'mi_prefijo_';
[TIP]: Elige un prefijo único y difícil de adivinar. Combina letras y números, como x9k2m_ o s3guro_. Evita usar wp_, blog_, cms_ o cualquier variante obvia.
Guarda el archivo y cierra el editor.
Paso 2: Cambia el nombre de las tablas en la base de datos
Ahora viene la parte más delicada. Vamos a renombrar todas las tablas que empiezan con wp_ para que empiecen con tu nuevo prefijo.
- Entra en phpMyAdmin.
- Selecciona la base de datos de tu WordPress.
- Haz clic en la pestaña SQL (o "Consultas").
- Copia y pega las siguientes líneas en el cuadro de texto. IMPORTANTE: Reemplaza
wp_por tu prefijo actual ynuevo_prefijo_por el que hayas elegido.
RENAME TABLE wp_commentmeta TO nuevo_prefijo_commentmeta;
RENAME TABLE wp_comments TO nuevo_prefijo_comments;
RENAME TABLE wp_links TO nuevo_prefijo_links;
RENAME TABLE wp_options TO nuevo_prefijo_options;
RENAME TABLE wp_postmeta TO nuevo_prefijo_postmeta;
RENAME TABLE wp_posts TO nuevo_prefijo_posts;
RENAME TABLE wp_terms TO nuevo_prefijo_terms;
RENAME TABLE wp_termmeta TO nuevo_prefijo_termmeta;
RENAME TABLE wp_term_relationships TO nuevo_prefijo_term_relationships;
RENAME TABLE wp_term_taxonomy TO nuevo_prefijo_term_taxonomy;
RENAME TABLE wp_usermeta TO nuevo_prefijo_usermeta;
RENAME TABLE wp_users TO nuevo_prefijo_users;
[INFO]: Si tienes plugins que crean sus propias tablas (como WooCommerce, por ejemplo), también deberás renombrarlas. Puedes ver todas las tablas de tu base de datos en el panel izquierdo de phpMyAdmin. Busca las que empiecen con wp_ y repite el proceso de RENAME TABLE para cada una.
Paso 3: Actualiza las opciones en la base de datos
WordPress guarda algunas opciones en la tabla options que contienen el prefijo antiguo. Si no las actualizamos, el sitio dará errores.
- En phpMyAdmin, haz clic en tu nueva tabla
nuevo_prefijo_options. - Ve a la pestaña Buscar (o "Search").
- En el campo "Valor" (o "Value"), escribe
wp_y haz clic en "Ejecutar" (o "Go"). - Se mostrarán todas las filas que contienen el prefijo antiguo. Deberás reemplazarlas una a una.
- Para cada fila, haz clic en el icono de editar (el lápiz) y cambia
wp_por tu nuevo prefijo.
[TIP]: También puedes usar una consulta SQL para hacer esto más rápido. En la pestaña SQL, ejecuta:
UPDATE nuevo_prefijo_options SET option_value = REPLACE(option_value, 'wp_', 'nuevo_prefijo_') WHERE option_value LIKE '%wp_%';
Paso 4: Actualiza los metadatos de usuario
Los usuarios de WordPress también tienen referencias al prefijo en la tabla usermeta.
- Haz clic en tu tabla
nuevo_prefijo_usermeta. - Ve a la pestaña SQL y ejecuta:
UPDATE nuevo_prefijo_usermeta SET meta_key = REPLACE(meta_key, 'wp_', 'nuevo_prefijo_') WHERE meta_key LIKE '%wp_%';
Paso 5: Limpia la caché
Finalmente, si usas un plugin de caché (como W3 Total Cache o WP Super Cache), vacía la caché para que los cambios se reflejen correctamente.
[WARNING]: No cierres la sesión de WordPress ni cierres el navegador hasta que hayas completado todos los pasos y verificado que tu sitio funciona correctamente.**
Cómo cambiar el prefijo en PrestaShop
PrestaShop es un poco más complejo que WordPress, pero el proceso es igualmente manejable si eres metódico.
Paso 1: Modifica el archivo parameters.php
- Conéctate a tu hosting por FTP o usa el administrador de archivos.
- Navega hasta la carpeta
app/config/dentro de tu instalación de PrestaShop. - Localiza el archivo
parameters.php. - Ábrelo con un editor de texto plano.
- Busca la línea que dice
'database_prefix' => 'ps_'. - Cambia
ps_por tu nuevo prefijo, por ejemplo,'database_prefix' => 'tienda_segura_'.
Guarda el archivo y cierra el editor.
Paso 2: Renombra las tablas en la base de datos
Al igual que en WordPress, necesitas renombrar todas las tablas que empiezan con ps_.
- Entra en phpMyAdmin.
- Selecciona la base de datos de tu PrestaShop.
- Ve a la pestaña SQL.
- Ahora, aquí tienes dos opciones:
Opción A (recomendada para principiantes): Usa esta consulta para generar automáticamente los comandos RENAME:
SELECT CONCAT('RENAME TABLE ', table_name, ' TO ', REPLACE(table_name, 'ps_', 'nuevo_prefijo_'), ';')
FROM information_schema.tables
WHERE table_schema = 'TU_BASE_DE_DATOS' AND table_name LIKE 'ps_%';
Reemplaza TU_BASE_DE_DATOS con el nombre real de tu base de datos y nuevo_prefijo_ con el que hayas elegido. Esto te mostrará una lista de comandos SQL listos para ejecutar. Cópialos y ejecútalos.
Opción B (manual): Si prefieres hacerlo a mano, tendrás que ir tabla por tabla. PrestaShop tiene muchas tablas (a veces más de 200), así que esta opción es muy tediosa. Te recomiendo encarecidamente la Opción A.
Paso 3: Limpia la caché de PrestaShop
PrestaShop guarda mucha información en caché. Después de cambiar el prefijo, debes limpiarla.
- Entra en el panel de administración de tu PrestaShop.
- Ve a Parámetros avanzados > Rendimiento.
- Haz clic en el botón Vaciar la caché (o "Clear cache").
[INFO]: Si no puedes acceder al panel de administración, borra manualmente el contenido de las carpetas var/cache (en versiones recientes) o cache (en versiones antiguas) de tu instalación de PrestaShop.
Preguntas frecuentes (FAQ)
¿Puedo cambiar el prefijo de las tablas de mi sitio si ya está en producción?
Sí, puedes hacerlo, pero es una operación delicada. Te recomiendo hacerlo en una hora de bajo tráfico y, por supuesto, con la copia de seguridad hecha.
¿Qué pasa si me olvido de cambiar el prefijo en algún archivo?
Lo más probable es que tu sitio dé errores o que algunas funciones dejen de funcionar. Por eso es tan importante seguir todos los pasos y verificar después de cada uno.
¿Cuánto tiempo tarda el proceso?
Depende del tamaño de tu base de datos y de tu experiencia. Para un sitio pequeño, puede llevar unos 20-30 minutos. Para un sitio grande con muchas tablas, puede llevar más de una hora.
¿Es obligatorio cambiar el prefijo si uso Syspanel como panel de control?
No es obligatorio, pero es una excelente práctica de seguridad. Recuerda que Syspanel es el panel de control de tu hosting y su puerto de acceso es el 2106. Desde allí puedes acceder a phpMyAdmin y a la gestión de archivos para realizar estos cambios.
¿Puedo usar un plugin para cambiar el prefijo en WordPress?
Existen plugins como "Change Table Prefix" que automatizan el proceso, pero te recomiendo hacerlo manualmente. Así entiendes exactamente qué estás haciendo y evitas posibles errores del plugin.
¿El cambio de prefijo afecta al rendimiento de mi sitio?
No, el cambio de prefijo no tiene ningún efecto en el rendimiento. Es puramente una medida de seguridad.
Conclusión: una pequeña acción, una gran mejora de seguridad
Cambiar el prefijo de las tablas en WordPress o PrestaShop es una de esas tareas que, aunque parecen muy técnicas, están al alcance de cualquier persona que siga una guía clara. Es una de las primeras líneas de defensa contra ataques automatizados y una práctica que todo administrador de sitios web debería realizar.
No solo estás protegiendo tu base de datos de posibles inyecciones SQL, sino que también estás dificultando que los bots maliciosos encuentren tus tablas. Es un pequeño esfuerzo que aporta una gran tranquilidad.
[TIP]: Después de completar el cambio, verifica que tu sitio funciona correctamente en todas sus páginas: la portada, las entradas, las páginas de administración, etc. Si algo falla, revisa los pasos anteriores y, en el peor de los casos, restaura la copia de seguridad que hiciste al principio.
Recuerda que la seguridad de tu sitio es un proceso continuo. Cambiar el prefijo es solo el primer paso. Mantén tus plugins y temas actualizados, usa contraseñas seguras y considera implementar un firewall de aplicación web (WAF) para una protección completa.
