Aplica a: WordPress Hosting (obligatorio) · Cloud Server y Servidores Dedicados (recomendado)
Una base de datos bien configurada es clave para el rendimiento, la estabilidad y el mantenimiento de un sitio WordPress. Estas reglas previenen errores comunes, problemas de performance y fallas en migraciones.
En planes de WordPress Hosting estas reglas son obligatorias por las limitaciones del entorno compartido. En Cloud Server y Servidores Dedicados son recomendaciones, ya que el cliente tiene control total sobre la configuración.
1. Usar únicamente InnoDB en todas las tablas
Todas las tablas deben usar InnoDB. No usar MyISAM ni otros motores. InnoDB soporta transacciones, bloqueo a nivel de fila y es el motor requerido para replicación y consistencia de datos.
Para verificarlo:
SELECT TABLE_NAME, ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'DB';
2. Usar un único charset y collation en toda la base
La combinación recomendada para MariaDB es utf8mb4 + utf8mb4_unicode_ci. No mezcles collations como _general_ci, _unicode_ci, _520_ci o _0900_ai_ci — mezclarlos genera errores de comparación y problemas en migraciones.
3. Todas las tablas InnoDB deben tener PRIMARY KEY
Ninguna tabla puede quedar sin clave primaria. InnoDB depende de ella para su funcionamiento interno — su ausencia causa problemas de replicación, bajo rendimiento e inconsistencias.
Si existe una columna id, usala como PRIMARY KEY. Si no, creala:
id BIGINT AUTO_INCREMENT PRIMARY KEY
4. Índices mínimos obligatorios en tablas clave
Toda columna usada para buscar, filtrar o relacionar datos debe estar indexada. Los índices mínimos recomendados por tabla son:
Tabla | Índices mínimos |
|
|
|
|
|
|
|
|
|
|
5. Cuidar la tabla wp_options
Esta tabla se carga en cada request — su tamaño impacta directamente en el tiempo de carga del sitio. El tamaño ideal de autoload es menor a 0,5 MB; el máximo aceptable es 1 MB.
Para medirlo:
SELECT SUM(LENGTH(option_value))/1024/1024
FROM wp_options
WHERE autoload = 'yes';
Algunos plugins guardan grandes volúmenes de datos en autoload, generando lentitud en todas las páginas. Revisá esta tabla regularmente.
6. Limpiar datos innecesarios periódicamente
Realizá una limpieza mensual de transients vencidos, logs antiguos y tablas temporales o de debug.
Para limpiar transients vencidos:
DELETE FROM wp_options
WHERE option_name LIKE '_transient_%'
AND option_name NOT LIKE '_transient_timeout_%';
7. Controlar los plugins antes de instalarlos
Antes de instalar un plugin, verificá si crea tablas propias, si esas tablas tienen PRIMARY KEY e índices adecuados, y si limpian datos al desinstalarse. Evitá plugins que creen tablas sin PRIMARY KEY o sin índices.
8. Verificar antes de cambios importantes
Antes de migrar de servidor, cambiar la versión de MySQL/MariaDB, activar replicación o restaurar backups, verificá que todas las tablas usen InnoDB, tengan PRIMARY KEY, compartan el mismo charset/collation y tengan los índices básicos.
