Methodologie
Overzicht
De Web Almanac is een project georganiseerd door HTTP Archive. HTTP Archive is in 2010 opgericht door Steve Souders met de missie om bij te houden hoe het web is opgebouwd. Het evalueert maandelijks de samenstelling van miljoenen webpagina's en stelt zijn terabytes aan metadata beschikbaar voor analyse op BigQuery.
De missie van de Web Almanac is om een jaarlijkse opslagplaats te worden van publieke kennis over de staat van het web. Ons doel is om het datawarehouse van HTTP Archive nog toegankelijker te maken voor de webgemeenschap door vakexperts te laten voorzien van gecontextualiseerde inzichten.
De 2020-editie van de Web Almanac is onderverdeeld in vier delen: inhoud, ervaring, publicatie en distributie. Binnen elk deel verkennen verschillende hoofdstukken hun overkoepelende thema vanuit verschillende invalshoeken. Deel II verkent bijvoorbeeld verschillende invalshoeken van de gebruikerservaring in onder meer de hoofdstukken Prestaties, Beveiliging en Toegankelijkheid.
Over de dataset
De HTTP Archive-dataset wordt maandelijks continu bijgewerkt met nieuwe gegevens. Voor de 2020-editie van de Web Almanac zijn, tenzij anders vermeld in het hoofdstuk, alle statistieken afkomstig van de crawl van augustus 2020. Deze resultaten zijn openbaar doorzoekbaar op BigQuery in tabellen met het voorvoegsel 2020_08_01
.
Alle statistieken die in de Web Almanac worden gepresenteerd, zijn openbaar reproduceerbaar met behulp van de dataset op BigQuery. U kunt door de zoekopdrachten bladeren die door alle hoofdstukken worden gebruikt in onze GitHub-repository.
Houd er rekening mee dat sommige van deze zoekopdrachten vrij groot zijn en duur kunnen zijn om zelf uit te voeren, aangezien BigQuery wordt gefactureerd per terabyte. Raadpleeg, voor hulp bij het beheersen van uw uitgaven, Tim Kadlec’s bericht BigQuery gebruiken zonder de bank te breken.
Zie bijvoorbeeld 01_01b.sql voor meer informatie over het gemiddelde aantal bytes van JavaScript per desktop- en mobiele pagina:
#standardSQL
# 01_01b: Distribution of JS bytes by client
SELECT
percentile,
_TABLE_SUFFIX AS client,
APPROX_QUANTILES(ROUND(bytesJs / 1024, 2), 1000)[OFFSET(percentile * 10)] AS js_kbytes
FROM
`httparchive.summary_pages.2019_07_01_*`,
UNNEST([10, 25, 50, 75, 90]) AS percentile
GROUP BY
percentile,
client
ORDER BY
percentile,
client
Resultaten voor elke statistiek zijn openbaar zichtbaar in hoofdstukspecifieke spreadsheets, bijvoorbeeld JavaScript-resultaten. Scroll naar de onderkant van elk hoofdstuk voor links naar vragen, resultaten en opmerkingen van lezers.
Websites
Er zijn 7.546.709 websites in de dataset. Daaronder zijn 6.347.919 mobiele websites en 5.593.642 desktopwebsites. De meeste websites zijn opgenomen in zowel de mobiele als de desktop-subset.
HTTP Archive haalt de URL's voor zijn websites uit het Chrome UX Report. Het Chrome UX Report is een openbare dataset van Google die gebruikerservaringen verzamelt op miljoenen websites die actief worden bezocht door Chrome-gebruikers. Dit geeft ons een lijst met websites die actueel zijn en een weerspiegeling van het echte webgebruik. De dataset van het Chrome UX Report bevat een vormfactordimensie, die we gebruiken om alle websites toegankelijk te maken voor desktop- of mobiele gebruikers.
De HTTP Archive crawl van augustus 2020 die door de Web Almanac werd gebruikt, gebruikte de meest recent beschikbare Chrome UX Report-release voor de lijst met websites. De dataset 202006 werd uitgebracht op 14 juli 2020 en legt websites vast die in de maand juni door Chrome-gebruikers zijn bezocht.
Er was een groei van 20-30% in het aantal geanalyseerde websites in vergelijking met die in de 2019 Web Almanac. Deze toename is geanalyseerd door Paul Calvano in zijn Groei van het web in 2020 post.
Vanwege beperkte bronnen kan het HTTP Archive slechts één pagina van elke website in het Chrome UX Report testen. Om dit te verzoenen, zijn alleen de startpagina's opgenomen. Houd er rekening mee dat dit enige vertekening in de resultaten zal introduceren, omdat een startpagina niet noodzakelijk representatief is voor de hele website.
HTTP Archive wordt ook beschouwd als een testhulpmiddel voor laboratoria, wat betekent dat het websites test vanuit een datacenter en geen gegevens verzamelt van echte gebruikerservaringen. Alle pagina's worden getest met een lege cache wanneer ze zijn uitgelogd, wat mogelijk niet aangeeft hoe echte gebruikers er toegang toe zouden hebben.
Metrische gegevens
HTTP Archive verzamelt duizenden statistieken over hoe het web is opgebouwd. Het bevat basisstatistieken zoals het aantal bytes per pagina, of de pagina is geladen via HTTPS en individuele verzoek- en antwoordheaders. De meeste van deze statistieken worden geleverd door WebPageTest, die fungeert als testrunner voor elke website.
Andere test hulpmiddelen worden gebruikt om meer geavanceerde statistieken over de pagina te bieden. Lighthouse wordt bijvoorbeeld gebruikt om audits uit te voeren op de pagina om de kwaliteit ervan te analyseren op gebieden als toegankelijkheid en SEO. De sectie Hulpmiddelen hieronder gaat dieper in op elk van deze hulpmiddelen.
Om enkele van de inherente beperkingen van een labgegevensset te omzeilen, maakt de Web Almanac ook gebruik van het Chrome UX Report voor meetgegevens over gebruikerservaringen, vooral in het gebied van webprestaties.
Sommige statistieken zijn volledig buiten bereik. We hebben bijvoorbeeld niet per se de mogelijkheid om de hulpmiddelen te detecteren die worden gebruikt om een website te bouwen. Als een website is gebouwd met de create-react-app, kunnen we zien dat deze het React-framework gebruikt, maar niet noodzakelijkerwijs dat een bepaalde bouw-hulpmiddel wordt gebruikt. Tenzij deze Hulpmiddelen detecteerbare vingerafdrukken achterlaten in de code van de website, kunnen we het gebruik ervan niet meten.
Andere statistieken zijn niet per se onmogelijk te meten, maar zijn uitdagend of onbetrouwbaar. Aspecten van webdesign zijn bijvoorbeeld inherent visueel en kunnen moeilijk te kwantificeren zijn, bijvoorbeeld of een pagina een opdringerig modaal dialoogvenster heeft.
Hulpmiddelen
De Web Almanac wordt mogelijk gemaakt met behulp van de volgende open source hulpmiddelen.
WebPageTest
WebPageTest is een prominente hulpmiddel voor het testen van webprestaties en de ruggengraat van HTTP Archive. We gebruiken een privé-instantie van WebPageTest met privétest agenten, de daadwerkelijke browsers die elke webpagina testen. Desktop- en mobiele websites worden getest onder verschillende configuraties:
Config | Desktop | Mobiel |
---|---|---|
Apparaat | Linux-VM | Geëmuleerde Moto G4 |
User Agent | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36 PTST/200805.230825 | Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4) Build/MPJ24.139-64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Mobile Safari/537.36 PTST/200815.130813 |
Locatie |
Redwood City, Californië, VS The Dalles, Oregon, VS |
Redwood City, Californië, VS The Dalles, Oregon, VS |
Verbinding | Kabel (5/1 Mbps 28 ms RTT) | 3G (1.600/0.768 Mbps 300 ms RTT) |
Viewport | 1024 x 768 px | 512 x 360 px |
Desktopwebsites worden uitgevoerd vanuit een Chrome-desktopomgeving op een Linux-VM. De netwerksnelheid is gelijk aan een kabelverbinding.
Mobiele websites worden uitgevoerd vanuit een mobiele Chrome-omgeving op een geëmuleerd Moto G4-apparaat met een netwerksnelheid die gelijk is aan een 3G-verbinding. Merk op dat de geëmuleerde mobiele User Agent zichzelf identificeert als Chrome 65, maar eigenlijk Chrome 84 onder de motorkap is.
Er zijn twee locaties van waaruit tests worden uitgevoerd: Californië en Oregon, VS. HTTP Archive onderhoudt zijn eigen testagent hardware in het Internet Archive datacenter in Californië. Er zijn aanvullende testagenten toegevoegd op de us-west-1-locatie van Google Cloud Platform in Oregon indien nodig.
Het privé-exemplaar van WebPageTest van HTTP Archive wordt gesynchroniseerd met de laatste openbare versie en aangevuld met aangepaste statistieken. Dit zijn fragmenten van JavaScript die aan het einde van de test op elke website worden geëvalueerd. Dankzij de bijdragen van veel data-analisten, vooral de enorme inspanningen van Tony McCreath, heeft de 2020-editie van de Web Almanac de mogelijkheden van de testinfrastructuur van HTTP Archive aanzienlijk uitgebreid met meer dan 3.000 regels nieuwe code.
De resultaten van elke test worden beschikbaar gesteld als een HAR-bestand, een JSON-geformatteerd archiefbestand met metadata over de webpagina.
Lighthouse
Lighthouse is een geautomatiseerd hulpprogramma voor websitekwaliteitsborging, ontwikkeld door Google. Het controleert webpagina's om ervoor te zorgen dat ze geen antipatronen van gebruikerservaringen bevatten, zoals niet-geoptimaliseerde afbeeldingen en ontoegankelijke inhoud.
HTTP Archive voert de nieuwste versie van Lighthouse uit voor al zijn mobiele webpagina's -- desktoppagina's zijn niet opgenomen vanwege beperkte bronnen. Vanaf de crawl van augustus 2020 gebruikte HTTP Archive de 6.2.0 versie van Lighthouse.
Lighthouse wordt uitgevoerd als zijn eigen afzonderlijke test vanuit WebPageTest, maar het heeft zijn eigen configuratieprofiel:
Config | Waarde |
---|---|
CPU-vertraging | 1x/4x |
Download doorvoer | 1,6 Mbps |
Upload doorvoer | 0,768 Mbps |
RTT | 150 ms |
Raadpleeg de Lighthouse-documentatie voor ontwikkelaars voor meer informatie over Lighthouse en de audits die beschikbaar zijn in HTTP Archive.
Wappalyzer
Wappalyzer is een hulpmiddel voor het detecteren van technologieën die door webpagina's worden gebruikt. Er zijn 64 categorieën geteste technologieën, variërend van JavaScript-frameworks tot CMS-platforms en zelfs cryptocurrency-mijnwerkers. Er zijn meer dan 1.400 ondersteunde technologieën.
HTTP Archive voert de nieuwste versie van Wappalyzer uit voor alle webpagina's. Vanaf augustus 2020 gebruikte de Web Almanac de 6.2.0 versie van Wappalyzer.
Wappalyzer ondersteunt veel hoofdstukken die de populariteit van ontwikkelaarshulpmiddelen zoals WordPress, Bootstrap en jQuery analyseren. Bijvoorbeeld de e-commerce en CMS -hoofdstukken zijn sterk afhankelijk van de respectievelijke E-commerce en CMS technologieën die zijn gedetecteerd door Wappalyzer.
Alle detectiethulpmiddelen, inclusief Wappalyzer, hebben hun beperkingen. De validiteit van hun resultaten hangt altijd af van hoe nauwkeurig hun detectiemechanismen zijn. De Web Almanac voegt een opmerking toe aan elk hoofdstuk waarin Wappalyzer wordt gebruikt, maar de analyse is mogelijk niet nauwkeurig vanwege een specifieke reden.
Chrome UX Report
Het Chrome UX Report is een openbare dataset met echte Chrome-gebruikerservaringen. Ervaringen zijn gegroepeerd op basis van de oorsprong van websites, bijvoorbeeld https://www.example.com
. De dataset bevat distributies van UX-statistieken zoals verf, belasting, interactie en lay-outstabiliteit. Naast groepering per maand, kunnen ervaringen ook worden opgesplitst in dimensies zoals geografie op landniveau, vormfactor (desktop, telefoon, tablet) en effectief verbindingstype (4G, 3G, enz.).
Voor Web Almanac statistieken die verwijzen naar gegevens over de echte gebruikerservaring uit het Chrome UX Report, wordt de gegevensset van augustus 2020 (202008) gebruikt.
U kunt meer informatie over de dataset vinden in de handleiding Het Chrome UX Report op BigQuery gebruiken op web.dev.
Third Party Web
Third Party Web is een onderzoeksproject van Patrick Hulce, auteur van het Hoofdstuk Derden van 2019, dat HTTP Archive- en Lighthouse-gegevens gebruikt om de impact van bronnen van derden op internet te identificeren en te analyseren.
Domeinen worden als provider van derden beschouwd als ze op ten minste 50 unieke pagina's voorkomen. Het project groepeert providers ook op basis van hun respectieve diensten in categorieën zoals advertenties, analyse en sociaal.
Verschillende hoofdstukken in de Web Almanac gebruiken de domeinen en categorieën uit deze dataset om de impact van derden te begrijpen.
Rework CSS
Rework CSS is een op JavaScript gebaseerde CSS-parser. Het neemt volledige stylesheets en produceert een JSON-gecodeerd object dat elke individuele stijlregel, selector, richtlijn en waarde onderscheidt.
Deze speciale hulpmiddel heeft de nauwkeurigheid van veel van de statistieken in de CSS hoofdstuk aanzienlijk verbeterd. CSS in alle externe stylesheets en inline stijlblokken voor elke pagina werden geparseerd en opgevraagd om de analyse mogelijk te maken. Zie deze thread voor meer informatie over hoe deze is geïntegreerd met de HTTP Archive-dataset op BigQuery.
Rework Utils
Het CSS hoofdstuk van dit jaar geleid door Lea Verou heeft de status van CSS aanzienlijk gedetailleerder bekeken, verspreid over 100+ vragen. Voor het perspectief zijn dat 2,5x meer zoekopdrachten dan in 2019. Om deze analyseschaal haalbaar te maken, heeft Lea de Rework Utils open source gemaakt. Deze hulpprogramma's brengen de JSON-gegevens van Rework naar een hoger niveau door handige scripts te bieden om gemakkelijker CSS-inzichten te extraheren. De meeste statistieken die u in het CSS-hoofdstuk ziet, worden mogelijk gemaakt door deze scripts.
Parsel
Parsel is een CSS-selectorparser en specificiteitscalculator, oorspronkelijk geschreven door CSS hoofdstukleidster Lea Verou en open source als een aparte bibliotheek. Het wordt uitgebreid gebruikt in alle CSS-statistieken die betrekking hebben op selectors en specificiteit.
Analytisch proces
Het kostte ongeveer een jaar om de Web Almanac te plannen en uit te voeren met de coördinatie van meer dan honderd bijdragers van de webgemeenschap. In dit gedeelte wordt beschreven waarom we de hoofdstukken hebben gekozen die u in de Web Almanac ziet, hoe hun statistieken werden opgevraagd en hoe ze werden geïnterpreteerd.
Planning
De 2020 Web Almanac ging van start in juni 2020, later dan de tijdlijn van 2019 vanwege de onrust met betrekking tot COVID-19 en de protesten tegen sociale rechtvaardigheid. Deze en andere gebeurtenissen van 2020 waren een onderstroom tijdens het hele productieproces en legden veel extra druk op onze bijdragers naast de stress van een snel project als dit.
Zoals we verklaard hebben in de methodologie van vorig jaar:
Een expliciet doel voor toekomstige edities van de Web Almanac is om nog meer ondervertegenwoordigde en heterogene stemmen als auteurs en collega-recensenten aan te moedigen.
Daartoe hebben we dit jaar systematische wijzigingen aangebracht in de manier waarop we auteurs zoeken en selecteren:
- Eerdere auteurs werden specifiek ontmoedigd om opnieuw te schrijven om ruimte te maken voor verschillende perspectieven.
- Iedereen die de auteurs van 2020 onderschrijft, werd gevraagd om vooral bewust geen mensen te nomineren die er allemaal hetzelfde uitzien of denken.
- Veel auteurs van 2019 waren Google-medewerkers en dit jaar hebben we geprobeerd een beter evenwicht te vinden tussen de perspectieven van de bredere webgemeenschap. Wij zijn van mening dat de stemmen in de Web Almanac een weerspiegeling moeten zijn van de gemeenschap zelf, en niet scheef moeten trekken naar een specifiek bedrijf om te voorkomen dat er echokamers ontstaan.
- De projectleiders hebben alle nominaties voor auteurs beoordeeld en hebben zich ingespannen om auteurs te selecteren die nieuwe perspectieven inbrengen en de stemmen van ondervertegenwoordigde groepen in de gemeenschap versterken.
We hopen dit proces in de toekomst te herhalen om ervoor te zorgen dat de Web Almanac een meer divers en inclusief project wordt met bijdragers van alle achtergronden.
Eindelijk, in juli 2020, na brainstormrondes en nominaties, werden 22 hoofdstukken gestold en vormden we inhoudteams voor elk hoofdstuk dat was belast met het schrijven, beoordelen en analyseren.
Analyse
In juli en augustus 2020, met de stabiele lijst van statistieken en hoofdstukken, hebben data-analisten de statistieken getoetst op haalbaarheid. In sommige gevallen zijn aangepaste statistieken gemaakt om hiaten in onze analytische mogelijkheden op te vullen.
In augustus 2020 heeft de datapijplijn van HTTP Archive enkele miljoenen websites doorzocht en de metadata verzameld voor gebruik in de Web Almanac.
De data-analisten begonnen met het schrijven van queries om de resultaten voor elke statistiek te extraheren. In totaal zijn honderden vragen met de hand geschreven! U kunt door alle zoekopdrachten op jaar en hoofdstuk bladeren in onze open source query-repository op GitHub.
Interpretatie
Auteurs werkten met analisten om de resultaten correct te interpreteren en passende conclusies te trekken. Terwijl auteurs hun respectievelijke hoofdstukken schreven, putten ze uit deze statistieken om hun framing van de staat van het web te ondersteunen. Collega-recensenten werkten met auteurs om de technische correctheid van hun analyse te waarborgen.
Om de resultaten begrijpelijker te maken voor lezers, hebben webontwikkelaars en analisten datavisualisaties gemaakt om in het hoofdstuk in te bedden. Sommige visualisaties zijn vereenvoudigd om de punten duidelijker te maken. In plaats van een volledige verdeling te laten zien, worden er bijvoorbeeld slechts een handvol percentielen weergegeven. Tenzij anders vermeld, worden alle verdelingen samengevat met behulp van percentielen, vooral medianen (het 50e percentiel), en geen gemiddelden.
Ten slotte hebben redacteuren de hoofdstukken herzien om eenvoudige grammaticale fouten op te lossen en voor consistentie in de leeservaring te zorgen.
Vooruit kijkend
De 2020-editie van de Web Almanac is de tweede in wat we hopen voort te zetten als een jaarlijkse traditie in de webgemeenschap van introspectie en een toewijding aan positieve verandering. Het is een enorme inspanning geweest om dit punt te bereiken dankzij vele toegewijde bijdragers en we hopen zoveel mogelijk te gebruiken van dit werk om toekomstige edities nog meer gestroomlijnd te maken.
Als u geïnteresseerd bent om bij te dragen aan de 2021-editie van de Web Almanac, vul dan ons interesseformulier in. Laten we samenwerken om de staat van het internet bij te houden!