Frequently Asked Questions
Transition to mod_pagespeed 1.1
Do I need to buy a new license?
No. Your existing IISpeed license transfers to mod_pagespeed 1.1 at no cost. Email info@we-amp.com with your license key and we'll send your new license within one business day.
Will my IISpeed configuration still work?
mod_pagespeed 1.1 uses the same configuration directives. Most configurations work with minimal or no changes. The 1.1 documentation covers any differences.
When will IISpeed stop receiving updates?
There is no hard cutoff. IISpeed continues to function, but new features and security patches are developed for mod_pagespeed 1.1 going forward. We recommend migrating when it's convenient for you.
I don't have an IISpeed license. How do I get one?
New licenses for mod_pagespeed 1.1 (IIS port) are available at modpagespeed.com. If you're evaluating options, see also ModPageSpeed 2.0, the next-generation rewrite (IIS support via reverse proxy, native support planned).
What about ModPageSpeed 2.0?
ModPageSpeed 2.0 is a ground-up rewrite in C++23. It currently supports nginx, Apache, and Envoy. For .NET environments, the same engine is available as native ASP.NET Core middleware. You can also stay on 1.1.
IISpeed troubleshooting
I updated my files, why do I still get the old version?
CSS, JavaScript, images, and other assets are fetched over HTTP by default and cached by IISpeed for the expiry time specified in the response headers. IISpeed will check back at the expiry time, which is when it will notice any changes.
To work around this, configure LoadFromFile, which allows IISpeed to detect and reprocess files immediately after they are updated.
Why aren't my resources combined or optimized?
By default, IIS imposes tight limits on URL lengths for security. IISpeed is limited on the length of URLs it can generate when combining resources. The default URL length in IIS 7.5 is 260 characters.
You can increase this by adding a registry key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters\UrlSegmentMaxLength
with a value of 750 or higher, combined with increasing MaxUrlSegmentLength
in the root iiswebspeed.config. Restart the HTTP service
(net stop http / net start http) for the change to take effect.
Why do I get a partially optimized response on the first request?
This is by design. IISpeed works under a tight deadline when rewriting HTML and will send a partially optimized or unoptimized response when it would take too long to wait for optimizations to complete. By default, IISpeed waits 50 ms. After a few requests, optimizations are cached and ready.
You can adjust the deadline using RewriteDeadlinePerFlushMs.
A value of 0 or less causes IISpeed to wait indefinitely.
What is the CPU overhead?
Typical overhead is approximately 10 ms per optimized HTML request. IISpeed also supports caching optimized resources to reduce repeated work.
Can I remove the X-IISpeed / X-Page-Speed header?
We don't recommend removing these headers, as they are used internally to prevent fetch loops.
Why are rewritten pages sending POSTs back to my server?
Certain filters (like lazyload_images,
inline_preview_images,
and prioritize_critical_css)
inject JavaScript that analyzes the page in the browser and sends data back
using a POST to /pagespeed_beacon. The target URL can be changed
using the BeaconUrl directive.
How do I purge PageSpeed's cache?
See the cache flush documentation. Clearing the filesystem cache directory manually will not work — use the PageSpeed cache purge mechanism.
Server errors after installation?
Server errors after installing IISpeed are usually due to permission problems.
Ensure that IIS can read and execute the IISpeed DLL files, and that any
configured FileCachePath directories are readable and writable
by the relevant application pool identities.
Plesk issues after installation?
Plesk periodically enforces and changes permissions, which can break IISpeed. See the Plesk installation guide.