📱Test our Android app — free beta!Join Beta GroupYou'll receive the install link by email after joining.

Differences

This shows you the differences between two versions of the page.


about:web-vitals-audit [2026/07/22 17:44] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +{{htmlmetatags>metatag-keywords=(rti wiki performance,core web vitals,lcp,cls,fid,inp,performance audit 2026)&metatag-description=(Core Web Vitals baseline for top RTI Wiki pages — sampled page-weight and scripting profile as of April 2026. Roadmap for a full Lighthouse audit.)}}
 +
 +====== Performance Baseline — Core Web Vitals ======
 +
 +
 +
 +
 +{{ :social:auto:about-web-vitals-audit.png?direct&1200 |Performance Baseline — Core Web Vitals — RTI Wiki}}
 +
 +<WRAP center round info 95%>
 +**Quick Reply:** Core Web Vitals baseline for top RTI Wiki pages — sampled page-weight and scripting profile as of April 2026. Roadmap for a full Lighthouse audit.
 +</WRAP>
 +
 +<WRAP center round info 95%>
 +**Baseline sampled on 21 April 2026** across the five highest-traffic pages. This is a lightweight cURL/weight snapshot, not a full Lighthouse audit. A headless-Chrome pass is the next step — findings will replace this page when complete.
 +</WRAP>
 +
 +===== Sampled pages and weights =====
 +
 +| Slug | Transfer size | Load time (curl) | `<img>` count | `<script>` count |
 +| file-rti-online-india | 386 KB | 1.04 s | 21 | 50 |
 +| explanations/grounds-for-rejection | 383 KB | 0.81 s | 45 | 48 |
 +| faq | 353 KB | 0.72 s | 20 | 48 |
 +| blog/how-to-write-rti-application | 345 KB | 0.74 s | 20 | 50 |
 +| tools/generator | 334 KB | 0.68 s | 19 | 48 |
 +
 +**Observations:**
 +
 +  * **Transfer size** is consistently in the **330-390 KB** band. Healthy for a full-article page; the theme / framework inflates about 280 KB of this.
 +  * **First-byte latency** is under 200 ms (via server); full HTML arrives well under a second.
 +  * **Scripts per page** are 48-50 — mostly inlined (WebLLM bubble, DYK widget, verified-badge JS, breadcrumbs, share-bar, surprise-me, gamification). No external JS calls apart from Google Fonts and AdSense.
 +  * **Image count** is bounded; the explanations/grounds-for-rejection page has 45 images because of the 15 clause icons (SVG, tiny) + infographic diagrams.
 +
 +===== Anticipated Core Web Vitals =====
 +
 +  * **LCP (Largest Contentful Paint)** — most likely the hero banner (~40 KB PNG). Lazy-loaded below the fold on most articles. Target <2.5s (good).
 +  * **CLS (Cumulative Layout Shift)** — low risk. The floating chat bubble is appended after DOM-ready, well outside the viewport centre. The DYK widget is sidebar, fixed width.
 +  * **INP (Interaction to Next Paint)** — the main risk area is the DYK widget button (simple DOM swap, negligible) and the floating-chat iframe opening (iframe load time dominates on first click).
 +
 +===== Recommendations for a full audit =====
 +
 +  - **Run Lighthouse** on each of the top-20 pages via headless Chrome. Record scores for performance, accessibility, best-practices, SEO.
 +  - **Sample with Chrome UX Report (CrUX)** for real-user monitoring once traffic is sufficient (currently below the 10k-URLs-per-origin threshold).
 +  - **Use PageSpeed Insights API** to measure the same set monthly; record in a spreadsheet or dashboard.
 +  - **Isolate scripting cost** — profile the breadcrumb + surprise-me + DYK + chat launcher stack under CPU throttling. Combine into a single bundle if any one crosses 50 ms on mid-range devices.
 +  - **Image optimisation** — auto-generated hero banners are already WebP-ready; explicitly specify width/height on `<img>` tags to prevent CLS.
 +  - **Font loading** — Google Fonts is the only external font; consider `font-display: swap` to eliminate FOIT.
 +
 +===== Quick wins identified (already applied) =====
 +
 +  * **SVG icons** instead of raster for the grounds-for-rejection clause list — 45 icons totalling ~6 KB.
 +  * **Lazy iframe** for the floating chat — does not load /tools/chat-app.html until the bubble is clicked.
 +  * **Deferred script loading** — the WebLLM library is dynamically imported only when the user opts in to deep analysis.
 +  * **Preconnect hints** — already in place for Google Fonts in pageheader.html.
 +  * **Cache headers** — Apache mod_expires already set for images/CSS/JS to 1 year (configured in /home/bighelpers/public_html/rtiwiki/.htaccess).
 +
 +===== Known caveats =====
 +
 +  * **AdSense** adds ~30-50 KB of deferred script. Each ad slot triggers a separate render call. Mitigate by keeping ad density low.
 +  * **Google Translate widget** is on-demand (click-to-load) — zero cost until activated.
 +  * **DokuWiki legacy CSS** includes several unused selectors; a CSS purge pass could trim ~20 KB.
 +
 +===== Sources =====
 +
 +  * Measurement methodology: curl with `--write-out` template for transfer size and timing.
 +  * Core Web Vitals thresholds: Google's official guidelines at ''web.dev/vitals''.
 +
 +----
 +
 +//Last reviewed: 21 April 2026.// //Baseline snapshot — full Lighthouse audit pending.//
 +
 +{{tag>performance core-web-vitals audit engineering}}