GumletGumlet logo
Book a DemoSign Up
Pricing
Login
Book a Demo
Signup

Image Optimization

12 min read

How to Migrate from Imgix Without Breaking URLs, SEO, or Production Traffic

Switching from Imgix? This is the complete migration guide: full parameter mapping, CNAME cutover method, zero-downtime checklist, and handling hardcoded URLs. No broken images, no SEO risk, no surprises.

How to Migrate from Imgix Without Breaking URLs, SEO, or Production Traffic

Nitin Meena 

Updated on Mar 19, 2026
How to Migrate from Imgix Without Breaking URLs, SEO, or Production Traffic

Share this Article

Summarize and analyze this article with
ChatGPTPerplexityGrokGoogle AIClaude

The concern engineers raise most often when evaluating an image CDN switch is predictable: what happens to the URLs?

Imgix hostnames get embedded in templates, hardcoded into CMS records, referenced in markdown files, and buried in React components. A broken image URL does not throw a visible error.

It produces a silent 404 that degrades your Largest Contentful Paint (LCP) score, stalls page load, and can drop images from Google Image Search results without a single monitoring alert firing.

That fear is valid. It is also based on an assumption that does not hold for this specific migration. Switching to Gumlet does not require a structural URL change. Gumlet occupies the same architectural position as Imgix: it sits between your origin storage and your users, fetches images from your existing S3, GCS, or web proxy origin, applies on-the-fly transformations through URL query parameters, and serves results through its CDN.

The transformation convention is identical. Most parameters map directly. For most stacks, the migration is a hostname swap plus an afternoon of careful validation.

Images represent the largest single contributor to page weight across both desktop and mobile, according to the HTTP Archive Web Almanac, making your image CDN a direct input into Core Web Vitals scores and, by extension, search rankings. A migration that introduces even a brief window of broken image delivery can move LCP in the wrong direction. The method in this guide is designed to keep that window at zero.

To be specific about scope: this migration does not require re-uploading or moving image files, changing your URL structure from query-string to path-based, rewriting how your application constructs image URLs beyond updating the hostname, or any production downtime if you follow the staged CNAME cutover method described in this article.

Key Takeaways

  • Migrating from Imgix to Gumlet does not require re-uploading files, restructuring URLs, or rewriting your transformation logic.
  • Gumlet uses the same query-string-based parameter convention as Imgix, and most parameters map directly with identical names.
  • The migration is a hostname swap plus a parameter audit, staged safely through a CNAME cutover on a non-production subdomain first.
  • Unsupported parameters are discarded gracefully. Images are still served.
  • Done carefully, the full process takes one to two days of engineering time for most stacks.

How Imgix URLs are Structured

Understanding the anatomy of an Imgix URL is not introductory material here. It is the reference frame you need to verify transformation parity during staging, and it is the structure your Gumlet URLs will mirror almost exactly.

A standard Imgix URL looks like this:

https://your-source.imgix.net/path/to/image.jpg?w=800&h=600&fit=crop&fm=webp&q=80

The subdomain (your-source.imgix.net) is the only component that changes during the migration. The image path and every query string parameter remain the same. A post-migration Gumlet URL for the same image looks like this:

https://your-source.gumlet.io/path/to/image.jpg?w=800&h=600&fit=crop&format=webp&q=80

The only differences are the hostname and one parameter name (format instead of fm, though Gumlet accepts both). This is what separates a Gumlet migration from switching to a platform that uses path-based transformation syntax, where w=800&h=600&fit=crop needs to be rewritten as something like /c_crop,w_800,h_600/ embedded inside the URL path.

A path-based migration requires full URL restructuring, codebase refactoring, and carries meaningful SEO implications for any image URLs that have been indexed. With Gumlet, you change the hostname. That distinction determines whether this is one- to two-day engineering work or a multi-week refactoring project.

Imgix Parameter Mapping to Gumlet

Before touching DNS or your codebase, work through the table below to compare it with your actual parameter usage. Pull a representative sample of live Imgix URLs from your CDN logs or analytics, extract every unique parameter you are using, and cross-reference each one here. 

This audit is the foundation of a clean migration, and it is the step most engineers underestimate.

