developers.google.com Open in urlscan Pro
2607:f8b0:4006:821::200e  Public Scan

Submitted URL: http://airportia-com.webpkgcache.com/
Effective URL: https://developers.google.com/search/docs/appearance/signed-exchange
Submission: On November 18 via manual from IN — Scanned from CA

Form analysis 1 forms found in the DOM

GET https://developers.google.com/s/results

<form class="devsite-search-form" action="https://developers.google.com/s/results" method="GET">
  <div class="devsite-search-container">
    <button type="button" search-open="" class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button>
    <div class="devsite-searchbox">
      <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox"
        type="text" value="" aria-controls="devsite-search-popout-container-id-1">
      <div class="devsite-search-image material-icons" aria-hidden="true">
      </div>
      <div class="devsite-search-shortcut-icon-container" aria-hidden="true">
        <kbd class="devsite-search-shortcut-icon">/</kbd>
      </div>
    </div>
  </div>
  <div class="devsite-popout" id="devsite-search-popout-container-id-1">
    <div class="devsite-popout-result devsite-suggest-results-container" devsite-hide=""></div>
  </div>
</form>

Text Content

developers.google.com uses cookies to deliver and enhance the quality of its
services and to analyze traffic. If you agree, cookies are also used to serve
advertising and to personalize the content and advertisements that you see.
Learn more.

AgreeNo thanks
 * Google Search Central

Documentation
 * SEO fundamentals
 * Introduction
 * Search Essentials
 * SEO Starter Guide
 * How Google Search Works
 * Do you need an SEO?

 * Crawling and indexing
 * Sitemaps
 * robots.txt
 * Meta tags
 * Crawler management
 * Removals
 * Canonicalization
 * Redirects
 * JavaScript SEO

 * Ranking and search appearance
 * Visual Elements gallery
 * Title links
 * Snippets
 * Images
 * Videos
 * Structured data
 * Favicons

 * Site-specific guides
 * Ecommerce
 * International and multilingual sites

 * Data analysis
 * Get started with Search Console
 * Debug traffic drops
 * Improve SEO with a bubble chart
 * Get started with Google Trends

Support Blog What's new
 * All updates
 * Documentation updates
 * Ranking updates
 * New YouTube videos
 * Recent podcast episodes

Events Case studies More

/


 * English
 * Deutsch
 * Español
 * Español – América Latina
 * Français
 * Indonesia
 * Italiano
 * Polski
 * Português – Brasil
 * Tiếng Việt
 * Türkçe
 * Русский
 * العربيّة
 * हिंदी
 * ภาษาไทย
 * 中文 – 简体
 * 中文 – 繁體
 * 日本語
 * 한국어

Sign in
 * Documentation

