Skip to main content

Migrating from IISpeed: what stays, what changes

Updated 2026-05-20 · We-Amp B.V. · about a 7-minute read

IISpeed has been folded into mod_pagespeed 1.1, a single 1.x line that also covers nginx, Apache, and Envoy. Customer-facing, the change is smaller than it sounds: same optimization library underneath, same configuration directives, free license transfer. This page is the practical walkthrough for moving an existing IISpeed install across.

What actually changed

IISpeed shipped as a standalone Windows installer with its own version cadence. mod_pagespeed 1.1 ships as a multi-port release that includes the IIS module alongside the nginx, Apache, and Envoy ports. The IIS binary itself is the direct continuation of the IISpeed codebase: the request-handling module, the optimization filters, and the cache machinery are the same code, repackaged as a 1.1 release artifact. See the IISpeed successor page on modpagespeed.com for the longer write-up.

What stays the same

  • Your license. Existing IISpeed license keys transfer to mod_pagespeed 1.1 at no cost. Send the key to license@we-amp.com and we issue the 1.1 token in return. Transfers are handled manually, so reply time depends on which week of the month you catch us; we aim to keep the queue short.
  • The configuration directives. The filter names, rewrite levels, and per-vhost settings carry over byte-for-byte. A working IISpeed applicationHost.config snippet drops straight into the mod_pagespeed 1.1 install. We have not renamed any public-facing directive.
  • The filter set. The same filters do the same work: recompress_images, convert_jpeg_to_webp, resize_images, prioritize_critical_css, lazyload_images, insert_image_dimensions, defer_javascript, combine_javascript, extend_cache, and the rest of the published filter list.
  • The admin console URL. License activation, license status, and runtime stats live at /pagespeed_global_admin in 1.1, the same path the recent IISpeed builds used.

What changes

  • The installer name. The MSI is mod_pagespeed-1.1.x-iis.msi rather than the old IISpeed-x.y.z.msi. It registers under a different ProductCode, which is why the migration involves an uninstall step (below).
  • The documentation URL. All iispeed.com/documentation/* URLs 301 to the corresponding page on modpagespeed.com/1.1/docs/. Bookmarks keep working; the canonical location moved.
  • The release cadence. mod_pagespeed 1.1 cuts releases as a multi-port unit, so an IIS-only fix may ship alongside an nginx change. The IIS module gets its own QA cycle in the release pipeline.

The migration, in order

1. Note your current configuration

Before you uninstall anything, grab the IISpeed configuration block out of %SystemRoot%\System32\inetsrv\config\applicationHost.config, or your per-site web.config if you scoped IISpeed per-application. Copy the <ModPagespeed> section verbatim into a text file. You will paste it back after the 1.1 install.

2. Optionally drain the cache

IISpeed and 1.1 use the same on-disk cache format, so the default path is to leave the cache directory in place; 1.1 reads it as-is. Drain only if you are also changing rewrite levels in the same change window and want to verify the new behaviour from scratch: stop IIS, delete the contents of the cache directory (default C:\ProgramData\IISpeed\cache), and restart.

3. Uninstall IISpeed

Control Panel → Programs and Features → uninstall IISpeed. The uninstaller removes the native module registration from IIS and deletes the program files; it leaves the cache directory and configuration files in place. An iisreset at the end guarantees no worker process is still holding the old module.

4. Install mod_pagespeed 1.1 for IIS

Download the IIS MSI from modpagespeed.com/1.1/ and run it on the Windows Server box. The installer registers the native module, drops a default ModPagespeed block into applicationHost.config, and creates the program files under %ProgramFiles%\mod_pagespeed. A second iisreset picks up the new module.

5. Paste your configuration back

Open the new applicationHost.config, replace the default <ModPagespeed> block with the IISpeed configuration you saved in step 1, and reload IIS. The directives are identical, so nothing in the block needs editing. If you ran IISpeed with a custom cache path, keep the path; 1.1 reads the existing cache directory without rewriting it.

6. Apply your license

Browse to https://your-site/pagespeed_global_admin on the server itself (the admin console is bound to localhost by default; open it from a browser running on the Windows box, or relax the bind in the module configuration if you need it remotely). Paste the 1.1 license token we sent in exchange for your IISpeed key. The admin console reports the license state and the active filter set so you can confirm everything wired up.

7. Verify the response stream

From a separate machine, request a page that has an image-heavy above-the-fold section:

curl -sI -H "Accept: image/webp,image/avif,*/*" https://your-site/hero.jpg

