Menú
Gratis
Registro
hogar  /  Programas/ Mitos SEO: todo sobre el encabezado modificado por última vez. Un blog con mucha información interesante... ¿Por qué necesitamos los encabezados Last-Modified y If-Modified-Since?

Mitos de SEO: todo sobre el encabezado modificado por última vez. Un blog con mucha información interesante... ¿Por qué necesitamos los encabezados Last-Modified y If-Modified-Since?

Encabezado HTTP Última modificación (última modificación) envía tiempo al cliente ultimo cambio documento (página web). Cliente (navegador o robot de busqueda) envía el encabezado " Si-Modificado-Desde' y si la fecha de última modificación de la página coincide, el servidor devuelve el título ' 304 No modificado' y no carga la página. Si la hora de la última modificación es diferente (o el encabezado de la última modificación no está configurado), el servidor devuelve el encabezado " 200 bien' y carga la página. Es decir, en lugar de recargar la página y actualizar el caché, el cliente recibe solo partida 304. El cliente ahorra tráfico y el servidor proporciona menos datos: ahorro mutuo.

Pero, para qué sería este artículo, si no es para hablar de los beneficios que tiene configurar el encabezado Last-Modified para, o mejor dicho, acelerar la indexación del sitio. Es fácil adivinar que 10 páginas de un sitio se indexarán más rápido que 1000. El mismo principio que le permite optimizar la carga de páginas funciona para la indexación. buscador no es necesario indexar 1000 páginas para encontrar 10 páginas nuevas. Gracias a la última modificación, dejamos solo páginas nuevas (o actualizadas) para el robot. El robot llega al sitio y toma primero lo que necesita y luego todo lo demás.

Configuración del encabezado de última modificación

Asegúrese de que sus encabezados http sean correctos. En particular, es importante el contenido de la respuesta que el servidor da a la solicitud "if-modified-since". El encabezado Última modificación debe devolver la fecha correcta en que se modificó por última vez el documento. Incluso si el servidor no devuelve la fecha de la última modificación del documento (last-modified), su sitio será indexado. Sin embargo, en este caso, se debe tener en cuenta lo siguiente: - la fecha no se mostrará junto a las páginas de su sitio en los resultados de búsqueda; - al ordenar por fecha, el sitio no será visible para la mayoría de los usuarios; - el robot no podrá obtener información sobre si la página del sitio se ha actualizado desde la última indexación. Y dado que la cantidad de páginas que el robot recibe del sitio en una visita es limitada, las páginas modificadas se reindexarán con menos frecuencia. Asegúrese de que su servidor web admita el encabezado HTTP "If-Modified-Since". Este encabezado permitirá que el servidor web le diga a Google si el contenido del sitio ha cambiado desde la última vez que se rastreó. La compatibilidad con esta función reduce la sobrecarga y el uso de ancho de banda.

Estos son ejemplos de cómo configurar el envío del encabezado de última modificación y el manejo adecuado de If-Modified-Since.

Cómo configurar meta Last-Modified para páginas html estáticas

Cómo configurar la última modificación en php

= $LastModified_unix) ( header($_SERVER["SERVER_PROTOCOL"] . " 304 No modificado"); exit; ) header("Last-Modified: ". $LastModified); ?>

Cómo configurar .htaccess de última modificación

Regla de reescritura .* - Regla de reescritura .* -

Cómo configurar nginx + php modificado por última vez

ubicación ~ .php$ (... if_modified_since off; fastcgi_pass fcgi; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /<путь >/web$fastcgi_script_nombre; ... fastcgi_pass_header Última modificación; incluir fastcgi_params; )

Comprobar última modificación

Cuando el encabezado que pasa al cliente está configurado, no duele último cheque modificado para la corrección. Puede verificar Última modificación en su propio sitio o en el de un tercero a través de los servicios en línea.

O haga su propia verificación del procesamiento correcto del encabezado Última modificación:

Configuración del encabezado de última modificación y procesar el encabezado If-Modified-Since será extremadamente útil para cualquier sitio más o menos grande. La velocidad de procesamiento de la página de un sitio puede llegar a ser significativa. Una configuración relativamente simple no creará problemas, especialmente porque para CMS populares como joomla, wordpress, modx, etc. hay soluciones preparadas.

¿Por qué esta publicación en la sección de SEO? Última modificación, como aseguran los motores de búsqueda, es un encabezado http muy importante que se necesita para informar la fecha de la última modificación del documento, es decir, la fecha del último cambio en la página.

En consecuencia, si este encabezado no existe, o mejor dicho, no se dará, entonces el sitio pierde algunas ventajas. En particular, esto es lo que leí en la red sobre los beneficios de la última modificación:

  1. La velocidad de indexación de nuevas páginas mejora y el robot puede incluir más páginas en el índice en 1 visita.
  2. Mejora la velocidad de reindexación de páginas en las que ha realizado cambios. Esto es muy útil, pero sin este encabezado para publicar sus ediciones, tendrá que esperar más.

