Cómo optimizar tu web gestionando los errores 404 de archivos estáticos desde el servidor

Si asististe al pasado webinar de SiteGround sobre optimización web ya sabrás de lo que te estoy hablando, de optimizar los recursos de tu web haciendo que sea el servidor quien gestione los errores 404 de archivos estáticos, en vez de que lo tenga que hacer WordPress.

¿Qué hace WordPress con los errores 404?

Para que entiendas de qué estoy hablando, cuando una web WordPress recibe una petición de un recurso estático, consulta en la base de datos y archivos a ver si lo encuentra, y en caso contrario genera dinámicamente una página de error 404, normalmente creada por el tema activo.

Para contenidos dinámicos es genial, pues es una oportunidad para personalizar la página de error 404 y redirigir al usuario a otros contenidos.

¿Qué problema hay con los errores 404 de recursos estáticos?

Ahora bien, si lo que solicitaba la petición era un recurso estático, un archivo JPG, CSS, JavaScript, fuente, etc., lo que estamos haciendo es consumir recursos y consultas de WordPress para solicitudes no convertibles en tráfico legítimo, humano.

WordPress generará igualmente la página de error, pero normalmente sin conseguir ningún resultado práctico para tu web.

Esto, como explica muy bien Fernando Puente en un tuit, es una práctica muy poco óptima, pues las páginas de error 404 se crean dinámicamente y no se pueden optimizar correctamente.

La solución a los errores 404 de recursos estáticos

Como apuntó Fernando en el pasado webinar, la solución está en que sea el servidor web, y no WordPress, quien gestione los errores 404 de recursos estáticos que, normalmente, nunca se convertirán en tráfico humano, y que por ese motivo no merece la pena consumir recursos de WordPress con ellos.

Para conseguirlo solo tienes que añadir unas líneas al archivo de configuración de tu servidor.

En Apache

Si tu servidor es Apache añade lo siguiente al archivo .htaccess:

# Gestionar errores 404 de estaticos desde Apache
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.(jpg|jpeg|png|gif|webp|avif|svg|xls|doc|pdf|ico|eot|ttf|woff|woff2|otf|css|html|js)$ - [NC,R=404,L]

En NginX

Si tu servidor es Nginx entonces añade estas líneas al archivo nginx.conf:

# Gestionar errores 404 de estaticos desde Nginx
location ~* \.(jpg|jpeg|png|gif|webp|avif|svg|xls|doc|pdf|ico|eot|ttf|woff|woff2|otf|css|html|js)$ {
try_files $uri =404 last;
}

Una vez hechos estos cambios, a partir de ahora todos los errores 404 de archivos en la lista del código los gestionará el servidor, sin consumir recursos de tu instalación de WordPress ni de tu plan de alojamiento.

Mientras, los errores 404 de consultas de contenido dinámico los seguirás gestionando desde WordPress, para reconducir y aprovechar ese tráfico.

¿Para quién es este truco de WPO?

Cualquier instalación de WordPress se puede beneficiar de esta fantástica técnica de optimización, pero es especialmente relevante para webs de alto tráfico, donde cada petición errónea – y son muchas habitualmente – consume recursos necesarios para servir el contenido legítimo.

Otro beneficio asociado a este cambio es que, al liberar a tu web WordPress de todo ese tráfico de errores 404, es que puede ayudarte a evitar caídas por ataques que usen los errores 404 de recursos estáticos para tumbar tu sitio, algo más común de lo que imaginas, y que plugins de seguridad como iThemes Security trata de evitar, pero que con este truco lo refuerzas.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(2 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Sobre el autor

3 comentarios en “Cómo optimizar tu web gestionando los errores 404 de archivos estáticos desde el servidor”

  1. Aplicadas reglas en Apache y funciona fantástico.. simple truquitos para ahorrase dinero y recursos.

    Muchas gracias Fernando.

  2. Hola.
    Espero puedan ayudarme.
    Llevo dias intentanto encontrar solucion al problema que presenta la pagina sig:
    https://www.panticjewel.com
    Me envia el error: 403 Access Denied

    Cuando quiero entrar al Panel de wordpress, me envia otro codigo de error
    https://www.panticjewel.com/wp-admin/
    Me envia el error: 404
    Not Found
    The resource requested could not be found on this server!

    He intentado por los foros que he leido:
    htaccess, eliminado
    htaccess, modificar codigo
    carpeta pluggins, la he puesto off
    themes, la he puesto off

    Al ver que nada de esto funciona los he vuelto a poner como estaban antes. Pero la pagina sigue sin funcionar.
    que orientacion me pueden dar.

    saludos.

    Vanessa.

    1. Tiene toda la pinta de que tienes que hablar con tu hosting porque falta software base que necesita WordPress, o sino recupera una copia de seguridad.

      Your PHP installation appears to be missing the MySQL extension which is required by WordPress.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
  • Responsable: Fernando Tellado ([email protected])
  • Fin del tratamiento: Moderación de comentarios para evitar spam
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba Ir al contenido