A successful install returns a Content-Type of image/webp (or image/avif if the worker produced an AVIF variant) and an X-Mod-Pagespeed response header carrying the 1.1 version string. If you still see image/jpeg, the module loaded but the rewrite did not run; see troubleshooting below.

Troubleshooting the common stumbles

The module loaded but pages are not optimized

Three usual suspects: rewrite level set to PassThrough (default during install; flip it to CoreFilters or your prior IISpeed level); a Disallow directive that excludes the site root; or the IIS application pool running under an identity that cannot write to the cache directory. The admin console's Statistics tab tells you which one: low or zero image_rewrites and image_webp_rewrites means the rewrite never ran; non-zero resource_url_domain_rejections points at a Disallow or domain-allowlist mismatch.

"Module DLL could not be registered"

Almost always an IISpeed remnant: the old native module is still registered in applicationHost.config even though the program files are gone. Search for name="IISpeedModule" in the config, remove the line, run iisreset, and re-run the 1.1 MSI.

License token rejected as invalid

Confirm you are pasting the 1.1 token, not the legacy IISpeed key. They look superficially similar (both are long base64-ish strings), but the 1.1 token is what we send in the license-transfer reply. If you cannot find the reply, mail license@we-amp.com with the IISpeed key and we will re-send.

Cache directory permission errors after install

The 1.1 IIS module runs as the IIS application pool identity, same as IISpeed did. If you moved the cache to a non-default path, the new installer does not know about it. Grant the pool identity write access to the directory, or move the cache back under C:\ProgramData\mod_pagespeed\cache.

Rollback path

If something goes sideways, the previous IISpeed MSI installer is the rollback. Uninstall mod_pagespeed 1.1, reinstall the IISpeed MSI you held onto, and paste your configuration back. The license transfer is non-destructive on our end: your IISpeed license key remains valid for the IISpeed binary, so reverting does not require a second support ticket. Once you are stable on 1.1, you can discard the old installer.

When ASP.NET Core is part of the picture

If you are also moving an ASP.NET Core application off IIS toward Kestrel-only deployment, the 1.1 IIS module is the wrong layer to carry forward. The WeAmp.PageSpeed.AspNetCore NuGet package wraps the same optimization library as middleware that runs inside the ASP.NET Core pipeline: no IIS, no separate module. Our ASP.NET Core on IIS post covers the architectural shape; the migration itself is a different path than the one on this page.

Where to get help

License transfers and migration questions go to license@we-amp.com. We read every mail; we do not run an outbound sales team and we do not gate anything on a sales call. If you want to measure the IIS module against your own pages before committing, install and run it unlicensed: it fully optimizes and just adds an X-PageSpeed-Warn: unlicensed header. When you are ready for production, buy a license at modpagespeed.com/pricing — an immediate-charge subscription via FastSpring. A commercial license is required for production use.

Install & run, or apply your license

New install: download mod_pagespeed 1.1 for IIS and run it — it optimizes immediately, even unlicensed (it just adds an X-PageSpeed-Warn: unlicensed header). When you go to production, buy a license at modpagespeed.com/pricing. Existing IISpeed customer: email license@we-amp.com with your IISpeed key for the no-cost 1.1 transfer.

A commercial license is required for production use.

Related