diff --git a/src/assets/images/rules/reference/page-rules-migration/pr-mirage-new.png b/src/assets/images/rules/reference/page-rules-migration/pr-mirage-new.png deleted file mode 100644 index 911e4290fd6d787..000000000000000 Binary files a/src/assets/images/rules/reference/page-rules-migration/pr-mirage-new.png and /dev/null differ diff --git a/src/assets/images/rules/reference/page-rules-migration/pr-mirage.png b/src/assets/images/rules/reference/page-rules-migration/pr-mirage.png deleted file mode 100644 index 7f2c779ef1f6a92..000000000000000 Binary files a/src/assets/images/rules/reference/page-rules-migration/pr-mirage.png and /dev/null differ diff --git a/src/content/docs/cache/get-started.mdx b/src/content/docs/cache/get-started.mdx index 32d0f0cd1409453..0b4da0aefd685d8 100644 --- a/src/content/docs/cache/get-started.mdx +++ b/src/content/docs/cache/get-started.mdx @@ -68,7 +68,6 @@ Review the list of Cloudflare features that function in this manner: * [Rocket Loader](/speed/optimization/content/rocket-loader/) * [Polish](/images/polish/) -* [Mirage](/speed/optimization/images/mirage/) (deprecated) * [Hotlink Protection](/waf/tools/scrape-shield/hotlink-protection/) * [Email address obfuscation](/waf/tools/scrape-shield/email-address-obfuscation/) * [Bot Management JavaScript Detections](/bots/additional-configurations/javascript-detections/) diff --git a/src/content/docs/cache/reference/etag-headers.mdx b/src/content/docs/cache/reference/etag-headers.mdx index 37ebb8f2d5d8ff4..59f4b9b8a8c7de0 100644 --- a/src/content/docs/cache/reference/etag-headers.mdx +++ b/src/content/docs/cache/reference/etag-headers.mdx @@ -50,7 +50,7 @@ The Cloudflare network will take the following actions, depending on the visitor -Enabling **Respect Strong ETags** in Cloudflare automatically disables Rocket Loader, Email Obfuscation, Automatic HTTPS Rewrites, and Mirage. +Enabling **Respect Strong ETags** in Cloudflare automatically disables Rocket Loader, Email Obfuscation, and Automatic HTTPS Rewrites. ### Behavior with Respect Strong ETags disabled diff --git a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/saas-customers/product-compatibility.mdx b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/saas-customers/product-compatibility.mdx index 0d55c627e9220d7..69bd2df137e8582 100644 --- a/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/saas-customers/product-compatibility.mdx +++ b/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/saas-customers/product-compatibility.mdx @@ -37,7 +37,6 @@ This is not an exhaustive list of Cloudflare products and features. | [IPv6 Compatibility](/network/ipv6-compatibility/) | Yes | Yes\* | If the customer zone has **IPv6 Compatibility** enabled, generally the SaaS zone should as well.

