WordPress, RSS y exceso de tráfico

Resulta ser que WordPress (al menos las versiones 1.2, 1.2.1 y 1.2.2) no es demasiado inteligente con respecto a los feeds RSS. Una de las gracias del asunto es (debería ser, de hecho) que los lectores, al acceder al feed, le dicen al servidor cuándo se pasaron por última vez. Si hay cambios desde entonces, el servidor les envía el feed íntegro. Y si no, el servidor devuelve un código 304 (que quiere decir ‘sin cambios’).

Pues resulta ser que WordPress da el 304 cuando toca, pero envía el feed igual. ‘Espabilao’, ¿eh?

La solución está documentada aquí. Básicamente, hay que editar el archivo wp-blog-header.php, buscar (hacia la línea 107) el siguiente código:

if (version_compare(phpversion(),'4.3.0','>=')) {
header('Not Modified', TRUE, 304);
} else {
header('HTTP/1.x 304 Not Modified');
}

y substituirlo por:

if (version_compare(phpversion(),'4.3.0','>=')) {
header('Not Modified', TRUE, 304);
exit();
} else {
header('HTTP/1.x 304 Not Modified');
exit();
}

(Esto, es básicamente, decirle que después de contestar que 304, que no hace falta que siga).

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.