If you’re reading this, you’re likely tired of the standard WordPress performance advice. The usual routine—installing WP Rocket, adding an image optimizer plugin, and throwing in an asset manager—often leads to a paradox: instala complementos para acelerar su sitio, pero los complementos en sí agregan sobrecarga de base de datos, trabajos cron en segundo plano y sus propias cargas útiles CSS/JS.
La verdad es que WordPress no necesita 15 complementos de rendimiento para cargarse en menos de un segundo. La verdadera optimización de la velocidad ocurre en la capa metálica: el servidor, la base de datos y el código central.
En esta guía, vamos a omitir por completo el ecosistema de complementos. Optimizaremos WordPress usando configuraciones del lado del servidor, wp-config.php ajustes y cirugía functions.php fragmentos.
1. La base del lado del servidor (no se requiere PHP)
Antes de tocar una sola línea de código de WordPress, el entorno de su servidor debe estar muy optimizado. Un servidor débil no se puede reparar mediante el almacenamiento en caché de front-end.
Actualice a PHP 8.1+
WordPress se ejecuta en PHP. Pasar de PHP 7.4 a PHP 8.1 u 8.2 puede producir una reducción del 20 al 30 % en el tiempo de ejecución y un consumo de memoria significativamente menor. Acción: Cambie esto en su cPanel, Plesk o mediante CLI si administra su propio VPS.
Habilitar la compresión a nivel de servidor (Brotli sobre Gzip)
Si bien Gzip es estándar, brotli (desarrollado por Google) proporciona aproximadamente entre un 15% y un 20% mejores relaciones de compresión para archivos de texto (HTML, CSS, JS) con el mismo coste de CPU. Acción (Nginx): Asegure su nginx.conf tiene Brotli habilitado:
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/javascript application/json image/svg+xml;
Implementar FastCGI Caching (Nginx) o LiteSpeed Cache
En lugar de utilizar un complemento de almacenamiento en caché basado en PHP (que aún requiere que WordPress se cargue parcialmente para servir el caché), almacene el caché a nivel del servidor web. El almacenamiento en caché Nginx FastCGI almacena el HTML generado en la RAM o en el disco y lo sirve directamente, evitando por completo PHP y MySQL para visitantes anónimos.
2. Endurecimiento y adelgazamiento mediante wp-config.php
El wp-config.php El archivo es su sala de control. De forma predeterminada, WordPress permite ciertos comportamientos que inflan su base de datos con el tiempo.
Agregue estos fragmentos justo antes del /* That's all, stop editing! Happy publishing. */ línea.
Limitar revisiones de publicaciones
De forma predeterminada, WordPress almacena infinitas revisiones de tus publicaciones. Una publicación actualizada 50 veces tendrá 50 copias en tu wp_posts tabla de la base de datos, lo que ralentiza drásticamente las consultas a la base de datos.
// Keep only the last 3 revisions
define( 'WP_POST_REVISIONS', 3 );
Optimice el intervalo de guardado automático
WordPress se guarda automáticamente cada 60 segundos. Si tiene varios editores trabajando, esto perjudica la base de datos. Más despacio.
// Change autosave from 60 seconds to 5 minutes
define( 'AUTOSAVE_INTERVAL', 300 );
Vacíe la basura más rápido
Las publicaciones y comentarios eliminados permanecen en la base de datos durante 30 días. Reduzca esto para mantener la base de datos optimizada.
// Empty trash every 7 days
define( 'EMPTY_TRASH_DAYS', 7 );
3. El “anti-inflación” functions.php Fragmento maestro
El núcleo de WordPress inyecta una gran cantidad de scripts de soporte heredados, enlaces de descubrimiento y estilos en línea en su y por defecto.
Para lograr la máxima ganancia de información sobre la competencia, no le diremos simplemente que "use un complemento de eliminación". Aquí está el código exacto para eliminar quirúrgicamente la hinchazón más común de WordPress.
Nota: agregue esto al tema de su hijo functions.php o un complemento mu directo.
/**
* The Ultimate WordPress Debloat Snippet
*/
add_action('init', function() {
// 1. Remove RSD, XMLRPC, and WLW links
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
add_filter('xmlrpc_enabled', '__return_false');
// 2. Remove WordPress version footprint (Security & Speed)
remove_action('wp_head', 'wp_generator');
// 3. Remove Shortlinks and REST API links from header
remove_action('wp_head', 'wp_shortlink_wp_head');
remove_action('wp_head', 'rest_output_link_wp_head');
// 4. Disable native Emojis (Saves 1 JS and 1 CSS HTTP Request)
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('admin_print_styles', 'print_emoji_styles');
remove_filter('the_content_feed', 'wp_staticize_emoji');
remove_filter('comment_text_rss', 'wp_staticize_emoji');
remove_filter('wp_mail', 'wp_staticize_emoji_for_email');
// 5. Disable oEmbeds (If you don't embed external URLs automatically)
remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'wp_oembed_add_host_js');
add_action('wp_footer', function() { wp_deregister_script('wp-embed'); });
});
/**
* 6. Remove Global Styles (WP 5.9+ Inline CSS Bloat)
*/
add_action('wp_enqueue_scripts', function() {
wp_dequeue_style('global-styles');
wp_dequeue_style('classic-theme-styles');
}, 100);
/**
* 7. Remove jQuery Migrate (If using modern themes/plugins)
*/
add_action('wp_default_scripts', function($scripts) {
if (!is_admin() && isset($scripts->registered['jquery'])) {
$script = $scripts->registered['jquery'];
if ($script->deps) {
$script->deps = array_diff($script->deps, ['jquery-migrate']);
}
}
});
/**
* 8. Throttle the Heartbeat API
* Prevents high CPU usage when leaving the WP Admin open
*/
add_filter('heartbeat_settings', function($settings) {
$settings['interval'] = 60; // Throttle to 60 seconds
return $settings;
});
¿Qué acabamos de lograr?
Al agregar el código anterior, elimina instantáneamente hasta 5-8 solicitudes HTTP innecesarias y eliminó docenas de líneas de CSS/JS en línea de cada carga de página, todo sin instalar un solo complemento.
4. Optimización de medios (por las malas)
Los complementos como Smush o Imagify son convenientes, pero ejecutan el procesamiento de imágenes en su servidor PHP, consumiendo recursos de la CPU.
Conversión manual de WebP/AVIF
Antes de cargar cualquier imagen en WordPress, ejecútela a través de un compresor externo sin pérdidas como Squoosh.aplicación (por Google) o PequeñoPNG. Mejor aún, conviértalos a .webp o .avif formatos localmente antes de cargar.
Aproveche la carga diferida nativa
Desde WordPress 5.5, la carga diferida nativa está incorporada. WordPress agrega automáticamente loading="lazy" a tus imágenes. No necesita un complemento de carga diferida basado en JavaScript. Sin embargo, asegúrese de que sus imágenes "en la mitad superior de la página" (como su logotipo o imagen principal) NO tengan este atributo, ya que retrasará la pintura con contenido más grande (LCP).
Puede eliminar la carga diferida de la primera imagen de una página a través de functions.php:
add_filter( 'wp_get_attachment_image_attributes', function( $attr, $attachment, $size ) {
static $is_first_image = true;
if ( $is_first_image ) {
$attr['loading'] = 'eager'; // Force immediate load for LCP
$is_first_image = false;
}
return $attr;
}, 10, 3 );
5. Desfragmentación de la base de datos mediante phpMyAdmin
Los complementos de optimización suelen incluir un botón "Limpiar base de datos". Puede hacer esto de forma nativa en el nivel de la base de datos.
- Inicie sesión en su panel de hosting y abra phpMyAdmin.
- Seleccione su base de datos de WordPress.
- Desplácese hasta el final, verifique comprobar todo.
- En el menú desplegable "Con seleccionado:", elija Optimizar tabla.
MySQL reconstruirá los índices de la tabla y recuperará el espacio no utilizado. Haga esto manualmente una vez al mes.
El veredicto
Optimizar WordPress sin complementos no se trata solo de ahorrar dinero en suscripciones premium. Es una filosofía de reducir la deuda técnica. Cada complemento que no instala es una vulnerabilidad de seguridad que no tiene que parchear, una tabla de base de datos que no tiene que limpiar y un script PHP que su servidor no tiene que ejecutar.
Cambie la carga de trabajo al servidor (PHP 8.1+, Nginx FastCGI), imponga disciplina en su wp-config.phpy corte la hinchazón central usando su functions.php. Su tiempo hasta el primer byte (TTFB) y Core Web Vitals reflejarán la diferencia.



