Una base de datos bien configurada es clave para el rendimiento, la estabilidad y la facilidad de mantenimiento de un sitio WordPress. Estas reglas ayudan a prevenir errores comunes, problemas de performance y fallas en migraciones o replicaciones.
1️⃣ Usar únicamente InnoDB en todas las tablas
Regla
- Todas las tablas deben utilizar el engine InnoDB.
- No se debe usar MyISAM ni otros motores.
Por qué es importante
InnoDB ofrece mejor rendimiento general, soporta transacciones, bloqueo a nivel de fila y es el engine requerido para replicación y consistencia de datos.
Cómo verificarlo
SELECT TABLE_NAME, ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'DB';2️⃣ Unificar charset y collation en toda la base de datos
Regla general
Si utilizás MariaDB, la combinación recomendada es:
utf8mb4utf8mb4_unicode_ci
Prohibido
Mezclar distintos collations como:
general_ciunicode_ci520_ci0900_ai_ci
Por qué
Mezclar collations genera errores de comparación, afecta el rendimiento y provoca problemas durante migraciones o restauraciones.
3️⃣ Todas las tablas InnoDB deben tener PRIMARY KEY
Regla crítica
- Ninguna tabla puede quedar sin clave primaria.
Por qué
InnoDB depende de la PRIMARY KEY para su funcionamiento interno. La ausencia de una clave primaria puede causar problemas de replicación, bajo rendimiento y riesgo de inconsistencias lógicas.
Solución típica
Si existe una columna
id, usarla como PRIMARY KEY.Si no existe, crear una columna
id BIGINT AUTO_INCREMENTy asignarla como clave primaria.
4️⃣ Índices mínimos obligatorios en tablas clave
Algunas tablas de WordPress requieren índices específicos para funcionar correctamente en sitios medianos o grandes.
| Tabla | Índices mínimos recomendados |
|---|---|
wp_posts | (ID), (post_type), (post_status) |
wp_postmeta | (post_id), (meta_key) |
wp_usermeta | (user_id), (meta_key) |
wp_options | (option_name), (autoload) |
wp_term_relationships | (object_id), (term_taxonomy_id) |
Regla práctica
Toda columna usada para buscar, filtrar o relacionar datos debe estar indexada.
5️⃣ Cuidar especialmente la tabla wp_options
Esta tabla se carga en cada request, por lo que su tamaño impacta directamente en el tiempo de carga.
Reglas recomendadas
Tamaño ideal de
autoload: menor a 0.5 MBMáximo aceptable: menor a 1 MB
Cómo medirlo
SELECT SUM(LENGTH(option_value))/1024/1024
FROM wp_options
WHERE autoload = 'yes';Problema típico
Algunos plugins guardan grandes volúmenes de datos en autoload, generando lentitud en todas las páginas del sitio.
6️⃣ Limpieza periódica de datos innecesarios
Frecuencia mínima recomendada
Una limpieza mensual.
Qué limpiar
- Transients vencidos
- Logs antiguos
- Tablas temporales o de debug
Ejemplo
DELETE FROM wp_options
WHERE option_name LIKE '_transient_%'
AND option_name NOT LIKE '_transient_timeout_%';7️⃣ Controlar los plugins antes de instalarlos
Buenas prácticas
Antes de instalar un plugin, verificar:
- Si crea tablas propias
- Si esas tablas tienen PRIMARY KEY
- Si incluyen índices adecuados
- Si limpian datos antiguos al desinstalarse
Regla clara
Evitar plugins que creen tablas sin PRIMARY KEY o sin índices.
8️⃣ Regla de oro antes de cambios importantes
Antes de realizar acciones críticas como:
- Migrar de servidor
- Cambiar versión de MySQL/MariaDB
- Activar replicación
- Restaurar backups antiguos
Siempre verificar:
- Todas las tablas usan InnoDB
- Todas tienen PRIMARY KEY
- Existe un único charset/collation
- Los índices básicos están presentes
📌 Resumen rápido
Usar solo InnoDB
Mantener un único charset/collation (
utf8mb4_unicode_cien MariaDB)Todas las tablas deben tener PRIMARY KEY
Índices correctos en
wp_posts,wp_postmeta,wp_options,wp_usermetaMantener
wp_optionsliviana (autoload controlado)Limpiar transients y logs periódicamente
Ser cuidadoso con los plugins que crean tablas
⚠️ Importante: alcance según el tipo de servicio
Estas buenas prácticas y recomendaciones aplican a todos los servicios. Sin embargo, en hosting compartido (Web Hosting y WordPress Hosting) funcionan como reglas obligatorias y restrictivas, ya que la configuración de la base de datos está limitada por el entorno compartido.
En Cloud Server o Servidor Dedicado, estas pautas se consideran recomendaciones, ya que no existen restricciones técnicas y el cliente cuenta con control total sobre la configuración.
Comentarios
0 comentarios
El artículo está cerrado para comentarios.