Key Findings
- The average law firm homepage is 262KB of raw HTML -- before any external stylesheets, scripts, or images load. The median is 172KB, and the heaviest page in our sample hit 5.3MB.
- 131KB of inline code per page: The average homepage contains 72KB of inline CSS and 59KB of inline JavaScript baked directly into the HTML document, making it uncacheable.
- 48.7 external resources per page including an average of 30.6 images. Each resource requires a separate HTTP request, compounding load times.
- Only 28.4% of sites use lazy loading on any images at all, and among those that do, just 20.2% of images are lazy-loaded. Responsive images (srcset) appear on only 35.6% of sites.
- Text-to-HTML ratio averages just 5.3% -- over 94% of the HTML document is code, not content. The average homepage has 1,677 words, but they are buried in markup bloat.
About This Research
Page weight is one of the most fundamental performance metrics for any website. When a visitor clicks a link to your law firm's homepage, the browser must download the HTML document before it can begin rendering text, loading images, or executing scripts. The larger that document, the longer the visitor waits -- and the more likely they are to bounce.
Yet most law firm website audits focus on Lighthouse scores or server response times while ignoring the actual content of the HTML document itself. How much of that document is useful text? How much is inline CSS that could be externalized and cached? How many images load immediately even though the visitor will never scroll to them?
We analyzed the raw HTML source code of 303 law firm homepages across 25 U.S. markets to answer these questions with data rather than assumptions.
Methodology
We collected the homepages of 303 law firms identified through Google organic search results across 25 high-growth U.S. markets and 2 practice areas (personal injury and family law). For each homepage, we fetched the raw HTML source using a headless browser and parsed it to extract:
- HTML document size -- total bytes of the raw HTML response.
- Inline CSS -- total bytes within <style> tags embedded in the document.
- Inline JavaScript -- total bytes within <script> tags (excluding external src references).
- External resources -- count of external stylesheets, scripts, images, and other linked resources.
- Image optimization signals -- use of loading="lazy", srcset attributes, and <picture> elements.
- Content metrics -- word count, text-to-HTML ratio, heading count, paragraph count, and link count.
All data was collected in a single pass. Sites that returned redirect chains, error pages, or empty responses were excluded from the analysis.
The Numbers at a Glance
HTML Size Distribution
The distribution of HTML document sizes across all 303 sites reveals that most law firm homepages fall in the 100-250KB range. Nearly one in ten sites exceeds 500KB of raw HTML -- a threshold that creates noticeable delays on mobile connections.
| HTML Size Range | Sites | % of Total |
|---|---|---|
| Under 100KB | 88 | 29.0% |
| 100 - 250KB | 118 | 38.9% |
| 250 - 500KB | 64 | 21.1% |
| 500KB - 1MB | 26 | 8.6% |
| Over 1MB | 7 | 2.3% |
The 100-250KB bucket is the most common, containing 38.9% of all sites. This is the "default" weight for a typical CMS-built law firm homepage. The under-100KB group (29%) tends to include either well-optimized custom builds or very minimal single-page sites. The 7 sites exceeding 1MB of HTML alone represent extreme cases of template bloat, inline SVG abuse, or massive inline script payloads.
The Inline Resource Problem
One of the biggest contributors to HTML weight is code that has been embedded directly into the document rather than loaded as external, cacheable files. Across our sample:
- Inline CSS averages 72KB per page (median 27KB, max 896KB). This CSS is re-downloaded on every single page load because it lives inside the HTML document rather than in a separate cached stylesheet.
- Inline JavaScript averages 59KB per page (median 20KB, max 5MB). The worst offenders embed entire analytics libraries, chat widgets, and tracking scripts directly in the HTML.
Combined, the average law firm homepage contains 131KB of inline CSS and JavaScript. That is half the total HTML weight devoted to code that could be externalized into separate files and cached by the browser indefinitely.
The gap between average and median tells an important story. The median inline CSS (27KB) and median inline JS (20KB) are far lower than the averages, indicating that a relatively small number of extremely bloated sites drag the averages up. For the typical law firm homepage, inline resources account for roughly 47KB -- still significant, but manageable. For the outliers, inline code alone can exceed the entire HTML weight of an optimized site.
The Image Optimization Gap
The average law firm homepage loads 30.6 images. At that volume, how those images are delivered has an outsized impact on page performance.
Lazy loading adoption
Only 28.4% of the 303 sites use the loading="lazy" attribute on any of their images. Among those that do implement it, an average of just 20.2% of images on the page are marked as lazy. This means even the sites that have adopted lazy loading are only applying it to a fraction of their images.
The practical impact: on a page with 30 images and no lazy loading, the browser attempts to download all 30 simultaneously on page load, regardless of whether the visitor will ever scroll below the fold. This directly hurts Largest Contentful Paint (LCP) and overall Time to Interactive.
Responsive images
35.6% of sites use the srcset attribute to serve different image sizes based on viewport width. This is a modest improvement over lazy loading adoption, but it still means nearly two-thirds of law firm sites serve the same image file to a phone that they serve to a desktop monitor.
The combination is telling: most law firm homepages load too many images, load them all at once, and serve desktop-sized files to mobile devices. These are not obscure optimizations -- lazy loading and srcset are native HTML features supported by every modern browser.
Content Density
Beyond performance, page weight also reveals how much of a law firm's homepage is actual content versus structural code.
Word count
The average law firm homepage contains 1,677 words (median 1,310). This is within the range that SEO research generally considers adequate for service pages, though the spread is enormous -- from sites with nearly zero visible text to one homepage with over 23,600 words.
Text-to-HTML ratio
The average text-to-HTML ratio is 5.3% (median 4.5%). This means that for every 100 bytes of HTML delivered to the browser, fewer than 6 bytes are actual readable text. The remaining 94+ bytes are markup, inline styles, inline scripts, and structural code.
A low text-to-HTML ratio is not inherently bad -- modern web development requires a certain amount of structural markup. But when combined with the inline resource data above, it paints a picture of homepages that are carrying significant dead weight. A 262KB HTML document with a 5.3% text ratio contains roughly 14KB of readable content wrapped in 248KB of code.
For context, the maximum text-to-HTML ratio in our sample was 33.8%, demonstrating that it is entirely possible to build content-rich law firm homepages without the code overhead.
Limitations
This study has several important caveats:
- HTML only: We measured raw HTML document weight, not total page weight (which would include all external CSS, JavaScript, images, fonts, and other assets). Total page weight is typically 5-20x larger than HTML weight alone.
- Homepage only: We analyzed only the homepage of each site. Interior pages (practice area pages, attorney bios, blog posts) may have very different weight profiles.
- Point-in-time snapshot: All data was collected in a single pass. Sites are updated frequently, and weights can change with any content edit or plugin update.
- No rendering analysis: We measured source code metrics, not rendering performance. A heavy page with effective caching may still perform well for repeat visitors.
- CMS variability: We did not control for CMS platform. WordPress sites with heavy themes, Wix sites, custom builds, and directory listings all appear in the same dataset.
Full Methodology Details
Data collection
Sites were identified through Google organic search results across 25 high-growth U.S. markets using queries for personal injury and family law firms. We fetched each homepage using a headless browser (Puppeteer) with JavaScript enabled, capturing the full rendered HTML source after initial page load.
Fields extracted per site
Domain, URL, HTML byte count, inline CSS byte count (sum of all <style> tags), inline JavaScript byte count (sum of all inline <script> tags), external stylesheet count, external script count, total external resource count, image count, lazy-loaded image count, srcset image count, <picture> element count, visible text word count, text byte count, text-to-HTML ratio, heading count, paragraph count, and link count.
Calculations
Text-to-HTML ratio: (text bytes / HTML bytes) x 100. Lazy load percentage: (images with loading="lazy" / total images) x 100, calculated only for sites with at least one image. All averages are arithmetic means. Medians are reported alongside averages where the distribution is skewed.
Sample
303 unique law firm homepages across 25 markets: Georgetown TX, Wilmington NC, Myrtle Beach SC, Murfreesboro TN, Concord NC, Huntsville AL, Port St. Lucie FL, Naples FL, Daphne AL, Cary NC, Round Rock TX, New Braunfels TX, Goodyear AZ, McKinney TX, St. George UT, Provo UT, Fort Collins CO, Bend OR, Castle Rock CO, Roseville CA, Carmel IN, Sioux Falls SD, Fargo ND, Rochester MN, Coeur d'Alene ID.