<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>ModPageSpeed 2.0 Blog</title><description>Technical insights on web performance, automatic optimization, and the engineering behind ModPageSpeed 2.0.</description><link>https://modpagespeed.com/</link><item><title>ASP.NET Core CLS: pre-size async holes</title><link>https://modpagespeed.com/blog/fix-cls-aspnet-core-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-cls-aspnet-core-2026/</guid><description>How to fix CLS on ASP.NET Core: pre-size async view components, persist image dimensions, reserve banner space, rewrite img tags via middleware.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>nginx CLS via insert_image_dimensions</title><link>https://modpagespeed.com/blog/fix-cls-nginx-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-cls-nginx-2026/</guid><description>How to fix CLS on nginx: rewrite img tags to add width/height, reserve container space, use aspect-ratio, ship dimensions at build time.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>Magento CLS starts with Fotorama</title><link>https://modpagespeed.com/blog/fix-cls-magento-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-cls-magento-2026/</guid><description>How to fix CLS on Magento: tame Fotorama gallery jumps, pre-size mini-cart and private-content blocks, rewrite img dimensions at the server layer.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>WooCommerce CLS: lock the gallery</title><link>https://modpagespeed.com/blog/fix-cls-woocommerce-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-cls-woocommerce-2026/</guid><description>How to fix CLS on WooCommerce: stop the gallery shift, lock variation swap dimensions, reserve cross-sell space, and rewrite img tags at the server.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>WordPress CLS: dimensions at the server</title><link>https://modpagespeed.com/blog/fix-cls-wordpress-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-cls-wordpress-2026/</guid><description>How to fix CLS on WordPress: diagnose the shifts, set width/height on every image at the server layer, lock down fonts, reserve banner space.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core image optimization in C#</title><link>https://modpagespeed.com/blog/aspnet-core-image-optimization-c-sharp/</link><guid isPermaLink="true">https://modpagespeed.com/blog/aspnet-core-image-optimization-c-sharp/</guid><description>Serve WebP and AVIF from ASP.NET Core with no controller changes. WeAmp.PageSpeed middleware does content negotiation, viewport sizing, and LCP preload.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>INP on ASP.NET Core: Razor vs Blazor</title><link>https://modpagespeed.com/blog/fix-inp-aspnet-core-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-inp-aspnet-core-2026/</guid><description>How to fix INP on ASP.NET Core: Razor + jQuery responds well to bundling and the WeAmp.PageSpeed middleware; Blazor Server INP is architectural and needs WASM.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>Magento INP: Hyvä matters more</title><link>https://modpagespeed.com/blog/fix-inp-magento-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-inp-magento-2026/</guid><description>How to fix INP on Magento: the high-leverage fix is theme architecture (Hyvä), not a server-layer rewriter. What ModPageSpeed can do, and what it cannot.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>nginx INP: a CMS-agnostic plan</title><link>https://modpagespeed.com/blog/fix-inp-nginx-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-inp-nginx-2026/</guid><description>How to fix INP on nginx: a CMS-agnostic guide. Server-layer JS minification helps if your JS is bloated; if your stack is already lean, the wins are upstream.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>INP on WooCommerce: where the cost lives</title><link>https://modpagespeed.com/blog/fix-inp-woocommerce-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-inp-woocommerce-2026/</guid><description>How to fix INP on WooCommerce: server-layer JS minification reduces the parse cost, but cart and variation handlers are architectural. The plan inside.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>WordPress INP: plugin discipline</title><link>https://modpagespeed.com/blog/fix-inp-wordpress-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-inp-wordpress-2026/</guid><description>How to fix INP on WordPress: diagnose the responsible interaction, defer non-critical JS at the server layer, then trim plugin handlers and jQuery.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core LCP: Razor vs Blazor</title><link>https://modpagespeed.com/blog/fix-lcp-aspnet-core-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-lcp-aspnet-core-2026/</guid><description>How to fix LCP on ASP.NET Core: async view components, cached static files, and the WeAmp.PageSpeed middleware. Practical steps for Razor Pages and MVC in 2026.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>LCP on Magento without breaking RequireJS</title><link>https://modpagespeed.com/blog/fix-lcp-magento-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-lcp-magento-2026/</guid><description>How to fix LCP on Magento: tame the RequireJS waterfall, regenerate catalog images, inline critical CSS at the server. Step-by-step for Magento 2 in 2026.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>nginx LCP: transport, not content</title><link>https://modpagespeed.com/blog/fix-lcp-nginx-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-lcp-nginx-2026/</guid><description>How to fix LCP on nginx: HTTP/2, gzip_static, TLS resumption, and the ModPageSpeed rewriter. Stack-agnostic LCP fixes that work behind any backend in 2026.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>WooCommerce LCP: shrink the gallery first</title><link>https://modpagespeed.com/blog/fix-lcp-woocommerce-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-lcp-woocommerce-2026/</guid><description>How to fix LCP on WooCommerce: shrink the product gallery, kill cart-fragments on non-shop pages, and rewrite images at the server. Practical steps for 2026.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>WordPress LCP: the server-layer fix</title><link>https://modpagespeed.com/blog/fix-lcp-wordpress-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/fix-lcp-wordpress-2026/</guid><description>How to fix LCP on WordPress: diagnose the hero, inline critical CSS at the server, convert JPEG to WebP, and verify in Search Console. Step-by-step, 2026.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>dl-ssl.google.com mod_pagespeed download</title><link>https://modpagespeed.com/blog/google-dl-ssl-mod-pagespeed-download/</link><guid isPermaLink="true">https://modpagespeed.com/blog/google-dl-ssl-mod-pagespeed-download/</guid><description>Google&apos;s dl-ssl.google.com URL historically served the 2020 mod_pagespeed .deb. Years later, it&apos;s an unmaintained binary. Here&apos;s where to get a maintained build.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>Is mod_pagespeed deprecated? (2026)</title><link>https://modpagespeed.com/blog/mod-pagespeed-deprecated-2026/</link><guid isPermaLink="true">https://modpagespeed.com/blog/mod-pagespeed-deprecated-2026/</guid><description>Yes, mod_pagespeed is deprecated. The 1.13.35.2 binaries still run but have not received security updates in years. Here&apos;s what to use instead on Apache, nginx, IIS, and ASP.NET Core.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>Server-side critical CSS for nginx</title><link>https://modpagespeed.com/blog/server-side-critical-css-nginx/</link><guid isPermaLink="true">https://modpagespeed.com/blog/server-side-critical-css-nginx/</guid><description>Generate and inline critical CSS at the nginx layer for any backend (PHP, Rails, Django, ASP.NET, Go). No WordPress plugin. No headless browser.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>ModPageSpeed 2.0 with Docker Compose</title><link>https://modpagespeed.com/blog/run-with-docker-compose/</link><guid isPermaLink="true">https://modpagespeed.com/blog/run-with-docker-compose/</guid><description>A working docker-compose.yml for ModPageSpeed 2.0 on nginx: worker + module + shared Cyclone cache volume. Verify with curl, apply a license, done.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>mod_pagespeed 1.1.0: what six years of stewardship look like</title><link>https://modpagespeed.com/blog/mod-pagespeed-1-1-release/</link><guid isPermaLink="true">https://modpagespeed.com/blog/mod-pagespeed-1-1-release/</guid><description>mod_pagespeed 1.1.0 ships 765 first-parent merges since 1.14.36.1 — image-decoder hardening, a full sanitizer matrix, a current dependency graph, and the IIS port folded into the C++ tree.</description><pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate></item><item><title>mod_pagespeed Alternatives in 2026</title><link>https://modpagespeed.com/blog/mod-pagespeed-alternatives/</link><guid isPermaLink="true">https://modpagespeed.com/blog/mod-pagespeed-alternatives/</guid><description>Google mod_pagespeed and ngx_pagespeed are no longer actively developed. Two actively developed successors exist — here is how to choose.</description><pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate></item><item><title>ModPageSpeed 2.0 now works with ASP.NET Core</title><link>https://modpagespeed.com/blog/aspnet-core-middleware/</link><guid isPermaLink="true">https://modpagespeed.com/blog/aspnet-core-middleware/</guid><description>ModPageSpeed 2.0 as ASP.NET Core middleware via NuGet. Same optimization pipeline — images, CSS, JS, critical CSS — integrated with two lines of C#. No nginx required.</description><pubDate>Thu, 12 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Migrating from mod_pagespeed 1.x to ModPageSpeed 2.0</title><link>https://modpagespeed.com/blog/migrating-from-1x/</link><guid isPermaLink="true">https://modpagespeed.com/blog/migrating-from-1x/</guid><description>Step-by-step guide for migrating from mod_pagespeed 1.x or ngx_pagespeed to ModPageSpeed 2.0. Configuration mapping, Docker Compose setup, and verification checklist.</description><pubDate>Tue, 10 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Critical CSS Without a Headless Browser</title><link>https://modpagespeed.com/blog/critical-css-heuristics/</link><guid isPermaLink="true">https://modpagespeed.com/blog/critical-css-heuristics/</guid><description>Generate critical CSS without Puppeteer or headless Chrome. ModPageSpeed uses heuristics in under 5ms per page — no Node.js required.</description><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Image Optimization Cost: Self-Hosted vs CDN at $35 vs $3,500/mo</title><link>https://modpagespeed.com/blog/economics-of-image-optimization/</link><guid isPermaLink="true">https://modpagespeed.com/blog/economics-of-image-optimization/</guid><description>Cost model for image optimization at 100K to 10M monthly requests. CDN pricing scales linearly; self-hosted is flat. Break-even sits around 300K requests/month.</description><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Respecting Save-Data: bandwidth-conscious image serving</title><link>https://modpagespeed.com/blog/save-data-bandwidth/</link><guid isPermaLink="true">https://modpagespeed.com/blog/save-data-bandwidth/</guid><description>How ModPageSpeed 2.0 respects the Save-Data HTTP header to serve lighter image variants. Typical 30-50% additional bandwidth reduction on top of format and viewport optimization.</description><pubDate>Fri, 06 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Benchmarking ModPageSpeed 2.0: real numbers on real sites</title><link>https://modpagespeed.com/blog/benchmarking-real-numbers/</link><guid isPermaLink="true">https://modpagespeed.com/blog/benchmarking-real-numbers/</guid><description>ModPageSpeed 2.0 benchmarks across e-commerce, blog, news, and portfolio sites. Real LCP, FCP, and Lighthouse improvements on 3G, 4G, and broadband — methodology included.</description><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Automatic WebP/AVIF on nginx: One Decode, 37 Variants</title><link>https://modpagespeed.com/blog/viewport-aware-image-optimization/</link><guid isPermaLink="true">https://modpagespeed.com/blog/viewport-aware-image-optimization/</guid><description>How ModPageSpeed 2.0 converts images to WebP and AVIF on nginx using a 32-bit capability mask. One decode pass, up to 37 variants per image.</description><pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Why I rebuilt mod_pagespeed from scratch</title><link>https://modpagespeed.com/blog/hello-world/</link><guid isPermaLink="true">https://modpagespeed.com/blog/hello-world/</guid><description>The story behind ModPageSpeed 2.0 — why mod_pagespeed is no longer actively developed, what was kept from PSOL, and how a new architecture replaced the RewriteDriver.</description><pubDate>Sun, 01 Feb 2026 00:00:00 GMT</pubDate></item></channel></rss>