Migrate from IISpeed
Last updated Edit this page View as Markdown
Move an IISpeed install to the mod_pagespeed IIS module: save the configuration, uninstall IISpeed, run the MSI, keep the cache, verify, roll back.
On this page
IISpeed is deprecated; its successor is the native IIS module that mod_pagespeed 2.1 ships, from the same code lineage. The move is an uninstall, an install and a check: your configuration files and your cache directory stay in place and keep working. The IIS package ships from the 1.15 packaging channel.
Before you start
- Save your configuration. Copy the
iiswebspeed.configfiles (the server-level one under%ProgramData%\We-Amp\IISWebSpeed\and any per-site file in a site’s physical root) somewhere safe. You will not need to edit them, but you want the copy if you roll back. - Keep the IISpeed installer you installed from. It is your rollback.
- Leave the cache. The module reads the cache directory IISpeed used; there is nothing to drain.
Steps
-
Uninstall IISpeed. Apps & features (or Programs and Features) → remove “IISpeed”, then run
iisresetso no worker process still holds the old module. The two modules register the same handler in IIS and cannot coexist; this step is not optional. -
Install the module. Download the signed MSI from the download page and run it, then
iisreset. The installer registers the module as a native HTTP module and creates the default cache directory at%ProgramData%\We-Amp\IISWebSpeed\Cache. Install on IIS has the requirements. -
Check that the configuration is read. The module looks for
pagespeed.configfirst andiiswebspeed.configsecond, in the site root and then at the server level, so your files are picked up as they are. Theiispeeddirective prefix is accepted alongsidepagespeedandModPagespeed. A cache path inherited from IISpeed under theIISWebSpeedtree keeps working, and each site’s cache subdirectory is created on first request. IIS configuration has the lookup order. -
Verify. On IIS the module emits
X-Page-Speed:(Invoke-WebRequest http://localhost/ -Method Head).Headers["X-Page-Speed"]Then open
/pagespeed_global_adminon the server itself: the Configuration page lists the active filters, so you can confirm your directives loaded. Is it working? has the other checks. -
Rename when convenient.
pagespeed.configtakes priority when both files exist in a directory; renameiiswebspeed.configtopagespeed.configat your own pace. No content changes are needed.
Common stumbles
- “Module DLL could not be registered” is almost always an IISpeed
remnant: the old native module is still registered in
applicationHost.configalthough its files are gone. Remove theIISpeedModuleentry, runiisreset, and run the MSI again. - Pages load but nothing is optimized. Check the rewrite level in your
configuration (
PassThroughoptimizes nothing), aDisallowthat excludes the site root, or an application pool identity that cannot write to the cache directory. The admin console’s Statistics page shows which: no image rewrites means the rewrite never ran;resource_url_domain_rejectionspoints at aDisallowor domain mismatch. - Combined resources return 404.11.
combine_cssandcombine_javascriptproduce URLs with a+; allow double escaping in the site’sweb.config. See IIS tuning.
Roll back
Uninstall the module from Apps & features, run iisreset, reinstall the
IISpeed installer you kept, and restore your saved configuration files if you
renamed them. Nothing on our side needs undoing.
Frequently asked questions
What happens to my IISpeed subscription?
Nothing needs to carry over: mod_pagespeed 2.1 is free to install and run, in development and in production, so there is no entitlement to move. Questions about an existing IISpeed subscription go to license@we-amp.com.
Do I have to rewrite my IISpeed configuration?
No. The module reads your iiswebspeed.config files where no pagespeed.config exists, accepts the iispeed directive prefix, and reads the server-level file under %ProgramData%\We-Amp\IISWebSpeed\. Rename the files to pagespeed.config when convenient; the content stays the same.