Resumen

La caché de AMP de Google publica copias almacenadas en caché del contenido de 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 URL de AMP directamente desde la caché con el formato de URL de la caché de AMP. Cada vez que un usuario accede a contenido de 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 tendrán lenguaje natural 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:

  1. Convertirá el dominio del documento de AMP de IDN (Punycode) a UTF-8.
  2. Reemplazará cada "-" (guion) con "--" (dos guiones).
  3. Reemplazará cada "." (punto) con un "-" (guion).
  4. Volverá a convertir a IDN (Punycode).

Por ejemplo, se asignará pub.com a pub-com.cdn.ampproject.org. Si las limitaciones técnicas no admiten subdominios en lenguaje natural, se usarán guiones unidireccionales en su lugar.

Tipo de contenido El tipo de contenido es uno de los siguientes: "c" para un documento HTML de AMP, "i" para una imagen y "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 obtenga el contenido del origen mediante TLS (HTTPS seguro). Si la "s" no está presente, el contenido se obtiene del origen mediante HTTP sin formato.
URI URI del contenido que se obtendrá. 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 en lenguaje natural 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 URL 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 Usar 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 HTML de AMP (especificado con el prefijo /c) obtenido 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 obtendrá de example.com mediante TLS.

Ejemplo de solicitud de imagen con HTTP sin formato

Solicitud de una imagen (especificada con el prefijo /i) obtenida 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 simple, no HTTP sobre 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 de AMP de la caché de AMP de Google, la caché solicita actualizaciones automáticamente a fin de 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 de 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 "antiguo durante la revalidación". Usa los encabezados de almacenamiento en caché del origen, como Max-Age, a modo de sugerencia para decidir si un documento o recurso en particular está inactivo Cuando un usuario solicita contenido inactivo, 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 de AMP y que cumpla con todos los objetivos de rendimiento correspondientes.
  • Almacena en caché imágenes y fuentes, además de documentos de 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 admitir 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 de 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 de "control de caché: no transformar".

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 sin 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 equivalentes a UTF-8.
  • Los elementos que solo pueden estar en el body se mueven a body.
  • 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 precarga

La caché de AMP de Google agrega diferentes etiquetas de sugerencia de precarga para los navegadores a fin 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">