Why is my doc broken on an AMP cache?

Valid AMP documents typically appear and behave the same on AMP Caches as they do on the origin. However, there are some components and server configurations that can be problematic.

If a particular document appears and behaves as expected on your origin, but not when viewed via the cache (how to map origin URLs to Google's AMP Cache), try the following:

  1. Open your browser's developer/error tools console, and resolve any errors or warnings that appear.
  2. Run the document through AMPBench and resolve any unexpected errors or warnings.

If you still have a problem after following these steps, check the table below.

Symptom Issue Solution
Web fonts do not appear (fallback fonts are used) The AMP Cache is not whitelisted by the font provider. Contact the font provider and ask them to whitelist all caches.
Assets (e.g., fonts and images) do not appear (HTTP origins only) The document uses protocol-relative URLs. Switch to absolute URLs (that is, http://www.site.com/doc/amp, not //www.site.com/doc/amp).
Assets (e.g., fonts and images) do not appear The assets are served with the incorrect MIME type. Specify an acceptable MIME type.
The AMP Cache cannot access the assets. Ensure the AMP Cache can access your assets and that it is not blocked by an IP address, or a user agent, etc. (List of user agents used by Google's crawler).
Dynamic elements such as <amp-form>, <amp-list>, do not behave as expected. Broken or missing CORS headers. These components make cross-origin requests from the AMP Cache to your origin. By default, browsers block these requests. To allow these requests, emit CORS headers that whitelist all caches.
Content is being served that must be removed due to a legal takedown notice. The AMP Cache has not yet picked up the removal. Follow the guidelines for each AMP Cache to refresh the content. For Google AMP Cache, see update ping.