Free PageSpeed test with the fixes attached
PageSpeed Insights, with the fix attached.
Run Google's official PageSpeed Insights against any URL. We score the page on mobile and desktop, then map every failing Lighthouse audit to the ModPageSpeed filter that fixes it on your server. Audits no optimizer can touch get labeled.
From PageSpeed report to nginx config in three steps
No account, no upload. Paste a URL, get the fixes.
- 1
Score your page on mobile and desktop
We call Google's official PageSpeed Insights v5 API for both form factors. Same engine Search Console uses, same Lighthouse audits, same Core Web Vitals. Shown inline instead of in a separate tab.
- 2
See which audits ModPageSpeed will fix
Every failing audit is matched against a public mapping table of over fifty Lighthouse audit IDs and the ModPageSpeed filter inventory. The table lives in this repo. Audits we cannot fix are labeled, not hidden.
- 3
Copy a working nginx config
You get a ready-to-paste
pagespeeddirective block that enables exactly the filters your page needs. Drop it in, reload nginx, re-run the test.
What ModPageSpeed fixes automatically
These are the PageSpeed Insights findings ModPageSpeed addresses on every request, with no
code changes on the origin. Most filters below have been production-tested in the upstream
mod_pagespeed codebase since 2010. A few are still marked
“test first”; the analyzer flags those per-page in the live results.
-
Improve image delivery
ModPageSpeed transcodes JPEG/PNG/GIF to WebP (and AVIF on 2.0), recompresses with quality-aware encoders, resizes to the rendered display size, and strips EXIF/ICC metadata. Typical result: 40–70% smaller images at visually equivalent quality.
-
rewrite_images -
convert_jpeg_to_webp -
convert_to_webp_lossless -
recompress_images -
resize_images -
jpeg_sampling -
strip_image_meta_data
-
-
Eliminate render-blocking resources
Render-blocking CSS in the `<head>` is exactly what prioritize_critical_css targets: it extracts the above-the-fold rules, inlines them, and defers the rest. Small JS files inline directly.
-
prioritize_critical_css -
inline_css -
inline_javascript -
move_css_to_head -
move_css_above_scripts
-
-
Use efficient cache lifetimes
ModPageSpeed rewrites static resource URLs to include a content hash and serves them with `Cache-Control: max-age=31536000, immutable`. Repeat visits skip the network entirely.
-
extend_cache
-
-
Minify CSS
ModPageSpeed minifies every CSS file it serves — removing whitespace, comments, and redundant syntax. CoreFilter; enabled by default.
-
rewrite_css
-
-
Minify JavaScript
ModPageSpeed minifies every JS file it serves, plus inline `<script>` blocks. CoreFilter; enabled by default.
-
rewrite_javascript -
rewrite_javascript_external -
rewrite_javascript_inline
-
-
Image elements have explicit width and height
`insert_image_dimensions` reads the intrinsic dimensions of each image and adds matching `width`/`height` attributes to the `<img>` tag.
-
insert_image_dimensions
-
-
Serve images in next-gen formats (legacy)
JPEG/PNG/GIF transcoded to WebP (and AVIF on 2.0) when the client advertises support via `Accept`.
-
convert_jpeg_to_webp -
convert_to_webp_lossless -
convert_to_webp_animated
-
-
Properly size images (legacy)
ModPageSpeed resizes images to the rendered dimensions and can generate a `srcset` for multiple resolutions. 2.0 generates viewport-tagged variants (Mobile/Tablet/Desktop, 1x/2x density) keyed off the request capability mask instead of using `srcset`.
-
resize_images -
resize_rendered_image_dimensions -
responsive_images
-
-
Defer offscreen images (legacy)
lazyload_images defers loading of below-the-fold images until the user scrolls toward them.
-
lazyload_images
-
-
Efficiently encode images (legacy)
Quality-aware recompression for JPEG, PNG, and WebP, with chroma subsampling tuned for the format.
-
recompress_images -
recompress_jpeg -
recompress_png -
recompress_webp -
jpeg_sampling
-
-
Mask slow origin TTFB with HTML caching
New in 2.0Document latency is origin TTFB plus DNS, TLS, and routing. ModPageSpeed 2.0 caches HTML in the Cyclone shared-memory cache when the origin allows it (set `Cache-Control: public, max-age=60, must-revalidate` on HTML, or use `pagespeed_html_max_age`), and serves cache hits zero-copy from the memory-mapped file — masking origin TTFB for repeat visits.
What ModPageSpeed will not fix
Trust matters more than coverage claims. ModPageSpeed runs byte-level rewrites on what leaves your server; it does not edit application code. These stay out of reach: excessive DOM size, unused JavaScript and tree-shaking, legacy-JS polyfills served to modern browsers, third-party script impact (analytics, tag managers, ads), Interaction to Next Paint (INP), forced reflows in handler code, and font-display behavior. Origin TTFB on the first request is also out of reach. 2.0 can mask it on repeat visits by caching HTML when the origin allows it, but the first hit always reaches the origin. The analyzer above labels every one of these in your report.
PageSpeed test FAQ
Questions that come up the first time you open a Lighthouse report.
- What is a good PageSpeed Insights score?
- Google grades PageSpeed Insights scores in three buckets: 90–100 is good (green), 50–89 needs improvement (orange), and 0–49 is poor (red). Aim for 90+ on mobile; desktop scores are easier and less correlated with real user experience.
- What are Core Web Vitals?
- Core Web Vitals are three field metrics Google uses for ranking signals: Largest Contentful Paint (LCP) for loading, Interaction to Next Paint (INP) for responsiveness, and Cumulative Layout Shift (CLS) for visual stability. A page passes when 75% of real visits hit the "good" threshold on each metric.
- How do I improve Largest Contentful Paint (LCP)?
- LCP is usually a hero image or above-the-fold text block. The two highest-impact moves are shrinking the LCP image (WebP/AVIF, resized to its rendered size) and removing render-blocking CSS so the browser can paint sooner. ModPageSpeed does both automatically (transcoding, resizing, inlining critical CSS). Origin TTFB on the first request and JavaScript-injected backgrounds stay out of reach, though 2.0 can mask TTFB on repeat visits by caching HTML in shared memory when the origin allows it.
- How do I fix Cumulative Layout Shift (CLS)?
- Most CLS comes from images without width/height attributes: the browser cannot reserve space, so content jumps when the image arrives. ModPageSpeed measures each image and writes the dimensions back into the markup. CLS caused by late-loading fonts, injected ads, or dynamic banners needs application-level fixes.
- Is PageSpeed Insights free?
- Yes. PageSpeed Insights is a free Google tool that runs Lighthouse against any public URL and combines it with field data from the Chrome User Experience Report. This page calls the same PSI v5 API and adds a mapping layer so you can see which findings ModPageSpeed will fix on your server.
- What's the difference between Lighthouse and PageSpeed Insights?
- Lighthouse is the open-source auditing engine. PageSpeed Insights is the public web app that runs Lighthouse in a cloud environment and combines it with Chrome User Experience Report (CrUX) field data. Same audits underneath; PSI adds field metrics and a public API.
- How is ModPageSpeed different from PageSpeed Insights?
- PageSpeed Insights diagnoses. ModPageSpeed fixes. Insights tells you "serve images in next-gen formats" and "eliminate render-blocking resources"; ModPageSpeed is the nginx/Apache/IIS module that does the transcoding, inlining, and cache-extension on every request. They are designed to work together.
- Can ModPageSpeed fix every PageSpeed Insights issue?
- No. ModPageSpeed handles byte-level work: image transcoding, CSS/JS minification, critical-CSS inlining, cache extension, dimension inference. It cannot reduce DOM size, tree-shake legacy JavaScript bundles, or rewrite third-party scripts. Origin TTFB on the first request stays out of reach too. 2.0 caches HTML in shared memory when the origin allows it, so repeat visits skip the origin; the first hit always reaches it. The analyzer above labels each audit accordingly.
- Is this a PageSpeed Insights API alternative?
- It is a wrapper, not a replacement. We call the official PageSpeed Insights v5 API server-side, cache results per (URL, strategy) for an hour, and overlay a mapping from Lighthouse audit IDs to the ModPageSpeed filters that address them. No account, no upload.
- How often should I run a website speed test?
- After anything that changes the page: a deploy, a new CMS theme, a marketing campaign that injects scripts, a CDN swap. Lab scores fluctuate run-to-run by a few points; treat anything inside a 10-point band as noise. For ongoing monitoring, the Chrome User Experience Report (CrUX) gives 28-day rolling field data.