Research, 11 November 2026

I measured every aviation business website in Florida. One in 13 would not load.

Private aviation sells precision. Scheduled to the minute, maintained to the letter, audited constantly. I wanted to know whether the websites held to the same standard, so I measured 1,151 of them with the same free tool any customer could run.

89 would not load at all
7.8s median time to show the main content
77.8% in Google's poor band for it
8.7% pass all three Core Web Vitals

Start with the ones that are not in the results at all. Eighty nine of 1,151 sites did not return a usable page. Not slowly. Google's own testing tool asked, waited, and gave up. That is one website in 13, and the owners almost certainly do not know, because the failure does not happen when they visit their own site.

Of the 1,042 that did answer, the median took 7.8 seconds to show its main content on a phone. Google calls anything over four seconds poor. 77.8 percent are in that band. The median performance score was 64.5 out of 100.

One site in the whole sample scored 100 on all four categories. Seventeen scored 100 on performance alone, which is worth saying plainly: a fast website is achievable in this industry, on this budget, with these constraints. Some of them have already done it.

The method, before the numbers

How this was actually done

This goes first, because a study that explains its method afterward is asking to be taken on trust, and nobody should take a study about websites on trust from somebody who builds websites for a living.

The sample. I queried Google Places for five terms, "fixed base operator", "private jet charter", "aircraft management company", "aircraft maintenance" and "aircraft avionics", in each of 36 Florida airport markets, from Pensacola to Key West. The unit is the airport market rather than the metro, because operators sit at airports rather than in city centers.

That returned 1,305 businesses with a website, de-duplicated by domain. 154 were removed before anything was measured, and the reason for every single one ships with the data. The largest group was marine businesses, because "charter" in Florida means boats and a search cannot tell the difference. Flight schools, tour operators, parts dealers, government airport authorities and two multinational corporate sites went the same way.

Every remaining business was measured. Not a sample of them. This is small enough an industry to measure completely, which means nobody is missing because of how a random draw happened to fall.

The measurement. PageSpeed Insights, mobile, three runs per site, median taken. Three rather than one because a single Lighthouse run is a sample rather than a measurement, and the spread between runs on one unchanged page is wide enough to produce whatever answer you were hoping for.

No company is named anywhere. Not the fastest, not the slowest. The aggregate is published and every individual result stays with the business it belongs to.

The scores

Three categories are fine. One is not.

Median score in each of the four Lighthouse categories Performance median 64.5, with 11.7 percent of sites at 90 or above. Accessibility median 89, with 48.7 percent of sites at 90 or above. Best Practices median 96, with 74.9 percent of sites at 90 or above. SEO median 92, with 70.9 percent of sites at 90 or above. 90, where Google stops calling it green Performance Performance: median 64.5 64.5 11.7% reach 90 Accessibility Accessibility: median 89 89 48.7% reach 90 Best Practices Best Practices: median 96 96 74.9% reach 90 SEO SEO: median 92 92 70.9% reach 90
At or above 90 Below 90 Median of all four categories across the measured sample, mobile. Performance is the only one that misses 90, and it misses it by twenty six points. Scroll the chart sideways to see all of it.

This is the part that surprised me. Accessibility, best practices and structure are all in reasonable shape across the industry. These are not neglected websites thrown together by people who did not care. Somebody built most of them properly.

Performance is the one nobody measured. It is the only category with a median below 90, the only one with sites scoring under 50, and the only one a customer experiences directly.

How the 1042 performance scores are distributed Performance scores for 1042 sites, counted in bands of ten: 0 to 9, 1 sites; 10 to 19, 1 sites; 20 to 29, 16 sites; 30 to 39, 63 sites; 40 to 49, 102 sites; 50 to 59, 208 sites; 60 to 69, 243 sites; 70 to 79, 188 sites; 80 to 89, 98 sites; 90 to 100, 122 sites. The median is 64.5 and the middle half of the sample sits between 54 and 76. 0 50 100 150 200 250 0 to 9: 1 sites, 0.1 percent 1 10 to 19: 1 sites, 0.1 percent 1 20 to 29: 16 sites, 1.5 percent 16 30 to 39: 63 sites, 6 percent 63 40 to 49: 102 sites, 9.8 percent 102 50 to 59: 208 sites, 20 percent 208 60 to 69: 243 sites, 23.3 percent 243 70 to 79: 188 sites, 18 percent 188 80 to 89: 98 sites, 9.4 percent 98 90 to 100: 122 sites, 11.7 percent 122 0 10 20 30 40 50 60 70 80 90 100 Median, 64.5 Median 64.5 The middle half of the sample, 54 to 76 Half the sample, 54 to 76 Worse Better
Sites in that band 90 and above, the only band Google calls green The middle half, 54 to 76 Performance score, mobile, 1042 sites. The last band holds eleven points rather than ten, which is why it is wider. Scroll the chart sideways to see all of it.