Search Console


 * Google Search Central

 * Documentation
   * More
 * Support
 * Blog
 * What's new
   * More
 * Events
 * Case studies

 * Introduction
 * Search Essentials
    * Overview
    * Technical requirements
    * Spam policies

 * SEO fundamentals
    * SEO Starter Guide
    * How Google Search works
    * Creating helpful, reliable, people-first content
    * Do you need an SEO?
    * Maintaining your site's SEO
    * Developer's guide to Search
    * Get your website on Google

 * Crawling and indexing
    * Overview
    * File types Google can index
    * URL structure
    * Links
    * Sitemaps
       * Learn about sitemaps
       * Build and submit a sitemap
       * Manage sitemaps with sitemap index file
       * Sitemap extensions
          * Image sitemaps
          * News sitemaps
          * Video sitemaps and alternatives
          * Combining sitemap extensions
   
    * Crawler management
       * Ask Google to recrawl your URLs
       * Large site owner's guide to managing your crawl budget
       * How HTTP status codes, and network and DNS errors affect Google Search
       * Google crawlers
          * Overview
          * Common crawlers
          * Special case crawlers
          * User-triggered fetchers
          * Specific crawlers and user-triggered fetchers
             * Googlebot
             * Google Read Aloud
             * APIs-Google
             * Feedfetcher
         
          * Reduce the Googlebot crawl rate
          * Verifying Googlebot and other Google crawlers
   
    * robots.txt
       * Introduction to robots.txt
       * How to write and submit a robots.txt file
       * Update your robots.txt file
       * How Google interprets the robots.txt specification
   
    * Canonicalization
       * What is URL canonicalization
       * How to specify a canonical URL with rel="canonical" and other methods
       * Fix canonicalization issues
   
    * Mobile site and mobile-first indexing
    * AMP
       * AMP on Google Search guidelines
       * Understand how AMP works in search results
       * Enhance AMP content
       * Validate AMP content
       * Remove AMP content
   
    * JavaScript
       * Understand the JavaScript SEO basics
       * Fix search-related JavaScript problems
       * Fix lazy-loaded content
       * Dynamic rendering as a workaround
   
    * Page and content metadata
       * Page metadata
       * Meta tags
          * Meta tags and HTML attributes that Google supports
          * Robots meta tag, data-nosnippet, and X-Robots-Tag
          * noindex
          * SafeSearch
      
       * rel attributes
   
    * Removals
       * Control what you share with Google
       * Page removals
       * Image removals
       * Redacted information
   
    * Site moves and changes
       * Redirects and Google Search
       * Site moves
          * Changing your hosting
          * Move a site with URL changes
      
       * A/B testing
       * Temporarily pause or disable a website

 * Ranking and search appearance
    * Overview
    * AI overviews
    * Byline dates
    * Favicons
    * Featured snippets
    * Flexible Sampling
    * Google Discover
    * Images
    * Local features
       * Business details
       * Top Places List
       * Opting out of local search results
   
    * Page experience
       * Understanding page experience
       * Core Web Vitals
       * Interstitials and dialogs
       * Get started with signed exchanges on Google Search
   
    * Ranking systems
       * A guide to Google Search ranking systems
       * Reviews system
   
    * Site names
    * Sitelinks
    * Snippets
    * Structured data
       * Understand how structured data works
       * Structured data general guidelines
       * Enriched search results
       * Generate structured data with JavaScript
       * Feature guides
          * All structured data features
          * Article
          * Book actions
          * Breadcrumb
          * Carousel
          * Course info
          * Course list
          * Dataset
          * Discussion forum
          * Education Q&A
          * Employer aggregate rating
          * Estimated salary
          * Event
          * Fact check
          * FAQ
          * Image metadata
          * Job posting
          * Learning video
          * Local business
          * Math solver
          * Movie carousel
          * Organization
          * Practice problem
          * Product
             * Overview
             * Product snippet
             * Merchant listing
             * Variants
         
          * Profile page
          * Q&A
          * Recipe
          * Review snippet
          * Sitelinks search box
          * Software app
          * Speakable
          * Special announcement
          * Subscription and paywalled content
          * Vacation rental
          * Vehicle listing
          * Video
   
    * Title links
    * Translated features
       * Translated results
       * Ad networks and translation-related Google Search features
   
    * Videos
    * Visual Elements gallery
    * Web Stories
       * Enable Web Stories on Google
       * Best practices for creating Web Stories
       * Web Story content policy
   
    * Early Adopters Program
       * Package tracking
       * Structured data carousels (beta)

 * Monitoring and debugging
    * Debug drops in Search traffic
    * Monitor with Search Console
       * Get started with Search Console
       * Improve SEO with a bubble chart
   
    * Debug with search operators
       * Overview
       * site: search operator
       * Google Images search operators
   
    * Preventing and monitoring abuse
       * Overview
       * Prevent user-generated spam
       * Malware and unwanted software
       * Prevent a malware infection
       * Social engineering (phishing and deceptive sites)
       * Google Safe Browsing Repeat Offenders Policy
   
    * Get started with Google Trends

 * Site-specific guides
    * Ecommerce
       * Overview
       * Where content can appear
       * Share product data
       * Include structured data
       * Launch a new website
       * Write high quality reviews
       * Design a URL structure
       * Ecommerce site structure
       * Pagination, incremental page loading, and Search
   
    * International and multilingual
       * Overview
       * Managing multi-regional and multilingual sites
       * Tell Google about localized versions of your page
       * How Google crawls locale-adaptive pages

 * SEO fundamentals
 * Introduction
 * Search Essentials
 * SEO Starter Guide
 * How Google Search Works
 * Do you need an SEO?
 * Crawling and indexing
 * Sitemaps
 * robots.txt
 * Meta tags
 * Crawler management
 * Removals
 * Canonicalization
 * Redirects
 * JavaScript SEO
 * Ranking and search appearance
 * Visual Elements gallery
 * Title links
 * Snippets
 * Images
 * Videos
 * Structured data
 * Favicons
 * Site-specific guides
 * Ecommerce
 * International and multilingual sites
 * Data analysis
 * Get started with Search Console
 * Debug traffic drops
 * Improve SEO with a bubble chart
 * Get started with Google Trends

 * All updates
 * Documentation updates
 * Ranking updates
 * New YouTube videos
 * Recent podcast episodes