If not, make sure the SaaS zone enables [Pseudo IPv4](/network/pseudo-ipv4/). | | [Load Balancing](/load-balancing/) | No | Yes | Customer zones can still use Load Balancing for non-O2O traffic. | | [Page Rules](/rules/page-rules/) | Yes\* | Yes | Page Rules that match the subdomain used for O2O may block or interfere with the flow of visitors to your website. | -| [Mirage](/speed/optimization/images/mirage/) (deprecated) | Yes | Yes | | | [Origin Rules](/rules/origin-rules/) | Yes | Yes | Enterprise zones can configure Origin Rules, by setting the Host Header and DNS Overrides to direct traffic to a SaaS zone. | | [Page Shield](/page-shield/) | Yes | Yes | | | [Polish](/images/polish/) | Yes\* | Yes | Polish only runs on cached assets. If the customer zone is bypassing cache for SaaS zone destined traffic, then images optimized by Polish will not be loaded from origin. | diff --git a/src/content/docs/fundamentals/reference/policies-compliances/content-security-policies.mdx b/src/content/docs/fundamentals/reference/policies-compliances/content-security-policies.mdx index 3682261eef68092..c0e9a9cc0197620 100644 --- a/src/content/docs/fundamentals/reference/policies-compliances/content-security-policies.mdx +++ b/src/content/docs/fundamentals/reference/policies-compliances/content-security-policies.mdx @@ -37,7 +37,7 @@ To use certain Cloudflare features, however, you may need to update the headers | Feature(s) | Updated headers | | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -| [Rocket Loader](/speed/optimization/content/rocket-loader/), [Mirage](/speed/optimization/images/mirage/) | `script-src 'self' ajax.cloudflare.com;` | +| [Rocket Loader](/speed/optimization/content/rocket-loader/) | `script-src 'self' ajax.cloudflare.com;` | | [Scrape Shield](/waf/tools/scrape-shield/) | `script-src 'self' 'unsafe-inline'` | | [Web Analytics](/web-analytics/) | `script-src static.cloudflareinsights.com; connect-src cloudflareinsights.com` | | [Bot products](/bots/) | Refer to [JavaScript detections and CSPs](/cloudflare-challenges/challenge-types/javascript-detections/#if-you-have-a-content-security-policy-csp). | diff --git a/src/content/docs/rules/configuration-rules/settings.mdx b/src/content/docs/rules/configuration-rules/settings.mdx index 1dda905af487084..2891de9fd69d607 100644 --- a/src/content/docs/rules/configuration-rules/settings.mdx +++ b/src/content/docs/rules/configuration-rules/settings.mdx @@ -152,30 +152,6 @@ API configuration property name: `"fonts"` (boolean). -## Mirage - -:::caution[Deprecation notice] -Mirage was deprecated on September 15, 2025. -::: - -[Mirage](/speed/optimization/images/mirage/) accelerates image delivery for your visitors based on their device. - -Use this setting to turn on or off Mirage for matching requests. - -
- -API configuration property name: `"mirage"` (boolean). - -```json title="API configuration example" -"action_parameters": { - "mirage": false -} -``` - - - -
- ## Opportunistic Encryption [Opportunistic Encryption](/ssl/edge-certificates/additional-options/opportunistic-encryption/) allows browsers to access HTTP URIs over an encrypted TLS channel. diff --git a/src/content/docs/rules/page-rules/reference/settings.mdx b/src/content/docs/rules/page-rules/reference/settings.mdx index e9e0e46093b458f..f5a6056b11c9651 100644 --- a/src/content/docs/rules/page-rules/reference/settings.mdx +++ b/src/content/docs/rules/page-rules/reference/settings.mdx @@ -39,7 +39,6 @@ The available Page Rules settings are the following: | Forwarding URL | Redirects one URL to another using an `HTTP 301/302` redirect. Refer to [Wildcard matching and referencing](/rules/page-rules/reference/wildcard-matching/). | All | | Host Header Override | Apply a specific host header. | Enterprise | | IP Geolocation Header | Cloudflare adds a `CF-IPCountry` HTTP header containing the country code that corresponds to the visitor. | All | -| [Mirage](/speed/optimization/images/mirage/) | Turn on or off **Mirage** (deprecated). | Pro and above | | [Opportunistic Encryption](/ssl/edge-certificates/additional-options/opportunistic-encryption/) | Turn on or off the **Opportunistic Encryption**.  | All | | [Origin Cache Control](/cache/concepts/cache-control/) | Origin Cache Control is enabled by default for Free, Pro, and Business domains and disabled by default for Enterprise domains. | All | | Origin Error Page Pass-thru | Turn on or off Cloudflare error pages generated from issues sent from the origin server. If enabled, this setting triggers error pages issued by the origin. | Enterprise | diff --git a/src/content/docs/rules/reference/page-rules-migration.mdx b/src/content/docs/rules/reference/page-rules-migration.mdx index 655c3c2f65796a6..2f7fd9b5f3aa5ed 100644 --- a/src/content/docs/rules/reference/page-rules-migration.mdx +++ b/src/content/docs/rules/reference/page-rules-migration.mdx @@ -97,7 +97,6 @@ Also, to streamline common configurations, the Cloudflare dashboard now includes | Forwarding URL | Redirect Rules (Single Redirects) | [Migrate Forwarding URL](#migrate-forwarding-url) | | Host Header Override | Origin Rules | [Migrate Host Header Override](#migrate-host-header-override) | | IP Geolocation Header | Transform Rules (Managed Transforms) | [Migrate IP Geolocation Header](#migrate-ip-geolocation-header) | -| Mirage (deprecated) | Configuration Rules | [Migrate Mirage](#migrate-mirage) | | Opportunistic Encryption | Configuration Rules | [Migrate Opportunistic Encryption](#migrate-opportunistic-encryption) | | Origin Cache Control | Cache Rules | [Migrate Origin Cache Control](#migrate-origin-cache-control) | | Origin Error Page Pass-thru | Cache Rules | [Migrate Origin Error Page Pass-thru](#migrate-origin-error-page-pass-thru) | @@ -629,7 +628,7 @@ You configured a Page Rule turning off Cloudflare Apps (deprecated) for all subd The **Disable Performance** setting is deprecated. Any Page Rules with this setting will not be migrated. ::: -This Page Rules setting turned off Mirage (deprecated), Polish, and Rocket Loader. You can still turn on or off relevant Cloudflare features one by one using Configuration Rules. +This Page Rules setting turned off Polish and Rocket Loader. You can still turn on or off relevant Cloudflare features one by one using Configuration Rules. @@ -644,7 +643,7 @@ You configured a Page Rule with **Disable Performance** (deprecated) for all sub -1. [Create a configuration rule](/rules/configuration-rules/create-dashboard/) to disable Mirage, Polish, and Rocket Loader for any hostname containing `example.com`: +1. [Create a configuration rule](/rules/configuration-rules/create-dashboard/) to disable Polish and Rocket Loader for any hostname containing `example.com`: - **When incoming requests match**: Custom filter expression - Using the Expression Builder:
@@ -652,7 +651,6 @@ You configured a Page Rule with **Disable Performance** (deprecated) for all sub - Using the Expression Editor:
`(http.host contains "example.com")` - **Then the settings are**: - - **Mirage**: Off - **Polish**: _Off_ - **Rocket Loader**: Off @@ -1007,47 +1005,6 @@ You configured a Page Rule adding a `CF-IPCountry` HTTP header, for all requests
-### Migrate Mirage (deprecated) {/* migrate-mirage */} - - - -**Context:** - -You configured a Page Rule turning off Mirage (deprecated) for all subdomains of `example.com` and the `example.com` domain itself: - -- **URL**: `*example.com/*` -- **Setting**: _Mirage_ -- **Value**: Off - -**How to migrate**: - - - -1. [Create a configuration rule](/rules/configuration-rules/create-dashboard/) to turn off Mirage for any hostname containing `example.com`: - - - **When incoming requests match**: Custom filter expression - - Using the Expression Builder:
- `Hostname contains "example.com"` - - Using the Expression Editor:
- `(http.host contains "example.com")` - - **Then the settings are**: - - **Setting**: Mirage - - **Value**: Off - -2. Turn off your existing Page Rule and validate the behavior of the configuration rule you created. - -3. If your tests succeed, delete the existing Page Rule. - -
- -
- -| Page Rules configuration | Migrate to a configuration rule | -| -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -| ![Example Page Rule with 'Mirage' setting](~/assets/images/rules/reference/page-rules-migration/pr-mirage.png) | ![Configuration rule matching the 'Mirage > Off' setting of the example Page Rule](~/assets/images/rules/reference/page-rules-migration/pr-mirage-new.png) | - -
- ### Migrate Opportunistic Encryption diff --git a/src/content/docs/speed/optimization/images/mirage.mdx b/src/content/docs/speed/optimization/images/mirage.mdx index 7f2bca3b66bd7bf..a69a31c5d372cb4 100644 --- a/src/content/docs/speed/optimization/images/mirage.mdx +++ b/src/content/docs/speed/optimization/images/mirage.mdx @@ -10,82 +10,37 @@ sidebar: label: Mirage badge: text: Deprecated - --- -import { FeatureTable, GlossaryTooltip, Render, DashButton} from "~/components" - :::caution[Deprecation notice] -Mirage was deprecated on September 15, 2025. -As an alternative, Cloudflare recommends using [lazy loading](/images/tutorials/optimize-mobile-viewing/) and [responsive images](/images/transform-images/make-responsive-images/) to optimize image performance for all devices. -::: - -Cloudflare Mirage reduces bandwidth used by images in mobile browsers. It can accelerate loading of image-heavy websites on very slow mobile connections and HTTP/1. - -It does this by: - -* Replacing images with low-resolution thumbnails, which are bundled together into one file. -* Acting as a lazy loader, deferring loading of higher-resolution images until they become visible. - -JavaScript must be enabled for Mirage to work. - -*** - -## Comparison - -* [Polish](/images/polish/) seamlessly optimizes images for all browsers, not only mobile, and keeps images at full resolution. -* [Image Resizing](/images/transform-images/) together with `loading="lazy"` and `srcset` HTML attributes can achieve similar results as Mirage, but requires markup changes to implement. - -## Availability +Mirage was deprecated on September 15, 2025 and is no longer available. - - -*** - -## Image formats compatible with Mirage - -Mirage will work with the following image formats: - -* `.jpg` -* `.jpeg` -* `.png` -* `.gif` -* `.img` - -*** - -## Enable Mirage - -:::note - -If you send a Content Security Policy (CSP) header that restricts where scripts can be loaded, you will need to ensure `ajax.cloudflare.com` is enabled. For example, to allow scripts from your own domain and `ajax.cloudflare.com` enter the following: -`script-src 'self' ajax.cloudflare.com;` +As an alternative, Cloudflare recommends using [lazy loading](/images/tutorials/optimize-mobile-viewing/) and [responsive images](/images/transform-images/make-responsive-images/) to optimize image performance for all devices. ::: -To enable Mirage image optimization for your entire domain: - -1. In the Cloudflare dashboard, go to the **Speed** > **Settings** page. - - - -3. Go to **Image Optimization**. -4. For **Mirage**, switch the toggle to **On**. +## What was Mirage? - +Cloudflare Mirage was a mobile image optimization feature that reduced bandwidth usage and accelerated image loading on slow mobile connections and HTTP/1. -*** +Mirage worked by: -## Test Mirage +- Replacing images with low-resolution thumbnails bundled together into one file. +- Acting as a lazy loader, deferring loading of higher-resolution images until they become visible. -Mirage's features for Mobile Browser optimization are triggered based on high latency and poor network connections. You can test Mirage by making a request to your domain using a mobile [user-agent string](http://en.wikipedia.org/wiki/User_agent) and one of the following flags with your domain in your mobile browser: +## Why was it deprecated? -`EXAMPLE.COM/?forcepreload` +Modern web standards and browser capabilities have evolved to provide native support for many of Mirage's features: -To run the pre-loader only and serve degraded images on the page enter: +- Native lazy loading with the `loading="lazy"` HTML attribute. +- Responsive images using `srcset` and `` elements. +- HTTP/2 and HTTP/3 providing better performance. +- Improved mobile networks reducing the need for aggressive optimization. -`EXAMPLE.COM/?forcepreloadonly` +## Migration path -Here is an example where Mirage 2 is triggered by a `?forcepreloadonly` flag. The notable image degradation is a sign that Mirage is working: +Instead of Mirage, use: -![Blog post regarding the launch of Mirage. -](~/assets/images/support/hc-import-219178057_forcepreloadonly.png) +- **[Polish](/images/polish/)** - Seamlessly optimizes images for all browsers, not only mobile, and keeps images at full resolution. +- **[Image Resizing](/images/transform-images/)** - Combined with `loading="lazy"` and `srcset` HTML attributes, provides modern responsive image delivery. +- **[Lazy loading guide](/images/tutorials/optimize-mobile-viewing/)** - Learn how to implement native lazy loading. +- **[Responsive images guide](/images/transform-images/make-responsive-images/)** - Create images that adapt to different devices. diff --git a/src/content/docs/speed/optimization/images/troubleshooting/troubleshooting-missing-images.mdx b/src/content/docs/speed/optimization/images/troubleshooting/troubleshooting-missing-images.mdx index 5e34ff7b1a6a138..19cac0a34d0b2f9 100644 --- a/src/content/docs/speed/optimization/images/troubleshooting/troubleshooting-missing-images.mdx +++ b/src/content/docs/speed/optimization/images/troubleshooting/troubleshooting-missing-images.mdx @@ -14,6 +14,5 @@ To troubleshoot: * [Purge cache](/cache/how-to/purge-cache) for the URL of the missing image file. * [Temporarily pause Cloudflare](/fundamentals/manage-domains/pause-cloudflare/). * Disable [Rocket Loader](/speed/optimization/content/rocket-loader/enable/). - * Disable [Mirage](/speed/optimization/images/mirage/#enable-mirage) (deprecated). 2. Retest the image load in a private browser tab. 3. If the issue is not fixed, try another of the actions suggested in Step 1. diff --git a/src/content/docs/support/third-party-software/content-management-system-cms/speed-up-wordpress-and-improve-performance.mdx b/src/content/docs/support/third-party-software/content-management-system-cms/speed-up-wordpress-and-improve-performance.mdx index a8d1690ab837fa5..e600958a302b190 100644 --- a/src/content/docs/support/third-party-software/content-management-system-cms/speed-up-wordpress-and-improve-performance.mdx +++ b/src/content/docs/support/third-party-software/content-management-system-cms/speed-up-wordpress-and-improve-performance.mdx @@ -19,8 +19,6 @@ Images can be incredibly costly to page load times; fortunately, Cloudflare can After enabling [**Polish**](/images/polish/), you can dramatically improve image and web page load times by compressing images and stripping metadata. Lossless will strip most metadata (`EXIF` data, for example) but doesn't change the image detail. Lossy will strip most metadata and compresses images by approximately 48 percent. -If you wish to optimise your site for mobile visitors, enabling [**Mirage**](/speed/optimization/images/mirage/) (deprecated) will allow images to be optimised and delivered based on the end-users network connection and device type. - ### Enable HTTP/2 **HTTP/2** allows for a multitude of performance features including multiplexing, header compression. In order to enable HTTP/2 on your WordPress site, ensure that your site is loaded over HTTPS. diff --git a/src/content/docs/support/third-party-software/content-management-system-cms/what-settings-are-applied-when-i-click-optimize-cloudflare-for-wordpress-in-cloudflares-wordpress-plugin.mdx b/src/content/docs/support/third-party-software/content-management-system-cms/what-settings-are-applied-when-i-click-optimize-cloudflare-for-wordpress-in-cloudflares-wordpress-plugin.mdx index 75c34e4aa14df15..eefed927b9686d4 100644 --- a/src/content/docs/support/third-party-software/content-management-system-cms/what-settings-are-applied-when-i-click-optimize-cloudflare-for-wordpress-in-cloudflares-wordpress-plugin.mdx +++ b/src/content/docs/support/third-party-software/content-management-system-cms/what-settings-are-applied-when-i-click-optimize-cloudflare-for-wordpress-in-cloudflares-wordpress-plugin.mdx @@ -22,5 +22,5 @@ If you are using Cloudflare's WordPress plugin, our "Optimize Cloudflare for Wor | IP Geolocation | On | | Email Address Obfuscation | On | | Hotlink Protection | Off | -| Image optimization (Polish and Mirage) | Off (unless on Pro or higher plan) | +| Image optimization (Polish) | Off (unless on Pro or higher plan) | | Rocket Loader | Off | diff --git a/src/content/docs/workers/configuration/workers-with-page-rules.mdx b/src/content/docs/workers/configuration/workers-with-page-rules.mdx index 52a67307c839164..1606e286cbad94a 100644 --- a/src/content/docs/workers/configuration/workers-with-page-rules.mdx +++ b/src/content/docs/workers/configuration/workers-with-page-rules.mdx @@ -44,7 +44,6 @@ The following Page Rules may not work as expected when an incoming request is ma * [Forwarding URL](/workers/configuration/workers-with-page-rules/#forwarding-url) * Host Header Override * [IP Geolocation Header](/workers/configuration/workers-with-page-rules/#ip-geolocation-header) -* Mirage (deprecated) * [Origin Cache Control](/workers/configuration/workers-with-page-rules/#origin-cache-control) * [Rocket Loader](/workers/configuration/workers-with-page-rules/#rocket-loader) * [Security Level](/workers/configuration/workers-with-page-rules/#security-level) diff --git a/src/content/docs/workers/runtime-apis/request.mdx b/src/content/docs/workers/runtime-apis/request.mdx index ee382a96c6f3e93..3801e388a7fb576 100644 --- a/src/content/docs/workers/runtime-apis/request.mdx +++ b/src/content/docs/workers/runtime-apis/request.mdx @@ -134,10 +134,6 @@ Invalid or incorrectly-named keys in the `cf` object will be silently ignored. C * Enables [Image Resizing](/images/transform-images/) for this request. The possible values are described in [Transform images via Workers](/images/transform-images/transform-via-workers/) documentation. -* `mirage` - - * Whether [Mirage](https://www.cloudflare.com/website-optimization/mirage/) (deprecated) should be enabled for this request, if otherwise configured for this zone. Defaults to `true`. - * `polish` * Sets [Polish](https://blog.cloudflare.com/introducing-polish-automatic-image-optimizati/) mode. The possible values are `lossy`, `lossless` or `off`. diff --git a/src/content/partials/speed/brotli-compression-warning.mdx b/src/content/partials/speed/brotli-compression-warning.mdx index 97dfa5ee83bede2..0e8cb285114246c 100644 --- a/src/content/partials/speed/brotli-compression-warning.mdx +++ b/src/content/partials/speed/brotli-compression-warning.mdx @@ -11,7 +11,6 @@ Even when using the same compression algorithm end to end (between your origin s - [Automatic HTTPS Rewrites](/ssl/edge-certificates/additional-options/automatic-https-rewrites/) - [Cloudflare Fonts](/speed/optimization/content/fonts/) - [Email Address Obfuscation](/waf/tools/scrape-shield/email-address-obfuscation/) -- [Mirage](/speed/optimization/images/mirage/) (deprecated) - [Polish](/images/polish/) - [Rocket Loader](/speed/optimization/content/rocket-loader/) - [JavaScript detections](/bots/additional-configurations/javascript-detections/) diff --git a/src/content/plans/index.json b/src/content/plans/index.json index 77d303e501b04e5..f1964cddcfc447f 100644 --- a/src/content/plans/index.json +++ b/src/content/plans/index.json @@ -2438,20 +2438,6 @@ } } }, - "mirage": { - "title": "Mirage (deprecated)", - "link": "/speed/optimization/images/mirage/", - "properties": { - "availability": { - "title": "Availability", - "summary": "Pro and above", - "free": "No", - "pro": "Yes", - "biz": "Yes", - "ent": "Yes" - } - } - }, "polish": { "title": "Polish", "link": "/images/polish/",