Imgix Parameter Gumlet Equivalent Notes
w w Identical
h h Identical
fit fit Identical.
*Disclaimer: Verify value range during staging.*
crop crop Identical. Includes entropy, faces, edges, center.
fm format Both fm and format are accepted by Gumlet.
q q Identical.
dpr dpr Identical.
ar ar Identical.
rect rect Identical.
blur blur Identical.
*Disclaimer: Verify value range during staging.*
sharp sharp Identical.
pad pad Identical.
trim trim Identical.
compress compress Identical.
enhance enhance Identical.
sat sat Identical.
bri bri Identical.
con con Identical.
gam gam Identical.
hue hue Identical.
invert invert Identical.
cs cs Identical.
chromasub chromasub Identical.
page page Identical.
txt txt Identical.
txt-align txt-align Identical.
txt-color txt-color Identical.
txt-font txt-font Identical.
txt-size txt-size Identical.
txt-pad txt-pad Identical.
txt-lead txt-lead Identical.

When an unsupported parameter is passed to Gumlet, it is silently discarded. The image is still served with all supported transformations applied. Nothing breaks. 

That said, if an unsupported parameter is doing meaningful work in your pipeline, such as generating a visual overlay or handling a specific color-extraction operation, you need to identify it before cutover, not after. 

Gumlet adds parameters on request. If you are relying on a parameter not on this list, contact the team at hello@gumlet.com before committing to a migration date.

Your parameters are confirmed. Your origin is already compatible. The next step is to create your Gumlet source and point it at the same storage bucket that Imgix is using today.
Sign up for Gumlet and create your first image source 
No files to move, no URL structure to change.

Step-by-Step Migration Walkthrough

The steps below are in execution order. Each one is designed to surface problems before they reach production traffic, which is the entire point of a staged migration. Do not skip ahead.

Step 1: Complete the Parameter Audit

Pull your Imgix request logs from the past 30 days and extract every unique parameter combination you are actively sending. A quick approach is to use grep (Global Regular Expression Print) on your access logs to find Imgix hostnames and parse the query strings.

Cross-reference every parameter against the table above. Note any parameters outside the supported set, and decide on each: remove it, find a Gumlet-native equivalent, or contact Gumlet support before proceeding. Keep the representative URL set from this audit. You will use it for staging validation in Step 3.

Step 2: Create a Gumlet Source

In the Gumlet dashboard, navigate to Sources under Images, click "Create New Source," select Imgix as the source type, and point it at the same origin Imgix is currently using. Your image files do not move.

If your origin is an S3 bucket, provide the bucket name and region. If Imgix is pulling from a web server or public URL, use Gumlet's web proxy source type with the same base URL. Gumlet will assign a delivery hostname in the format your-source-name.gumlet.io.

If your application uses signed URLs, configure Gumlet's signed URL feature at the source level in the dashboard security settings before moving to staging validation. Do not cut over signed URL flows without testing them independently.

Step 3: Set up a Staging CNAME and Validate Transformation Parity

Create a non-production subdomain, such as images-staging.yourdomain.com, and point it at your Gumlet delivery hostname as a CNAME (Canonical Name) with a TTL (Time to Live) of 300 seconds.

Take your representative URL set from the audit, substitute the hostname, and compare outputs directly. The fm to format substitution is the only parameter name change most stacks encounter:

Original Imgix URL:

https://your-source.imgix.net/hero/banner.jpg?w=1200&h=630&fit=crop&fm=webp&q=80

Gumlet staging URL:

https://images-staging.yourdomain.com/hero/banner.jpg?w=1200&h=630&fit=crop&format=webp&q=80

Pay particular attention to fit=crop combined with entropy or faces-based cropping values, format auto-detection behavior, and DPR handling. These are the most common points of divergence between image CDN implementations.

Run a Google PageSpeed Insights test on your most image-heavy page using staging URLs substituted into a local or preview build, and record the LCP score as your pre-migration baseline.

Establish Your Baseline Before You Cut Over
Gumlet's free Website Image Analyzer runs the same Lighthouse engine as PageSpeed Insights but produces an image-specific audit: format compliance, compression levels, sizing against viewport, lazy load coverage, and alt tag presence, all in one report.
Run it against your current Imgix-served pages now, and run it again post-cutover to confirm your optimization gains. It takes 30 seconds and requires no account.