En principio, esto ya es suficiente para querer revisar y, si es necesario, ajustar este encabezado.

¿Cómo verificar la última modificación?

Hay varias herramientas, esta me gustó más: http://www.tools.seo-auditor.com.ru/if-modified-since/
Aquí solo necesito ingresar la dirección de la página principal o cualquier artículo, y luego seleccionar el robot de búsqueda: Yandex.

Última modificación encontrada en mi sitio, es genial. Pero inicialmente no estaba allí, ¿cómo lo configuré?


¿Cómo configurar la última modificación?

Para ser honesto, nada me ayudó. Tal vez porque el servidor es nginx. Instalé AddHeaders: este complemento coloca todos los encabezados http útiles, incluida la última modificación, pero este complemento no me ayudó, aunque hace aproximadamente un año activó con éxito este encabezado en mi sitio.

También en este blog, puse el complemento premium Clearfy sobre el que escribí. Una cosa útil, también hay una función que le permitiría poner la última modificación.

Activé la opción, pero el título no se devolvió según los resultados de la verificación. Pero al final, todo se decidió por la apelación a aquellos. soporte de complementos: allí describí la configuración de mi servidor y me dieron consejos específicos: vaya al panel de control del servidor, deshabilite esto y aquello. Apenas dicho, hecho y ahora se da el título.

Creo que agregar un encabezado tendrá un efecto positivo en mis sitios.

Una solución universal: el complemento AddHeaders probablemente sea adecuado para usted si tiene un servidor apache. Si es nginx, intente deshabilitar ssi en la configuración del dominio y vuelva a activar este complemento.

“En particular, es importante el contenido de la respuesta que el servidor da a la solicitud “if-modified-since”. El encabezado Last-Modified debe devolver la fecha correcta en que se modificó por última vez el documento".

Veamos cómo funciona Last-Modified en varios CMS.

# telnet www.ejemplo.com 80

e ingresa lo siguiente:

