Joining the HTTP Archive’s technology detection with the Chrome UX Report makes for some really interesting analyses.
I’m giving a presentation tomorrow at DrupalEurope about performance and it’s really compelling to be able to show how the user experience varies by CMS. Here’s a query that calculates the average FCP distribution for each CMS detected by Wappalyzer in the HTTP Archive:
SELECT
app,
COUNT(DISTINCT origin) AS freq,
ROUND(SUM(IF(bin.start < 1000, bin.density, 0)) / SUM(bin.density), 4) AS fast,
ROUND(SUM(IF(bin.start >= 1000 AND bin.start < 3000, bin.density, 0)) / SUM(bin.density), 4) AS avg,
ROUND(SUM(IF(bin.start >= 3000, bin.density, 0)) / SUM(bin.density), 4) AS slow
FROM
`chrome-ux-report.all.201808`,
UNNEST(first_contentful_paint.histogram.bin) AS bin
JOIN (
SELECT
url,
app
FROM
`httparchive.technologies.2018_08_15_desktop`
WHERE
category = 'CMS'
GROUP BY
url,
app)
ON CONCAT(origin, '/') = url
GROUP BY
app
ORDER BY
freq DESC
Sorting the CMSs by popularity, there isn’t really a clear correlation with performance, but it’s still interesting to see the relative performance of each one.
Some observations:
Drupal has a higher density of fast FCP than WordPress
Wix, Squarespace, Joomla, and WordPress have < 25% fast FCP
All CMSs are average FCP (between 1 and 3s) at the 50th percentile
SELECT
app,
COUNT(DISTINCT origin) AS freq,
IF(form_factor.name = 'desktop', 'desktop', 'mobile') AS form_factor,
ROUND(SUM(IF(bin.start < 1000, bin.density, 0)) / SUM(bin.density), 4) AS fast,
ROUND(SUM(IF(bin.start >= 1000 AND bin.start < 3000, bin.density, 0)) / SUM(bin.density), 4) AS avg,
ROUND(SUM(IF(bin.start >= 3000, bin.density, 0)) / SUM(bin.density), 4) AS slow
FROM
`chrome-ux-report.all.201808`,
UNNEST(first_contentful_paint.histogram.bin) AS bin
JOIN (
SELECT
url,
app
FROM
`httparchive.technologies.2018_08_15_desktop`
WHERE
category = 'CMS'
GROUP BY
url,
app)
ON CONCAT(origin, '/') = url
GROUP BY
app,
form_factor
ORDER BY
freq DESC
@dawnieando we can query any of the 1000 technologies detected by Wappalyzer but there is no explicit support for specific WordPress themes. If there’s anything of value that you’d like to detect in HTTP Archive, adding it upstream to Wappalyzer would be the way to go.
Adding as many WordPress plugin detections as possible to Wappalyzer sounds like a great way to get some pressure to improve plugin performance! In particular, producing that graph across all WP sites split as “has plugin X / does not have plugin X”
Hello, I am trying to get some data (for example “bytesTotal” or “bytesCSS”) for Websites made with Plone. I am pretty new to writing custom queries and now I am stuck.
I know that the data i am trying to get is within the “summary_pages” dataset and Plone sites are in the “technologies” dataset, but I can not figure out how to connect those 2 datasets to get the outcome I want.
#Edit
With more research i did figure it out myself.
@RKomen2609 nice! Glad to hear you figured it out. Could you share your findings and the queries you used in a new thread? It’s always great to have more examples of the questions/answers people have.
Thank you @rviscomi (now answering, sorry for the missunderstood)!
We are talking (in spanish), about the sample and how much is each CMS represented. Maybe in WordPress is over represented and others, as Movable Type, underepresented.
But those graphics are terrific, thank you for sharing and for your work, guys!!