Step 4: Execute the DNS Cutover

You have two options depending on your stack. If your application constructs image URLs from an environment variable or config value, update it to your Gumlet delivery hostname and deploy. This is the cleanest path and requires no DNS change on your main domain.

If image URLs are hardcoded in templates or stored as static strings in a CMS, you need to update the CNAME record for your production image subdomain. Lower the TTL to 300 seconds at least one hour before your cutover window, update the CNAME target to your Gumlet delivery hostname, confirm propagation, and restore the TTL to 3600 seconds once the migration is stable.

Schedule the cutover during your lowest-traffic window, typically overnight or early morning in your primary user timezone.

Step 5: Warm the Cache and Monitor for 24 Hours

Immediately after cutover, run a warming pass on your critical image paths at the viewport widths and DPR combinations most common in your analytics. Hit your top 10 to 20 image variants with curl(Client URL) and confirm 200 responses with decreasing response times on repeated requests.

Then monitor: image 4xx error rate, LCP on key pages against your baseline, CDN cache hit rate in the Gumlet dashboard, and format distribution confirming WebP and AVIF are serving to modern browser clients. Keep your Imgix source active for at least 72 hours before deprecating it. Rollback, if ever needed, is a single CNAME revert or environment variable change.

Keeping Existing Imgix URLs Intact During the Transition

The walkthrough above covers the standard case, where you control your image URLs and can update them through a config change or CNAME update. Some URLs have escaped that boundary. They are embedded in user-generated content stored in a database, referenced in email campaigns that have already been sent, linked from external sites, or indexed in Google Image Search. 

For these, you need the old URL pattern to keep resolving correctly without manually updating every reference.

The most broadly applicable solution is a Cloudflare Worker, which gives you edge-level interception of image requests with no changes to your origin infrastructure. The following Worker rewrites the hostname and handles the fm to format parameter remapping in a single function:

Deploy this Worker on the route matching your image subdomain, and every request hitting the old URL pattern is transparently proxied through Gumlet with no change required to the URL itself. If you are running Nginx and your images are served through a custom subdomain you control, a proxy_pass rule achieves the same result at the infrastructure level.

On SEO: image file URLs are not indexed by Google the same way HTML page URLs are. Changing your image CDN hostname does not create crawl errors on your indexed pages. If your images appear in Google Image Search, the source hostname in those results updates over a normal recrawl cycle of one to four weeks.

Update your image sitemap after cutover, then resubmit it in Google Search Console to accelerate the recrawl. That is the only SEO action required post-migration.

Why Migrating from Cloudinary is Structurally Harder Compared to Gumlet

Teams leaving Imgix often evaluate Gumlet and Cloudinary simultaneously. Both are capable image delivery platforms, but from a migration engineering standpoint, they are not equivalent destinations. The structural difference in how each platform handles transformations has a direct impact on how much engineering work the migration requires, how much SEO risk it carries, and how realistic a zero-downtime cutover is.

Cloudinary uses a path-based transformation syntax. Transformations are embedded directly inside the URL path, not passed as query string arguments. A standard Cloudinary delivery URL looks like this:

https://res.cloudinary.com/your-cloud/image/upload/c_crop,w_800,h_600,f_auto,q_80/products/shoe.jpg

Compare that with the equivalent Imgix URL:

https://your-source.imgix.net/products/shoe.jpg?w=800&h=600&fit=crop&fm=auto&q=80

Because transformations in Cloudinary are structural path components, you cannot do a hostname swap. Every URL in your codebase, CMS, and any external links referencing your images needs to be rewritten from query-string format to Cloudinary's path-segment format.

For applications that construct image URLs programmatically, this means refactoring the transformation-building logic. For a CMS where image URLs are stored as static strings, it means a database migration touching every image reference. For external links and user-generated content, it means either those URLs break or you maintain a permanent translation proxy layer.

The SEO exposure is also wider.

With Gumlet, the URL change is limited to the hostname. The path and query string remain identical, keeping the migration surface area minimal. With Cloudinary, the entire URL structure changes for every transformed image. This is what makes Gumlet the best Imgix alternative.

