Prefetch URLs
URL prefetching means that Cloudflare pre-populates the cache with content a visitor is likely to request next. This setting — when combined with additional setup — leads to a higher cache hit rate and thus a faster experience for the user.
Availability
Free | Pro | Business | Enterprise | |
Availability | No | No | No | Yes |
Setup
For Cloudflare to start prefetching URLs, you will need to enable the feature and include a list of URLs to prefetch.
Enable Prefetch URLs
To enable Prefetch URLs in the dashboard:
- Log in to your Cloudflare account and go to a specific domain.
- Go to Speed > Optimization > Content Optimization.
- For Prefetch URLs, switch the toggle to On.
To enable or disable Prefetch URLs with the API, send a PATCH
request with the value
parameter set to your desired setting ("on"
or "off"
).
Choose URLs to prefetch
After you enable the feature, you also need to indicate which URLs Cloudflare should prefetch.
To do this, include a Link HTTP response header pointing to a manifest file with the rel="prefetch"
attribute and then serve the manifest file with text/plain
as the Content-type response header.
Example HTTP response header:Link: <http://www.example.com/manifest.txt>; rel="prefetch"
Example manifest.txt:/static/fetch1 //other.example.com/fetch2 http://another.example.com/fetch3
The manifest file should contain URIs, protocol-relative URLs or full URLs, separated by new lines. These files must be on your websites that are on Cloudflare. If you reference HTML pages, only the HTML page itself will be pre-fetched - any sub-requests from that HTML will not be fetched unless they are also defined explicitly in your manifest.
Limitations
Cloudflare will only prefetch files listed in the manifest file if the resources are those cached by default.
Prefetch is not compatible with the custom cache key configuration. For more information, refer to Cache Key limitations.