# Case Study: rds.ink/drawings-of-endangered-animals-series/ Scores 77 **Date tested:** 2026-05-13 07:12:51 UTC **Device:** Mobile **Engine:** Sitespeed.io (HAR-based approximation) **Score:** 77/100 ← AMBER (needs improvement) --- ## The Numbers | Metric | Value | Good | Poor | Status | Contribution | |--------|-------|------|------|--------|--------------| | **TBT (Total Blocking Time)** | 1,807ms | 200ms | 600ms | 🔴 CRITICAL | 30/100 pts | | FCP (First Contentful Paint) | 2,116ms | 1,800ms | 3,000ms | 🟡 SLOW | 82/100 pts | | TTFB (Time to First Byte) | 144ms | 800ms | 1,800ms | ✓ GOOD | 100/100 pts | | CLS (Cumulative Layout Shift) | 0.0 | 0.1 | 0.25 | ✓ EXCELLENT | 100/100 pts | | LCP (Largest Contentful Paint) | Not measured | 2,500ms | 4,000ms | ❓ UNKNOWN | skipped | **Final score:** (30 + 82 + 100 + 100) / 4 = **78 ≈ 77** --- ## Why 77, Not Higher? **One metric kills the score: TBT at 1,807ms.** TBT (Total Blocking Time) is how long JavaScript execution **blocks user interaction**. Your page: 1. Finishes initial render at FCP (2.1s) ✓ 2. BUT JavaScript continues executing for another **1.8 seconds** after that 3. During those 1.8s, user clicks don't work, scrolling is frozen 4. Page feels frozen even though it looks loaded This single metric contributes only 30/100 points, dragging the average from ~90 to 77. --- ## Root Cause Analysis ### Page Composition (from HAR) - **Total size:** 4.2 MB - **Images:** 0.6 MB (14%) - **JavaScript:** 1.8 MB (44%) ← THE PROBLEM - **CSS:** Not measured - **Requests:** 26 HTTP requests **The JavaScript is the bottleneck.** 1.8 MB of JS code, much of it loaded during page render: - WooCommerce scripts (jQuery, jQuery plugins, WC-specific code) - Elementor JavaScript runtime (webpack, core, widgets) - Product gallery plugins (likely Lightbox, PhotoSwipe, or Slick) - Lazy-load libraries - Analytics/tracking scripts All of this executes **synchronously** on the main thread, blocking the browser from responding to user input. ### Why FCP is Slow Too (2,116ms) The page doesn't show any content until 2.1 seconds because: 1. Server takes 144ms (acceptable) 2. Browser parses HTML 3. Hits render-blocking JavaScript in `
` or early `` 4. Waits for scripts to download + execute 5. Finally renders first content If you defer non-critical JS, FCP would drop significantly. --- ## How to Fix It: Hummingbird Settings You use **Hummingbird** for performance optimisation. Here are the exact steps: ### Fix #1: Defer Non-Critical JavaScript (15 min, +12 score points) **Path:** WordPress Admin → Performance → Hummingbird 1. Click **Performance** tab 2. Scroll to **JavaScript** section 3. ✓ **Enable "Defer JavaScript"** - This adds `defer` to all `