Cloudinary is a mature platform with genuine strengths in DAM workflows, AI-driven transformations, and multi-channel publishing, and for organizations that genuinely need those capabilities, the migration complexity is a justified one-time cost.

For teams whose primary goal is a reliable image delivery layer with a clean exit from Imgix and a zero-downtime cutover, the query-string compatibility between Imgix and Gumlet is the deciding factor.

Zero-Downtime Production Migration Checklist

Run through this checklist with the engineer executing the migration and the one on standby for rollback before the cutover window opens. Every item should be confirmed before moving to the next.

1. Pre-migration

  1. Parameter audit complete: All critical parameters confirmed as supported; decisions made for any unsupported ones.
  2. Gumlet source created: Origin fetch verified with a live 200 response through the Gumlet delivery hostname.
  3. Staging CNAME live: DNS propagation confirmed with dig or a DNS checker tool.
  4. Transformation parity verified: Top 20 production URL patterns tested through staging, output confirmed equivalent to Imgix.
  5. LCP baseline recorded: Google PageSpeed Insights test run on key pages using staging URLs.
  6. Signed URL configuration tested independently: If applicable, verified on staging source before production cutover.
  7. Rollback procedure documented: Original CNAME value or environment variable recorded and accessible.

2. Cutover Window

8. TTL lowered to 300 seconds: Done at least one hour before the cutover window opens.

9. Cutover window confirmed: Scheduled during the lowest-traffic period in your primary user timezone.

10. CNAME or environment variable updated: Deployment confirmed live and resolving to Gumlet.

11. Cache warming executed: Critical image paths hit at key viewport widths, 200 responses confirmed.

3. Post-Cutover Monitoring (24 hours)

12. Image 4xx error rate stable: Consistent with pre-migration baseline.

13. LCP post-cutover recorded: Within the acceptable range of the pre-migration baseline.

14. Format distribution confirmed: WebP and AVIF serving to modern browser clients in Gumlet analytics.

15. DNS TTL restored: Returned to 3600 seconds after 24 hours of clean data.

16. Imgix source kept active for 72 hours: Deprecated only after confirming no production traffic is still routing through it.

Before you execute the cutover, keep the official Imgix to Gumlet migration docs open for parameter compatibility reference and source configuration details. If you encounter a scenario not covered in this guide, Gumlet's support team is reachable at hello@gumlet.com.
Sign up for Gumlet and have your staging domain live for testing within the hour. Your origin stays exactly where it is.

Your Imgix Migration Is One Hostname Swap Away

For most stacks, an Imgix-to-Gumlet migration is one to two days of engineering work: an audit, a staging validation, and a hostname change.

The structural compatibility between the two platforms, specifically the shared query-string-based transformation convention and near-complete parameter overlap, keeps the migration surface area narrow and the staged cutover clean. Follow the steps in this guide in order, run the checklist on cutover day, and this migration carries no more production risk than a routine DNS update.

Frequently Asked Questions

1. Can I migrate from Imgix to Gumlet without changing my image URLs?

In most cases, yes. If your images are served from a custom subdomain you control, such as images.yourdomain.com, that points to Imgix via CNAME, updating that CNAME to your Gumlet delivery hostname leaves every image URL identical from the outside. The change is entirely at the DNS layer. If images are served directly from an imgix.net subdomain without a custom domain in front of it, you will need to update the hostname in your application code or CMS, since you do not control the imgix.net DNS.

2. Does Gumlet support all Imgix URL parameters?

Gumlet supports the large majority of Imgix transformation parameters, including all of the most commonly used ones. Some advanced parameters around face detection, palette extraction, and certain watermarking operations are not yet supported. When an unsupported parameter is passed, it is silently discarded and the image is still served. Gumlet adds parameters on request, so contact the team before migration if you are relying on a parameter not in the compatibility table.

3. Will my Google-indexed images break if I switch from Imgix to Gumlet?

No. Image file URLs are not indexed by Google the same way HTML page URLs are, so a CDN hostname change does not create crawl errors on indexed pages. If your images appear in Google Image Search, the source hostname in those results updates over a normal recrawl cycle of one to four weeks. Update your image sitemap after cutover, then resubmit it through Google Search Console to accelerate the process.

