Skip to content

Commit aa9d1d4

Browse files
committed
Merge branch 'main' of github.com:HTTPArchive/almanac.httparchive.org into production
2 parents 352edd4 + 42b12e6 commit aa9d1d4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+1682
-42
lines changed

sql/2025/accessibility/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# 2025 Accessibility queries
2+
3+
<!--
4+
This directory contains all of the 2025 Accessibility chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/1_yYdChCuRpPe_vaok4-uBJS_JnEqGOhO1llCNA0qEKQ
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/13sY_wmYODArxo-hH5cSuRAbvtLdGI3x5Xc9qUyqP8as/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/accessibility.md

sql/2025/cdn/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# 2025 CDN queries
2+
3+
<!--
4+
This directory contains all of the 2025 CDN chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/1mPSPKJtFcazw0t6MoA5CSV6sTVM7N6K0CTAEdIwN_60
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1xc7EkFIIA5Lon9Ao9ksmiIq-0j0qc1TbhreKJgc5DBE/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/cdn.md

sql/2025/cms/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# 2025 CMS queries
2+
3+
<!--
4+
This directory contains all of the 2025 CMS chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/1IkHTN069CpSxiRas9HjgpdN4enqrl4BUQmhjtmkRQY0
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1b3VLQPtJJOB7MmEx_RgmWSCef1BK8mrqpQT44UiMQyE/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/cms.md

sql/2025/cookies/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# 2025 Cookies queries
2+
3+
<!--
4+
This directory contains all of the 2025 cookies chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/1JX7vklpKJa_4RImgC8bfNNa9V725FaF0HH6RJcbRnYU
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1ZirsnaXgbOMzBmt0X2eMMu3rVJvWCtQgE7pNG7fKcvc/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/cookies.md

sql/2025/css/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# 2025 CSS queries
2+
3+
<!--
4+
This directory contains all of the 2025 CSS chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/1FtntjUvqNT_66XtKQamZDPy0gI_kLZhkBaK7JJwE2ww
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1jGINqaVnYrlu7ob4jvxtAafyBH8PCV0BX-UbTCgDsiM/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/css.md

sql/2025/dns/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# 2025 DNS queries
2+
3+
<!--
4+
This directory contains all of the 2025 DNS chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/1C-G_bAZWTFY-20O_VmzukGHXZRWpYf_NvnCeUhPQSoE
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1l6Lilc_CPnhaoSF20rryIbtSA9QDH8MP-qj8BSRDUf0/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/ecommerce.md

sql/2025/ecommerce/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# 2025 Ecommerce queries
2+
3+
<!--
4+
This directory contains all of the 2025 Ecommerce chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/1s1IiImQrVDPieitg6F8RHOJ9299aB5LMRjOWOZzL3Uo
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1tbbH4q4wzj4bpTj8ctRJ_8-NyS5KPBBcNInkemfxcR8/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/ecommerce.md

sql/2025/fonts/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# 2025 Fonts queries
2+
3+
<!--
4+
This directory contains all of the 2025 Fonts chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/1jVc0vgmAY_lBxryItRBguXxEq77mvbaQ3UpbTweUoSI/
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1otdu4p_CCI70B4FVzw6k02frStsPMrQoFu7jUim_0Bg/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/fonts.md

sql/2025/generative-ai/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# 2025 Generative AI queries
2+
3+
<!--
4+
This directory contains all of the 2025 Generative AI chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/1HpI_E35FU_vqsJlMEONnCyR5lAvzDwVkWBg3lIlwlvw
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1q_hFsWlt6DZMmwnxrTmU3nCRjT2w38AomAlw8b_lthE/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/ecommerce.md

sql/2025/http/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# 2025 HTTP queries
2+
3+
<!--
4+
This directory contains all of the 2025 HTTP chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/1HiFoxtrh7pBS1BmMIFSslzjInITH9q46i4myOwpAlAc
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1fvC5ncKP8rNUwEwEuCpUd0jjDlwOOeWuTzyY5Yg4_AE/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/http.md