We're now on LinkedIn: For news and resources from Google Search on making your
site discoverable, follow us on LinkedIn.
 * Home
 * 
   Search Central
 * 
   Documentation

Was this helpful?

Send feedback
 * On this page
 * Implement SXG
   * Additional requirements for Google Search
 * Monitor and debug SXG
 * Debug the Google SXG cache
 * Stay informed
 * 


GET STARTED WITH SIGNED EXCHANGES ON GOOGLE SEARCH

bookmark_borderbookmark Stay organized with collections Save and categorize
content based on your preferences.

Signed exchanges (SXG) allow Google Search to prefetch your content while
preserving the user's privacy. In practice, this means that both AMP and non-AMP
results shown on Google Search may prefetch a few key resources (such as HTML,
JavaScript, CSS, images, or fonts) in a privacy-preserving manner, if the
associated website supports SXG.

When the user ultimately clicks the result, the web page starts rendering much
sooner since key resources are already available, leading to a better user
experience. This could mean a lower Largest Contentful Paint (LCP) score for
your content, which can improve page experience overall.


IMPLEMENT SXG

To implement SXG, follow web.dev's in-depth guide. After implementing, follow
Chrome's guide to optimizing LCP using Signed Exchanges.

For AMP pages, follow amp.dev's in-depth guide.


ADDITIONAL REQUIREMENTS FOR GOOGLE SEARCH

Google uses a cache of SXG to prefetch your content. Google may serve these
cached SXG multiple times.

To make sure that up-to-date content displays in Google Search, set the SXG
expiration values appropriately. As a rule of thumb, make sure that the
expiration date is less than both of these dates:

 * The cache expiration determined by your HTTP headers
 * 1 day in the future if the content is JavaScript or inlines JavaScript;
   otherwise 7 days in the future

To make sure that content displays properly when served on multiple devices, do
the following:

 1. Move personalized content, such as shopping carts, into lazy-loaded elements
    that are outside of the SXG. Alternatively, add the Vary: Cookie signed
    header; SXGs with this header will be shown only to visitors without a
    cookie for your site.
 2. Build the pages with responsive web design. Alternatively, serve desktop and
    mobile pages on separate URLs, or annotate the pages to state that they
    aren't responsive, using the supported-media meta tag. For example, in the
    page's <head> element, add the following tag:
    
    
    
    <meta name=supported-media content="only screen and (max-width: 640px)">


MONITOR AND DEBUG SXG

For a list of tools that you can use to debug SXG, check out web.dev's guide to
SXG tools.

In the event that Googlebot can't parse an SXG, it may recrawl the URL without
application/signed-exchange;v=b3 in the Accept header, in order to retrieve the
text/html variant. In the event of any SXG indexing error, Google Search will
link to the original URL, without SXG.