4. How long does an Imgix to Gumlet migration take?

For a typical production implementation, the full process, including parameter audit, staging validation, and production cutover, takes one to two days of engineering time. Teams with very large CMS datasets or complex signed URL configurations may take longer using the gradual transition approach with a proxy layer. The cutover itself, once staging is validated, takes under an hour.

5. What happens to Imgix parameters that For a typical production implementation, the full process, including parameter audit, staging validation, and production cutover, takes one to two days of engineering time. does not support?

They are silently discarded. Gumlet does not return an error when it encounters an unsupported parameter. The image is served with all supported parameters applied and the unsupported ones ignored. The implication for migration is straightforward: complete your parameter audit before cutover so you know in advance which parameters, if any, will be discarded, and decide whether the result is acceptable or whether you need to request support for them first.

6. Can I run Imgix and Gumlet simultaneously during the migration?

Yes, and this is the recommended approach. The staged CNAME method in this guide is designed for exactly this. Your staging subdomain points at Gumlet while production continues pointing at Imgix. Validate parity on staging, cut over production when confident, and keep your Imgix source active for at least 72 hours after cutover in case you need to roll back quickly.

Similar readings

image-69afc177357de1000f253ea6
9 Imgix Alternatives That Let You Keep Your Origin on S3 and Still Deliver Fast Images
Posted on Mar 10, 2026
image-69aee720357de1000f253e83
Self Hosted vs Cloud Image Optimization: Imgix Alternatives Compared (2026 Guide)
Posted on Mar 09, 2026
image-69a083f1357de1000f253dd2
Imgix Pricing Explained: Hidden Costs and Smarter Alternatives
Posted on Feb 26, 2026
Need a better Video Hosting?

Get an all-in-one secure video platform at an excellent value.

Try for free

Need a better Video Hosting?Get an all-in-one secure video platform at an excellent value.  Try for free →

Ready to get started?

Sign up and start optimizing your videos by up to 57% with Gumlet. No credit card required. Reach out to contact sales or to get a custom pricing estimate that fits your needs.

Start now Contact sales →
Optimizing videos is hard, but our pricing is not
Simple per-minute pricing with no hidden fees.
Pricing details →
Effortlessly integrate Gumlet into your existing stack
Upload with API and set webhooks for output in minutes.
Integragtion guide →

Footer

Gumlet Company logo
ADDITIONAL
Video DRMOnline Video HostingOnline Video PlayerPrivate Video HostingEnterprise Video PlatformVideo MarketingVideo CDN
COMPARE
Vimeo AlternativeWistia AlternativeMux AlternativeCloudinary AlternativeImgix AlternativeImageKit AlternativeVdoCipher AlternativeMediaConvert AlternativeCloudflare Image AlternativeCloudflare Stream Alternative
USECASES
EnterpriseFitness CreatorsCourse CreatorsOnline RetailNews and MediaConsumer AppsSMBs
CASE STUDIES
Spinny Balance TVGrowthSchoolTata 1mgRepublic TVEthos Watches
RESOURCES
BlogLearnStartup Credits DocumentationHowdrm.worksBecome an AffiliateCommunityVideo ToolsImage Tools
COMPANY
PricingContact UsCustomersAbout UsCareersPress KitService Status
Gumlet aicp logoGumlet soc2 logoGumlet iso logo
Video DRMOnline Video HostingOnline Video PlayerPrivate Video HostingEnterprise Video PlatformVideo MarketingVideo CDN
Vimeo AlternativeWistia AlternativeMux AlternativeCloudinary AlternativeImgix AlternativeImageKit AlternativeVdoCipher AlternativeMediaConvert AlternativeCloudflare Image AlternativeCloudflare Stream Alternative
EnterpriseFitness CreatorsCourse CreatorsOnline RetailNews and MediaConsumer AppsSMBs
Spinny Balance TVGrowthSchoolTata 1mgRepublic TVEthos Watches
BlogLearnStartup Credits DocumentationHowdrm.worksBecome an AffiliateCommunityVideo ToolsImage Tools
PricingContact UsCustomersAbout UsCareersPress KitService Status

© 2025 Gumlet Pte. Ltd.

Privacy Policy

Terms of Service