Ir al contenido principal

Web Hosting y WordPress Hosting — Buenas prácticas para la base de datos de WordPress

L
Escrito por Luciana Parente

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

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)


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.


¿Ha quedado contestada tu pregunta?