56,966 blogs · [ { "id": "01a0e28a-06c3-709d-ab46-4a04ffdce147", "title": "About Paul Calvano", "url": "https://paulcalvano.com/about/", "published_at": "2026-09-05T15:01:49+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a050064e61e", "title": null, "url": "https://paulcalvano.com/speaking/", "published_at": "2026-09-05T15:01:49+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0501253eb4", "title": null, "url": "https://paulcalvano.com/tools/", "published_at": "2026-09-05T15:01:49+00:00" }, { "id": "01a087bd-d4b2-708f-8778-974205e3c0b6", "title": "Resource Age and Its Impact on Cacheability", "url": "https://paulcalvano.com/2026-09-05-resource-age-and-its-impact-on-cacheability/", "published_at": "2026-09-05T04:00:00+00:00" }, { "id": "01a087bd-d4b2-708f-8778-9742066ee5e9", "title": "Serving Static Content with Cloud Storage? Don’t Forget the CDN!", "url": "https://paulcalvano.com/2026-02-09-serving-static-content-with-cloud-storage-dont-forget-the-cdn/", "published_at": "2026-02-09T04:00:00+00:00" }, { "id": "01a087bd-d4b2-708f-8778-9742070726b6", "title": "Third Parties and Single Points of Failure", "url": "https://paulcalvano.com/2025-12-29-third-parties-and-single-points-of-failure/", "published_at": "2025-12-29T04:00:00+00:00" }, { "id": "01a087bd-d4b2-708f-8778-9742072edca9", "title": "AI Bots and Robots.txt", "url": "https://paulcalvano.com/2025-08-21-ai-bots-and-robots-txt/", "published_at": "2025-08-21T04:00:00+00:00" }, { "id": "01a087bd-d4b2-708f-8778-9742077391f6", "title": "Discovering Third Party Performance Risks", "url": "https://paulcalvano.com/2024-09-03-discovering-third-party-performance-risks/", "published_at": "2024-09-03T04:00:00+00:00" }, { "id": "01a087bd-d4b2-708f-8778-974207bd2e3f", "title": "Third Parties and Certificate Revocations", "url": "https://paulcalvano.com/2024-08-04-third-parties-and-certificate-revocations/", "published_at": "2024-08-04T04:00:00+00:00" }, { "id": "01a087bd-d4b2-708f-8778-9742084b12a7", "title": "Choosing Between gzip, Brotli and zStandard Compression", "url": "https://paulcalvano.com/2024-03-19-choosing-between-gzip-brotli-and-zstandard-compression/", "published_at": "2024-03-19T04:00:00+00:00" }, { "id": "01a087bd-d4b2-708f-8778-974208567d90", "title": "Identifying Font Subsetting Opportunities with Web Font Analyzer", "url": "https://paulcalvano.com/2024-02-16-identifying-font-subsetting-opportunities/", "published_at": "2024-02-16T14:00:00+00:00" }, { "id": "01a087bd-d4b2-708f-8778-9742085be918", "title": "Internet Explorer’s Decline in Usage in 2021", "url": "https://paulcalvano.com/2022-01-31-internet-explorer-decline-in-2021/", "published_at": "2022-01-31T14:00:00+00:00" }, { "id": "01a087bd-d4b2-708f-8778-9742091d2613", "title": "Page Visibility: If a tree falls in the forest…", "url": "https://paulcalvano.com/2021-12-31-page-visibility-if-a-tree-falls-in-the-forest/", "published_at": "2021-12-31T16:30:00+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0516425ffe", "title": null, "url": "https://paulcalvano.com/2021-06-07-lcp-httparchive/", "published_at": "2021-06-08T03:57:26+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05157db279", "title": null, "url": "https://paulcalvano.com/2020-09-29-growth-of-the-web-in-2020/", "published_at": "2020-09-29T18:43:30+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05154b824f", "title": null, "url": "https://paulcalvano.com/2020-08-03-browser-backforward-caches-and-their-benefit-to-web-performance/", "published_at": "2020-08-04T22:30:24+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05139259ff", "title": null, "url": "https://paulcalvano.com/2020-07-10-investigating-duplicate-html-requests-on-a-page-load/", "published_at": "2020-08-01T17:58:27+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0502ed9a77", "title": null, "url": "https://paulcalvano.com/2017-06-27-performance-debugging-leads-to-discovery-of-a-bizarre-browser-bug/", "published_at": "2020-08-01T03:21:46+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05083bc457", "title": null, "url": "https://paulcalvano.com/2018-03-05-adoption-of-http-security-headers-on-the-web/", "published_at": "2020-07-31T21:34:40+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05020bf169", "title": null, "url": "https://paulcalvano.com/2017-04-12-gauge-user-experience-with-time-to-interactive/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0503c62951", "title": null, "url": "https://paulcalvano.com/2017-07-25-performance-and-usage-implications-of-custom-fonts/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0504376db7", "title": null, "url": "https://paulcalvano.com/2017-07-27-how-is-server-timing-used-on-the-web/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05047be578", "title": null, "url": "https://paulcalvano.com/2017-07-31-correlating-chromes-3rd-party-product-names-to-http-archive-data/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0505528291", "title": null, "url": "https://paulcalvano.com/2017-08-16-tracking-page-weight-over-time/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05061cf2c2", "title": null, "url": "https://paulcalvano.com/2017-08-31-exploring-relationships-between-performance-metrics-in-http-archive-data/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05066b7e8a", "title": null, "url": "https://paulcalvano.com/2017-09-17-which-3rd-party-content-loads-before-render-start/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05068240af", "title": null, "url": "https://paulcalvano.com/2017-11-29-measuring-the-performance-of-firefox-quantum-with-rum/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05073f86dd", "title": null, "url": "https://paulcalvano.com/2018-01-07-cache-control-immutable-a-year-later/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0508aa3655", "title": null, "url": "https://paulcalvano.com/2018-03-14-http-heuristic-caching-missing-cache-control-and-expires-headers-explained/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05096aba9d", "title": null, "url": "https://paulcalvano.com/2018-04-26-using-googles-crux-to-compare-your-sites-rum-data-w-competitors/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a050a058093", "title": null, "url": "https://paulcalvano.com/2018-05-06-tutorial-using-bigquery-to-analyze-chrome-user-experience-report-data/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a050a6103db", "title": null, "url": "https://paulcalvano.com/2018-05-15-analyzing-3rd-party-performance-via-http-archive-crux/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a050b286b7a", "title": null, "url": "https://paulcalvano.com/2018-07-02-impact-of-page-weight-on-load-time/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a050befff73", "title": null, "url": "https://paulcalvano.com/2018-07-25-brotli-compression-how-much-will-it-reduce-your-content/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a050c68942a", "title": null, "url": "https://paulcalvano.com/2018-08-21-using-wappalyzer-to-analyze-cpu-times-across-js-frameworks/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a050d38afa7", "title": null, "url": "https://paulcalvano.com/2018-08-24-how-many-sites-are-still-using-appcache/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a050d43ced4", "title": null, "url": "https://paulcalvano.com/2018-08-27-on-becoming-a-contributor-to-the-http-archive/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a050e17cb0d", "title": null, "url": "https://paulcalvano.com/2018-12-03-mobile-trends-during-the-us-holiday-weekend/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a050eccbe8b", "title": null, "url": "https://paulcalvano.com/2019-01-11-correlating-performance-metrics-to-page-characteristics/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a050f660a3f", "title": null, "url": "https://paulcalvano.com/2019-03-11-analyzing-lighthouse-scores-across-the-web/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a051059be8f", "title": null, "url": "https://paulcalvano.com/2019-03-25-what-percentage-of-third-party-content-is-cacheable/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0510ba014c", "title": null, "url": "https://paulcalvano.com/2019-05-22-exploring-usage-of-the-console-api/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05115bbb32", "title": null, "url": "https://paulcalvano.com/2019-05-27-analyzing-resource-age-by-content-type/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0511884b8d", "title": null, "url": "https://paulcalvano.com/2019-08-12-chrome-image-lazy-loading-sites-already-using-it-on-week-1/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0511f95ce0", "title": null, "url": "https://paulcalvano.com/2020-02-17-san-certificates-how-many-alt-names-are-too-many/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a051279cc72", "title": null, "url": "https://paulcalvano.com/2020-02-20-certificate-validity-dates/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0512dc0a73", "title": null, "url": "https://paulcalvano.com/2020-07-07-samesite-cookies-are-you-ready/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a051463a3dc", "title": null, "url": "https://paulcalvano.com/2020-07-13-an-analysis-of-cookie-sizes-on-the-web/", "published_at": "2020-07-31T21:29:01+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0522b0e4d6", "title": null, "url": "https://paulcalvano.com/", "published_at": "2020-07-28T02:33:16+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05256e5160", "title": null, "url": "https://paulcalvano.com/2/", "published_at": "2020-07-28T02:33:16+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05259f2c63", "title": null, "url": "https://paulcalvano.com/3/", "published_at": "2020-07-28T02:33:16+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0525be51f0", "title": null, "url": "https://paulcalvano.com/4/", "published_at": "2020-07-28T02:33:16+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05264e0ac9", "title": null, "url": "https://paulcalvano.com/5/", "published_at": "2020-07-28T02:33:16+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05015f1044", "title": null, "url": "https://paulcalvano.com/writing/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a051c34a6a7", "title": null, "url": "https://paulcalvano.com/licenses/Apache-2.0/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a051d08f41a", "title": null, "url": "https://paulcalvano.com/CHANGELOG/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a051deed7ae", "title": null, "url": "https://paulcalvano.com/licenses/GPL-3.0/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a051eb04bb9", "title": null, "url": "https://paulcalvano.com/LICENSE/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a051ef9b6df", "title": null, "url": "https://paulcalvano.com/licenses/MIT/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a051fbf52a3", "title": null, "url": "https://paulcalvano.com/NOTICE/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a051fe9d663", "title": null, "url": "https://paulcalvano.com/licenses/PRO/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a052002c8f8", "title": null, "url": "https://paulcalvano.com/docs/README/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a052037993e", "title": null, "url": "https://paulcalvano.com/licenses/W3C-20150513/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0520afc0ab", "title": null, "url": "https://paulcalvano.com/docs/advanced/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0521939317", "title": null, "url": "https://paulcalvano.com/docs/basics/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0522373c15", "title": null, "url": "https://paulcalvano.com/docs/build/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05228d1ce4", "title": null, "url": "https://paulcalvano.com/docs/config/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0522bc0ce1", "title": null, "url": "https://paulcalvano.com/docs/install/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05237ccc87", "title": null, "url": "https://paulcalvano.com/docs/migration/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05238f457f", "title": null, "url": "https://paulcalvano.com/posts/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0523a0f4e8", "title": null, "url": "https://paulcalvano.com/docs/scripts/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a0523f34e33", "title": null, "url": "https://paulcalvano.com/docs/upgrade/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a05249542f9", "title": null, "url": "https://paulcalvano.com/docs/writing/", "published_at": "2020-07-20T04:00:35+00:00" }, { "id": "01a0e28a-06c3-709d-ab46-4a052562d5af", "title": null, "url": "https://paulcalvano.com/licenses/", "published_at": "2020-07-20T04:00:35+00:00" } ] posts Claim your blog
Back to paulcalvano.com
Blog · corpus.blog/blogs/paulcalvano.com/posts

paulcalvano.com

paulcalvano.com

2026

2025

2024

2022

2021

2020