La Caché de AMP de Google publica copias almacenadas en caché del contenido AMP válido que se publica en la Web. Publica contenido directamente desde la Caché de AMP de Google para ofrecer una experiencia del usuario rápida.
Para aprovechar la Caché de AMP de Google, debes acceder a las URLs de AMP directamente desde la caché con el formato de URL de la Caché de AMP. Cada vez que un usuario accede a contenido AMP desde la caché, el contenido se actualiza automáticamente y, una vez que se almacena en la caché, se publica la versión actualizada para el próximo usuario.
Formato de URL de la Caché de AMP
El formato de URL de la Caché de AMP consta de los siguientes componentes:
Componente | Descripción |
---|---|
Nombre de subdominio | Los subdominios creados por la Caché de AMP de Google serán legibles por humanos cuando los límites de caracteres y las especificaciones técnicas lo permitan, y se asemejarán al dominio del publicador. Cuando sea posible, la Caché de AMP de Google creará cada subdominio de la siguiente manera:
Por ejemplo, se asignará |
Tipo de contenido | El tipo de contenido es uno de los siguientes: "c" para un documento AMP HTML, "i" para una imagen o "r" para un recurso (por ejemplo, una fuente). La Caché de AMP de Google mostrará un error 404 para los recursos que no coincidan con estos tipos de contenido (consulta el error principal). |
"s" opcional | Si está presente, requiere que Google recupere el contenido del origen mediante TLS (HTTPS seguro). Si la "s" no está presente, el contenido se recupera del origen mediante HTTP sin cifrado. |
URI | URI del contenido que se recuperará. La URI no puede incluir un esquema, es decir, no puede tener "http://" ni "https://". |
Cómo encontrar el nombre de subdominio
Por lo general, el nombre de subdominio de una URL de la Caché de AMP de Google será una conversión legible por humanos de la URL original realizada con los pasos mencionados anteriormente. Sin embargo, como en algunas circunstancias estos no se aplican, la mejor manera de recuperar las URLs de la caché de AMP de Google en aplicaciones listas para la producción consiste en usar la API de URL de la caché de AMP de Google.
En una etapa que no sea de producción, prueba la herramienta interactiva Uso de la Caché de AMP de Google en amp.dev para determinar qué nombre de subdominio generará la Caché de AMP de Google.
Ejemplo de solicitud de documento con TLS
Solicitud de un documento AMP HTML (especificado con el prefijo /c
) recuperado de https://example.com/amp_document.html
:
https://example-com.cdn.ampproject.org/c/s/example.com/amp_document.html
Debido a que /s
sigue el prefijo /c
, el documento se recuperará de example.com mediante TLS.
Ejemplo de solicitud de imagen con HTTP sin cifrado
Solicitud de una imagen (especificada con el prefijo /i
) recuperada de http://example.com/logo.png
:
https://example-com.cdn.ampproject.org/i/example.com/logo.png
Debido a que no hay un /s
que siga al prefijo /i
, Google recupera la imagen de example.com con HTTP sin cifrado, no HTTP con TLS.
Ejemplo de parámetro de consulta
El formato de URL de la Caché de AMP también puede incluir parámetros en la cadena de consulta.
El siguiente es un ejemplo de HTTPS con parámetros: https://example-com.cdn.ampproject.org/c/s/example.com/g?value=Hello%20World
Actualizaciones de la Caché de AMP de Google
Cuando un usuario solicita un documento AMP de la Caché de AMP de Google, la caché solicita actualizaciones automáticamente para publicar contenido actualizado para el próximo usuario una vez que ese contenido se haya almacenado en caché. Con este modelo, las actualizaciones de los documentos AMP se propagan de manera rápida y automática. Pocos usuarios verán la versión anterior después de la actualización.
La caché sigue un modelo SWR (stale-while-revalidate).
Usa los encabezados de almacenamiento en caché del origen, como Max-Age
, a modo de orientación para decidir si un documento o recurso en particular está desactualizado.
Cuando un usuario solicita contenido desactualizado, esa solicitud provoca que se obtenga una nueva copia, de manera que el próximo usuario reciba contenido actualizado.
Para limitar la cantidad de carga que genera en los sitios del publicador, la Caché de AMP de Google considera que un documento está actualizado durante al menos 15 segundos y, en el caso de los recursos, durante al menos 1 minuto. Ten en cuenta que las cifras pueden cambiar en el futuro, ya que podemos ajustar la caché para lograr un equilibrio óptimo entre la actualización y la carga en los sitios del publicador.
Modificaciones y optimizaciones de caché
La Caché de AMP de Google realiza modificaciones y optimizaciones, como las siguientes:
- Valida que el contenido realmente tenga el formato AMP y que cumpla con todos los objetivos de rendimiento correspondientes.
- Almacena en caché imágenes y fuentes, además de documentos AMP.
- Limita las dimensiones máximas de imágenes para evitar problemas de memoria del navegador y poca capacidad de respuesta.
- Realiza diversas transformaciones para mejorar la eficiencia de entrega de imágenes a través de la etiqueta
amp-img
, como en los siguientes casos:- Quita datos invisibles o difíciles de ver, como determinados metadatos.
- Convierte imágenes a formatos más pequeños y aptos para dispositivos móviles (por ejemplo, de GIF, PNG y JPEG a WebP en los navegadores compatibles con WebP).
- Transforma una imagen a una versión de menor calidad si la solicitud incluye el encabezado de ahorro de datos.
- Genera versiones en tamaños alternativos y agrega atributos
srcset
para permitir la publicación de imágenes de tamaños responsivos.
- Publica mediante un canal seguro (HTTPS) y usa los protocolos web más recientes (SPDY y HTTP/2).
- Limpia los documentos AMP para evitar los ataques de XSS ocasionados por etiquetas HTML cerradas de manera incorrecta o comentarios, entre otros.
Al realizar las transformaciones recién mencionadas, la Caché de AMP de Google ignora el encabezado "Cache-Control: no-transform".
Limpieza de HTML
La Caché de AMP de Google vuelve a escribir todos los documentos para normalizar el análisis. Los siguientes son algunos ejemplos:
- Se quitan todos los comentarios de HTML.
- Se colocan en minúscula los nombres de etiquetas y atributos.
- Se aplican de manera consistente comillas y escapes en los valores de los atributos.
- Se cierran todas las etiquetas, a excepción de los elementos vacíos de HTML5.
- Se quitan los espacios en blanco dentro de las etiquetas.
- Se aplica el escape de texto.
- Se simplifican los caracteres de texto codificados mediante caracteres UTF-8 equivalentes.
- Los elementos que solo pueden estar en el
body
se mueven abody
. - Los vínculos de salida se convierten en absolutos para que continúen funcionando cuando el documento se publique desde el origen de la Caché de AMP de Google en lugar de hacerlo desde el origen del publicador.
Cómo insertar etiquetas de carga previa
La Caché de AMP de Google agrega diferentes etiquetas de sugerencia de carga previa para los navegadores de manera de asistir con la carga anticipada de recursos.
Por ejemplo, <link href='https://fonts.googleapis.com/css?family=Lato' rel='stylesheet’>
cambia a lo siguiente:
<link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet"> <link href="https://fonts.gstatic.com" rel="dns-prefetch preconnect">