The spread runs from 8 to 100. A quarter of these sites score below 54. A quarter score above 76. The gap between those two groups is not budget, because some of the fastest sites here belong to single location operators.

Against Google's own thresholds

Core Web Vitals, band by band

Share of sites in each of Google's three bands, for four loading metrics Largest paint: 11.5 percent good, 10.7 percent needs work, 77.8 percent poor. First paint: 21.5 percent good, 40.6 percent needs work, 37.9 percent poor. Blocking time: 66.3 percent good, 23 percent needs work, 10.7 percent poor. Layout shift: 86.1 percent good, 6.4 percent needs work, 7.5 percent poor. 91 sites of 1042, 8.7 percent, sit in the good band on all three at once. 0% 100% Largest paint Largest paint, Good: 11.5 percent 11.5% Largest paint, Needs work: 10.7 percent 10.7% Largest paint, Poor: 77.8 percent 77.8% 7.8 s First paint First paint, Good: 21.5 percent 21.5% First paint, Needs work: 40.6 percent 40.6% First paint, Poor: 37.9 percent 37.9% 2.6 s Blocking time Blocking time, Good: 66.3 percent 66.3% Blocking time, Needs work: 23 percent 23% Blocking time, Poor: 10.7 percent 10.7% 101 ms Layout shift Layout shift, Good: 86.1 percent 86.1% Layout shift, Needs work: 6.4 percent 6.4% Layout shift, Poor: 7.5 percent 7.5% 0
Good Needs work Poor Google's own thresholds. The figure on the right of each bar is that metric's median across the sample. 91 of 1042 sites, 8.7 percent, are in the good band on largest paint, blocking time and layout shift at the same time. Scroll the chart sideways to see all of it.

Layout shift is excellent across the industry and blocking time is mostly fine. The failure is concentrated almost entirely in how long it takes anything useful to appear.

91 of 1,042 sites pass all three at once. Only 11.5 percent reach Google's good band on largest paint, and that is the number that decides whether somebody standing on a ramp with one bar of signal waits or gives up.

The largest gap in the data

Page builders, and what they cost

448 of these sites were built with a page builder and 594 were not. The difference shows up in every measure that matters.

Page builder sites against sites with no builder detected, on four measures Medians for the 448 sites where a page builder was detected against the 594 where none was. Performance score: 63 with a page builder, 66 without one. Largest paint: 8.5 s with a page builder, 7 s without one. Page weight: 2.8 MB with a page builder, 2.4 MB without one. Third parties: 5 with a page builder, 5 without one. Performance score higher is better Page builder detected, Performance score: 63 No builder detected, Performance score: 66 63 66 Builder None Largest paint lower is better Page builder detected, Largest paint: 8.5 s No builder detected, Largest paint: 7 s 8.5 s 7 s Builder None Page weight lower is better Page builder detected, Page weight: 2.8 MB No builder detected, Page weight: 2.4 MB 2.8 MB 2.4 MB Builder None Third parties lower is better Page builder detected, Third parties: 5 No builder detected, Third parties: 5 5 5 Builder None
Page builder detected, 448 sites No builder detected, 594 sites Medians. Each panel is scaled to its own largest bar, so compare the two bars inside a panel and not the heights across panels. Scroll the chart sideways to see all of it.

A page builder has to be able to render any layout anybody might drag onto a canvas, so it ships the code for all of them whether the page uses them or not. On a desk with fiber that is invisible. On a phone at an FBO it is the whole difference.

The gap widens when you look at individual platforms rather than the category. The table below splits it out, and the largest single group in this sample carries roughly a megabyte and a half more than sites with no builder at all, for the same job.

Median performance score by platform, worst to best WPBakery, 51 sites, median 58 and 3 megabytes. Squarespace, 51 sites, median 58 and 2.8 megabytes. Elementor, 180 sites, median 61 and 3.6 megabytes. Divi, 56 sites, median 64 and 2.8 megabytes. No builder detected, 594 sites, median 66 and 2.4 megabytes. Beaver Builder, 18 sites, median 67 and 1.6 megabytes. Wix, 81 sites, median 71 and 2.2 megabytes. 0 25 50 75 100 WPBakery 51 sites WPBakery: median 58 across 51 sites 58 3 MB Squarespace 51 sites Squarespace: median 58 across 51 sites 58 2.8 MB Elementor 180 sites Elementor: median 61 across 180 sites 61 3.6 MB Divi 56 sites Divi: median 64 across 56 sites 64 2.8 MB No builder detected 594 sites No builder detected: median 66 across 594 sites 66 2.4 MB Beaver Builder 18 sites Beaver Builder: median 67 across 18 sites 67 1.6 MB Wix 81 sites Wix: median 71 across 81 sites 71 2.2 MB
Median performance score No builder detected, the reference group The figure on the right of each bar is that group's median page weight. Not shown, because fewer than 12 sites is not enough to take a median from: Shopify 8, Duda 7, Oxygen 3, Bricks 2, Webflow 1. That is a sample size, not a verdict on the platform. Scroll the chart sideways to see all of it.

