En este post iré haciendo una lista de tips para mejorar el rendimiento de WordPress.
Una herramienta que puedes usar para mejorar el rendimiento de WordPress es el panel de salud del sitio, que incorpora de forma nativa WordPress. Te informa de los problemas de rendimiento y te dará recomendaciones para solucionarlos. Puedes acceder a él desde el menú Herramientas -> Salud del sitio o accediendo por la URL: tudomino.com/wp-admin/site-health.php
.
Puedes encontrar muchos más tips de optimización para sitios webs en Web Performance Calendar (para usuarios avanzados).
Contenidos
Limitar el número de revisiones de los posts
Añade este código al archivo wp-config.php para limitar el número de revisiones máximo a guardar por cada post.
define( 'WP_POST_REVISIONS', 4 ); // Guarda un máximo de 4 revisiones
define('WP_POST_REVISIONS', false); // Deshabilita las revisiones
Si quieres eliminar las revisiones existentes, ejecuta la siguiente query en la base de datos (reemplaza «wp_» por el prefijo que corresponda).
DELETE FROM wp_posts WHERE post_type = "revision";
Deshabilitar el hotlinking
Evita que otros dominios enlacen recursos (imágenes, archivos PDF, etc…) alojados en tu web.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)tudominio.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteRule \.(gif|jpg|jpeg|bmp|zip|rar|mp3|flv|swf|xml|php|png|css|pdf)$ – [F]
Incrementar el límite de memoria de PHP
Si tienes mensajes del estilo a «Allowed memory size of xxxxxx bytes exhausted» necesitas aumentar el límite de memoria dedicado para tu web.
Añade esta línea al archivo wp-config.php.
define( 'WP_MEMORY_LIMIT', '256M' );
Precargar las DNS de recursos externos
Si sabes que vas a usar ciertos recursos externos, puedes precargar las DNS para optimizar la velocidad llegado el momento de cargarlos.
Estos son algunos ejemplos de recursos que puedes precargar. Añade el código entre las etiquetas <head></head>.
<link rel="dns-prefetch" href="//fonts.googleapis.com"> // Google Fonts
<link rel="dns-prefetch" href="//ajax.googleapis.com"> // jQuery
<link rel="dns-prefetch" href="//www.google-analytics.com"> // Google Analytics
Habilita la compresión Gzip o Brotli
Seguramente esto ya lo tengas habilitado en el servidor. En CPanel está en la opción Optimize Website.
Para apache también puedes habilitarlo en el archivo .htaccess con el siguiente código:
<ifmodule mod_deflate.c="">
# Comprime HTML, JavaScript, CSS, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Compatibilidad con navegadores antiguos
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</ifmodule>
Modificar la versión de PHP
Al menos se recomienda tener la versión estable de PHP 7.4.
En CPanel puedes modificarlo desde el menú Administrador MultiPHP.
Deshabilitar modo Debug
El modo debug nunca debe estar habilitado en una web en producción, solo debe activarse para pruebas. Puedes ver si está habilitado desde la pestaña de salud del sitio: Herramientas -> Salud del sitio.
Para deshabilitarlo, añade el siguiente código al wp-config.php
.
define('WP_DEBUG', flase);
Añadir plugin de caché
Si tu proveedor de hosting implementa LiteSpeed, te recomiendo el plugin LiteSpeed Cache. Este te permitirá cachear la base de datos, los archivos, etc.
Otros plugins que te recomiendo son: WP Fastest Cache y WP Super Cache.