For AMP pages, use the AMP status report in Search Console to monitor SXG
errors.


DEBUG THE GOOGLE SXG CACHE

To determine whether SXG meets the cache requirements, use the SXG Validator
Chrome extension.

Alternatively, query the Google SXG cache directly. For example, if the SXG URL
is https://signed-exchange-testing.dev/sxgs/valid.html, formulate the
corresponding cache URL:

https://signed--exchange--testing-dev.webpkgcache.com/doc/-/s/signed-exchange-testing.dev/sxgs/valid.html

The algorithm for computing the subdomain and the URL path suffix is the same as
for the AMP Cache, while the infix string /doc/-/ is different.

If the response is a SXG, then this means the response from the origin server
meets the Google SXG cache requirements. Otherwise, it will include an HTTP
header that indicates the reason.

 * If there is a Warning header, then it indicates an error that prevented the
   SXG from meeting the cache requirements.
 * If there is a Location header, then it has not yet been fetched by the cache.
   This is not an error in your SXG.

Regardless of the response, the cache enqueues a request to the original URL for
an updated copy. There are several factors for when and if this request happens,
including how fast Googlebot can crawl your site.

Google doesn't cache SXGs for longer than the expires value of the SXG signature
or the freshness lifetime of the unsigned headers of the SXG response.

For AMP pages, you can use the URL Inspection Tool to debug caching errors.


STAY INFORMED

Subscribe to the webpackaging-announce mailing list to stay up-to-date with the
following changes:

 * Changes to the Google SXG cache that enable new capabilities or deprecate
   other capabilities.
 * Major changes to the SXG tools Web Packager, NGINX SXG module, and libsxg.

If you have questions about SXG on Google Search, visit the Search Central Help
Community.

Was this helpful?

Send feedback


Except as otherwise noted, the content of this page is licensed under the
Creative Commons Attribution 4.0 License, and code samples are licensed under
the Apache 2.0 License. For details, see the Google Developers Site Policies.
Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2024-10-31 UTC.

Need to tell us more? [[["Easy to
understand","easyToUnderstand","thumb-up"],["Solved my
problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing
the information I need","missingTheInformationINeed","thumb-down"],["Too
complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out
of date","outOfDate","thumb-down"],["Samples / code
issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last
updated 2024-10-31 UTC."],[],[]]
 * LinkedIn
   Join us on LinkedIn
 * YouTube
   Watch our videos
 * Blog
   Subscribe to our RSS feed
 * Podcast
   Listen to Search Off the Record
 * X (Twitter)
   Join us on X (Twitter)


 * GET SUPPORT
   
   * Go to the help forum
   * Submit a question for office hours
   * Report spam, phishing, or malware
   * More support resources


 * RESOURCES
   
   * Do you need an SEO?
   * SEO Starter Guide
   * Status of Search systems
   * Search Console documentation
   * Case Studies


 * TOOLS
   
   * Search Console
   * Rich Results Test
   * PageSpeed Insights
   * AMP Test

 * Android
 * Chrome
 * Firebase
 * Google Cloud Platform
 * Google AI
 * All products

 * Terms
 * Privacy
 * Manage cookies
 * Sign up for the Google for Developers newsletter Subscribe

 * English
 * Deutsch
 * Español
 * Español – América Latina
 * Français
 * Indonesia
 * Italiano
 * Polski
 * Português – Brasil
 * Tiếng Việt
 * Türkçe
 * Русский
 * العربيّة
 * हिंदी
 * ภาษาไทย
 * 中文 – 简体
 * 中文 – 繁體
 * 日本語
 * 한국어

Info

Chat

API


PAGE INFO

bug_reportfullscreen close_fullscreen close


ON THIS PAGE

 * On this page
 * Implement SXG
   * Additional requirements for Google Search
 * Monitor and debug SXG
 * Debug the Google SXG cache
 * Stay informed