Llevo trabajando unos días en la forma de mostrar diferentes plantillas en Wordpress; una para versión desktop y otra para versión mobile y así optimizar los pesos de página del sitio web y mejorar su tiempo de descarga. Después de un tiempo haciendo pruebas surgió la necesidad de introducir la cabecera HTTP Vary para indicar a Google que estoy mostrando diferente contenido en la misma URL y evitar ser penalizado por cloacking. Así nace este artículo donde me gustaría compartir lo sencillo que es introducir HTTP Vary en Wordpress.

¿Qué es la publicación dinámica o dynamic serving?

Según Google: La publicación dinámica es una configuración en la que se envía una respuesta desde el servidor con varios códigos HTML (y CSS) en la mismas URL según el agente de usuario usado en la solicitud de la página.

Omitiendo la respuesta técnica que Google nos ofrece, una publicación dinámico o dynamic servering es mostrar al usuario diferentes plantillas o themes de tu web según el agente de usuario desde donde está realizando la solicitud al servidor, básicamente es mostrar diferente contenido dependiendo de la aplicación informática que se conecta a la web; que puede ser desde un navegador desktop, un navegador móvil, web crawlers, teléfonos móviles, lectores de pantalla e incluso navegadores Braille.

Usando HTTP Vary para no ser penalizados

Google entiende por una práctica blackhat o penalizable mostrar contenido diferente a los humanos y/o motores de búsqueda, por eso es importante introducir la variable HTTP Vary en las cabeceras de la solicituda HTTP y evitar ser penalizado por cloacking. Os dejo un enlace a la ayuda de Google donde ellos lo llaman encubrimiento.

Añadiendo HTTP Vary Header en Wordpress

Sin entrar en cuestiones técnicas de implicaciones y utilidades, os enumero los pasos para tunear tu Wordpress y evitar ser penalizado por Google usando el user agent de turno:

  1. Configura tu Wordpress para que ofrezca diferentes plantillas dependiendo de donde se conecte el usuario. Esto es cosa tuya.
  2. Haz una copia de seguridad de todos los archivos de tu Wordpress ;)
  3. Descarga el archivo functions.php
  4. Introduce el siguiente código al principio del documente después de la etiqueta <?php
  5. function add_vary_header($headers) {
    $headers['Vary'] = 'User-Agent';
    return $headers;
    }
    add_filter('wp_headers', 'add_vary_header');
  6. Realiza el punto 4 y 5 en los dos archivos functions.php de las dos plantillas.
  7. Vuelve a subir los archivos del servidor.

¡Listo! Con esto tendrás en la cabeceras de la solicitud tu HTTP Vary para que Google te quiera y te adore por muchos años. Os dejo unas capturitas de pantalla con la evidencia de los hechos.

Ejemplos

ANTES:

Cabecera sin http vary

 

DESPUÉS:

Cabecera con http vary