sql/2025/jamstack/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# 2025 Jamstack queries
2+
3+
<!--
4+
This directory contains all of the 2025 Jamstack chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/1DkY9txnPfNmnbhCRGclPrM5kBOqP7LHRyjlTOdkiPUg
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1aBKejgMdoQGg88uLyiM44FKKkKztfKsdGJbI6rQv934/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/jamstack.md

sql/2025/javascript/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# 2025 JavaScript queries
2+
3+
<!--
4+
This directory contains all of the 2025 JavaScript chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/13FYltGRpt8gkEoxe-cxyq3aj0MngI6oPXRD5kExYS4w
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1OjnDd20O2zCjkP_HGAu9MlcvP6ACtkkNdAenuHB_rCk/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/javascript.md

sql/2025/markup/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# 2025 Markup queries
2+
3+
<!--
4+
This directory contains all of the 2025 Markup chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/1IhN_rvDhvM5uACVlLvd5wTDXVvEJGNgZwD2Pk3hK_mw
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1I2wFTMAvpUHjKNs86VkBQRdptoV0rklbCxWRTLS6cxE/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/markup.md

sql/2025/media/README.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# 2025 Media queries
2+
3+
<!--
4+
This directory contains all of the 2025 Media chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Notes for 2025
13+
14+
2021’s analysis was largely done on custom metrics, which work on what they can see using JS APIs, in the DOM. As such, we worked primarily looked at `<img>` and `<video>` elements, and there were a bunch of things about the actual image resources that we had to work really hard to discover (e.g., `approximateResourceWidth`), or just couldn’t determine at all (is this GIF animated?)
15+
16+
The best thing that happened in 2025 was getting a bunch of metadata about the image resources themselves. Pat Meenan figured out how to get the crawler to run the actual loaded resource bytes through both ImageMagick’s `identify`, and ExifTool. This is available in `$._image_details`.
17+
18+
The biggest unaccomplished goal in 2025 was being able to join up this amazing information about the resources themselves, with the information we glean from Custom Metrics about how those resources were embedded on pages. We no longer need to jump through hoops to calculate `approximateResourceWidth`, or guess at file formats using heuristics. We can know these things definitively now. But I wasn't able to join up the one dataset to the other.
19+
20+
This might be accomplishable in 2025 by getting `_image_details` into [`$WPT_REQUESTS`](https://github.com/HTTPArchive/custom-metrics/blob/d4cdb38201c6c870589edaeb946950656c8009ca/dist/responsive_images.js#L447), accessible within Custom Metric code. Failing that it seems possible to JOIN `_image_details` JSON with the `responsive_images` custom metric JSON over URLs.
21+
22+
It pains me that I never figured out a way to look at background images (or favicons or image resources loaded by JS and painted to a canvas) within custom metrics. Queries that start based on requests tally these non-`<img>` images; queries that look at `responsive-images` (which looks at `<img>` elements), do not.
23+
24+
In general there is a lot of untapped potential in the new ImageMagick and EXIFTool results, but we found this year that these tools report things frustratingly-inconsistently, and getting good results for all of the web's images requires lots of testing and edge cases. I spent probably half of my analysis time this year trying to get good, cross-format color space and depth data, but the way that image formats deal with colorspaces, and the way that `identify` reports things, make this quite tricky! I scaled back my ambitions this year by only looking at ICC profiles (AVIF and PNG allow direct embedding of colorspace info, which `identify` reports in various ways... I digress). Akshay fell into a similar trap trying to write Animated Image queries that dealt not only with Gifs, but with Animated PNGs and AVIFs. We ended up not being able to do that analysis.
25+
26+
The duplication and separation of custom metrics is unfortunate. `media.js`, `Images.js`, and `responsive-images.js` have a lot of duplication and overlap. They could stand a unification and cleanup, if only for clarity's sake.
27+
28+
I didn't do anything new with video at all -- these are just Doug's queries from 2021 with updated dates. I'm positive more can be done here, not sure I'm the person to do it.
29+
30+
---
31+
32+
Some additional notes, that came out of the document review process:
33+
34+
> I've seen multiple sites using `<picture>` where `srcset`/`sizes` would be enough, and even better, without type switching nor art direction. I don't know if this is something that can be detected, maybe for next year.
35+
36+
– Nicolas Hoizey
37+
38+
> Maybe we could add (next year?) details about which types are used in `<source>`s, in which order. (I've seen type switching with JPEG first… 😅)
39+
>
40+
> Also maybe useful:
41+
> - the number of `<source>`s for art direction
42+
> - wheither the latest `<source>` is useful or `<img srcset sizes>` would be enough, for both use cases (another frequent mistake)
43+
44+
– Nicolas Hoizey
45+
46+
## Resources
47+
48+
- [📄 Planning doc][~google-doc]
49+
- [📊 Results sheet][~google-sheets]
50+
- [📝 Markdown file][~chapter-markdown]
51+
52+
[~google-doc]: https://docs.google.com/document/d/1udD7MfYSekvx80tbfv0D8fv3bJNNEO7qMOUYGz_jwlI
53+
[~google-sheets]: https://docs.google.com/spreadsheets/d/14ZMet41a4IPdJgLqOGjKSLauSwI6wj-GZ4wuZVtSS64/edit
54+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/media.md

sql/2025/page-weight/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# 2025 Page Weight queries
2+
<!--
3+
This directory contains all of the 2025 Page Weight chapter queries.
4+
5+
Each query should have a corresponding `metric_name.sql` file.
6+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
7+
8+
Analysts: if helpful, you can use this README to give additional info about the queries.
9+
-->
10+
11+
## Resources
12+
13+
- [📄 Planning doc][~google-doc]
14+
- [📊 Results sheet][~google-sheets]
15+
- [📝 Markdown file][~chapter-markdown]
16+
17+
[~google-doc]: https://docs.google.com/document/d/1vX9E50YIj3E_Ld9s9RrTVuz3pIDVxkwq5jbq7cUjMss
18+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1xGs0oBVuONgj7uI0jPx-07ww94hWMmo6LrI8vdOOL5w/edit
19+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/page-weight.md

sql/2025/performance/README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# 2025 Performance queries
2+
3+
<!--
4+
This directory contains all of the 2025 Performance chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/1P7ttdzIXwnc1ACqJWJTVR6e-gtYb4F32ItF7NhyDi-8/
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1KJQznDT9tL2IYCbYIcWas2k9OG1rK4pkk9U1qOLgBM0/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/performance.md
21+

sql/2025/privacy/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# 2025 Privacy queries
2+
3+
<!--
4+
This directory contains all of the 2025 Privacy chapter queries.
5+
6+
Each query should have a corresponding `metric_name.sql` file.
7+
Note that readers are linked to this directory, so try to make the SQL file names descriptive for easy browsing.
8+
9+
Analysts: if helpful, you can use this README to give additional info about the queries.
10+
-->
11+
12+
## Resources
13+
14+
- [📄 Planning doc][~google-doc]
15+
- [📊 Results sheet][~google-sheets]
16+
- [📝 Markdown file][~chapter-markdown]
17+
18+
[~google-doc]: https://docs.google.com/document/d/1f1VR1FYVCyow16AHfMgLD-o9VtG3Kn1E4XUQtPnXb2o
19+
[~google-sheets]: https://docs.google.com/spreadsheets/d/1Svyw40Th7VbigX6lpR1lb1WXwTUVKZWrK7O2YELrml4/edit
20+
[~chapter-markdown]: https://github.com/HTTPArchive/almanac.httparchive.org/tree/main/src/content/en/2025/privacy.md

0 commit comments

Comments
 (0)