GET /index.html HTTP/1.0 User-Agent: Mozilla/5.0 De: something.somewhere.net Aceptar: text/html,text/plain,application/* Host: www.example.com If-Modified-Since: Wed, 19 de octubre de 2005 10:50:00 GMT

si el servidor devuelve 304 (No modificado), entonces es compatible con If-Modified-Since, pero la página no ha sido modificada. El código 200 (Ok) significa que la página ha cambiado.

Verificando If-Modified-Since en C#

Puede comprobar cómo funciona If-Modified-Since con el siguiente código C#:

Private HttpWebResponse GetPage() (string url = @"http://..."; // Lugar La web solicitud al servidor especificando la URL HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); // No necesidad de una solicitud de conexión persistente.KeepAlive = false; // El enlace que nos remitió a la URL request.Referer = url; // El agente de usuario de la solicitud del navegador.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50215)"; //En lugar de HTTP 1.1 usaré HTTP 1.0. Cuando una solicitud le dice al servidor que usa 1.0, //el servidor no responderá con datos fragmentados, sino que enviará la respuesta de una sola vez.solicitud.ProtocolVersion = nueva versión (1, 1); AddDays(-5); // Obtenga la respuesta del servidor return (HttpWebResponse)request.GetResponse(); ) private void TestLastModified(VirtueMartContext db, jos_vm_product product) ( usando (HttpWebResponse respuesta = GetPage()) ( Debug.Print( "Código de estado: (0), Descripción: (1)\n", respuesta.Código de estado, respuesta.Descripción del estado); cadena de texto = WebResponceReader.GetResponceText(respuesta); Debug.Print(text.Substring(0, 100)); ) )

Con este método, puede asegurarse de que Joomla siempre devuelva StatusCode=200 (OK), independientemente del valor de request.IfModifiedSince.

Comprobación de If-Modified-Since a través del servicio Yandex

Si hace clic en el botón en Yandex Webmaster "Comprobar la respuesta del servidor", llegamos aquí:

aquí nuevamente puede ver que el sitio del sitio y, en consecuencia, WordPress sin el complemento WP Super Cache no agrega el encabezado Última modificación.

Bueno, descubrimos el CMS, pero ¿cómo funciona Yandex?

Aquí puede dar un ejemplo: hoy es 7/7/2011, el contenido en Joomla se actualizó el 20/6/2011 y Yandex tiene una versión en caché del 11/06/2011, aunque después de esta fecha el robot ha venido más de una vez. En este caso, Yandex descarga actualizaciones con un retraso muy significativo. La pregunta es ¿por qué?

Esto es lo que dice Platon Shchukin al respecto:

A medida que rastrea el sitio, el robot también omitirá la página especificada, luego de lo cual, con la actualización de las bases de datos de búsqueda, se actualizará en los resultados de búsqueda. Estamos trabajando para que esto suceda lo más rápido posible.

Por tu parte, también puedes ayudar al robot a indexar el sitio más rápido usando las siguientes recomendaciones con

El encabezado HTTP Last-Modified le dice al cliente cuándo se modificó por última vez la página (objeto). Si el cliente (navegador, robot de búsqueda) recibió el encabezado Última modificación, la próxima vez que acceda a la dirección, siempre que la página (objeto) esté en el caché local, agregará la pregunta Si se modificó desde (si la página ha cambiado desde la fecha de recepción en Última modificación). A su vez, el servidor, al haber recibido una solicitud If-Modified-Since, debe verificar la marca de tiempo recibida con la hora en que se modificó por última vez la página y, si la página no ha cambiado, responder con 304 Not Modified.

Guardar tráfico

Si la página no ha cambiado, el servidor dejará de transmitir datos después de enviar encabezados con el código 304 No modificado, el cuerpo de la página, las imágenes y otros objetos no se transmitirán.

Carga del servidor reducida

La implementación correcta de verificar la hora de la última modificación de la página puede reducir significativamente (hasta un 30% o más) la carga en el servidor. La implementación correcta significa verificar el tiempo antes de que comience la generación de la página en un sitio dinámico. En este caso, no se realizarán todas las acciones para generar la página (solicitar contenido de la base de datos, analizar plantillas, recibir comentarios, etc.). Esto es especialmente cierto para sitios con alto tráfico y una larga duración de la visita del usuario. Ejemplo: El usuario está en un sitio de noticias deportivas y está constantemente actualizando página de inicio pendiente de publicación del resultado del partido. En unos minutos, una página puede ser solicitada y recibida decenas de veces. Si se proporciona el encabezado Last-Modified y la solicitud If-Modified-Since se procesa correctamente, la página se enviará una vez y todas las solicitudes posteriores recibirán una respuesta 304 Not Modified.

Acelera la indexación por los motores de búsqueda

Los motores de búsqueda recomiendan enviar el encabezado Last-Modified y manejar correctamente If-Modified-Since , a través de las Directrices para webmasters.


Asegúrese de que su servidor web admita el encabezado HTTP If-Modified-Since. Este encabezado permitirá que el servidor web le diga a Google si el contenido del sitio ha cambiado desde la última vez que se rastreó. El soporte para esta función reducirá la carga en rendimiento y costos

Asegúrese de que sus encabezados http sean correctos. En particular, el contenido de la respuesta que da el servidor a la solicitud if-modified-since es importante. El encabezado Última modificación debe devolver la fecha correcta en que se modificó por última vez el documento. Si el servidor no devuelve la última fecha de modificación del documento, su sitio será indexado, pero:
- los resultados de la búsqueda no mostrarán la fecha junto a las páginas de su sitio;
- al ordenar por fecha, el sitio no será visible para la mayoría de los usuarios;
- el robot no podrá obtener información sobre si la página del sitio se ha actualizado desde la última indexación. Y dado que la cantidad de páginas que el robot recibe del sitio en una visita es limitada, las páginas modificadas se reindexarán con menos frecuencia.

Sintaxis

Si-Modificado-Desde: , ::GMT

Directivas

Uno de "lunes", "martes", "miércoles", "jueves", "viernes", "sábado" o "domingo" (se distingue entre mayúsculas y minúsculas). Número de día de 2 dígitos, p. "04" o "23". Uno de "ene", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre" ( distingue mayúsculas y minúsculas). Número de año de 4 dígitos, p. "1990" o "2016". Número de hora de 2 dígitos, p. "09" o "23". Número de minutos de 2 dígitos, p. "04" o "59". Segundo número de 2 dígitos, p. "04" o "59". GMT

Meridiano de Greenwich. Las fechas HTTP siempre se expresan en GMT, nunca en hora local.

Ejemplos

Si se modifica desde: miércoles, 21 de octubre de 2015 07:28:00 GMT

Especificaciones

Especificación Título
RFC 7232, sección 3.3: If-Modified-Desde Protocolo de transferencia de hipertexto (HTTP/1.1): solicitudes condicionales

Compatibilidad del navegador

La tabla de compatibilidad de esta página se genera a partir de datos estructurados. Si desea contribuir con los datos, consulte https://github.com/mdn/browser-compat-data y envíenos una solicitud de extracción.

Actualizar datos de compatibilidad en GitHub

EscritorioMóvil
CromobordeFirefoxexplorador de InternetÓperasafarivista web de AndroidChrome para AndroidFirefox para AndroidÓpera para AndroidSafari en iOSSamsung Internet
Si-Modificado-DesdeSoporte completo de Chrome SíBorde Soporte completo 12Firefox Soporte completo SíSoporte completo de IE SíSoporte completo de OperaSíSafari Soporte completo SíWebView Android Soporte completo SíChrome Android Soporte completo SíFirefox Android Soporte completoSíOpera Android Soporte completo SíSafari iOS Soporte completo SíSamsung Internet Android Soporte completo Sí