Worth being fair about this. Most of these sites exist because a builder made them possible in an afternoon at a price that made sense, and the alternative was often no website at all. The cost does not appear until somebody measures it, which is most of the reason it stays.

What they actually ship

The median homepage, itemized

The median site weighs 2.6 MB and makes 74 requests before it is usable. 44.2 percent ship more than three megabytes.

Of that, 951 KB is code from other companies, spread across 5 separate services. Chat widgets, tag managers, tracking pixels, font services, booking tools. 17.5 percent load ten or more.

Nearly a megabyte of the median page was not written by anyone the operator hired, and is not serving the operator directly. Every one of those was added for a reason that made sense on the day. Nobody removes them.

The ones that would not load

Eighty nine of them never answered

These sites are not in any median above, because there was nothing to measure. They are the most important result in the study.

  • 82 could not load the document reliably
  • 6 painted no content inside the timeout
  • 1 returned something that was not HTML

None of those are the tool's fault. A rate limit on my side would have returned a 429 with a retry header. These were refusals and failures from the sites themselves.

The reason an owner never finds out is that they are not the failing request. Your browser has a warm cache, a session, and probably an edge node near you. A crawler arriving cold from a datacenter in another state gets a different experience of the same server. And an uptime monitor checking whether the server answers is asking a different question from whether a full page render completes.

The blank panel

Why most of these reports say "No Data"

23.4 percent of these sites have enough Chrome traffic for Google to report real world measurements of them. The rest show "No Data", which is a traffic threshold rather than a verdict.

If your own report shows No Data it does not mean your site is bad. It means not enough people visited for Google to publish a number. It does mean most of this industry is working from lab figures, which is closer to not measuring than it looks.

The limits

What this study does not say

It does not say these are bad businesses. It measures four things about a website. It says nothing about whether an operator runs a good ramp, maintains aircraft well or answers the phone at two in the morning, which are the things that actually decide who gets the work.

It does not separate operators from brokers. Nothing in a business listing says who holds a Part 135 certificate, and several businesses in this sample are visibly both. Claiming that split would be inventing a distinction the data cannot support, so it is not claimed.

It is one state. Florida has more general aviation traffic than most places and the result may not hold elsewhere. The method is published so anyone can run it on their own.

It is one moment. Everything was measured on 11 November 2026. A site that was having a bad morning is recorded as having a bad morning, which is part of why three runs were taken rather than one.

The search terms shaped the sample. A business that does not appear for any of five search terms is not in here, and the ones least likely to appear are probably the ones with the weakest web presence. If anything, that biases the result optimistic.

Check it yourself

The whole thing is published

Every row and every script. The dataset carries each site's scores, timings, page weight, request counts, third parties and platform, with the business names and URLs removed. Every median on this page can be re-derived from it.

The scripts are the ones that produced it, not a cleaned up version written afterward, including the exclusion rules and the reason recorded for each of the 154 businesses removed before measurement.

Every figure above as a table
Performance score distribution, 1042 sites
Score band Sites Share
0 to 9 1 0.1%
10 to 19 1 0.1%
20 to 29 16 1.5%
30 to 39 63 6%
40 to 49 102 9.8%
50 to 59 208 20%
60 to 69 243 23.3%
70 to 79 188 18%
80 to 89 98 9.4%
90 to 100 122 11.7%
Median score by category
Category Median 90 or above Under 50
Performance 64.5 11.7% 17.6%
Accessibility 89 48.7% 0.5%
Best Practices 96 74.9% 0.5%
SEO 92 70.9% 1.4%
Loading metrics against Google's bands
Metric Good Needs work Poor
Largest paint 11.5% 10.7% 77.8%
First paint 21.5% 40.6% 37.9%
Blocking time 66.3% 23% 10.7%
Layout shift 86.1% 6.4% 7.5%
Platform medians, groups of 12 sites or more
Platform Sites Median score Median weight
Elementor 180 61 3.6 MB
Wix 81 71 2.2 MB
Divi 56 64 2.8 MB
WPBakery 51 58 3 MB
Squarespace 51 58 2.8 MB
Beaver Builder 18 67 1.6 MB
No builder detected 594 66 2.4 MB

My own numbers

Where I sit in this

It would be cheap to publish a study about slow websites without showing my own. This site's live scores, measured the same way and republished whenever they change, are on the Under the Hood page, including the runs where the number came out worse than I wanted.

I build websites for a living, so I have an obvious interest in this study existing. The defense against that is not a disclaimer, it is that the data and the code are both on this page and you can check every figure yourself.

More research

Start here

Tell me what you are trying to fix

Send over the site you have now, or the one you wish you had. I will tell you honestly whether I am the right person for it.

info@palmprojects.com