Logo Lanfrica

wykky/tutorstarter-perf

Domain:

digital infrastructure

Record type:

software
Creator:
wyk
Host:
Performance-optimized child theme for TutorStarter. Self-hosts Google Fonts, optimizes image loading, caches inline CSS. Built for low-bandwidth users (Ethiopia). # TutorStarter Performance Child Theme Performance-optimized child theme for TutorStarter (v3.0.4). Built for low-bandwidth users in Ethiopia (2-5 Mbps, 200-500ms latency, expensive per-MB data). **v2.0.0** — Now includes per-page asset dequeuing, script deferral, and preconnect hints based on a full site performance audit. ## Installation 1. Copy the `tutorstarter-perf` folder to `wp-content/themes/` 2. Activate **TutorStarter Performance** in Appearance > Themes 3. Run `wp media regenerate` (WP-CLI) to generate the new `blog-thumb` image size for existing uploads ## What It Fixes ### v1 Fixes (Theme-Level) | # | Fix | Savings | |---|-----|---------| | 1 | **Self-hosted Google Fonts** — Local WOFF2 variable fonts (Inter + Sora) with preload | Eliminates 2 DNS lookups + 400-1000ms. 72KB local vs ~600KB+ external | | 2 | **Blog thumbnail size** — `blog-thumb` (768x500) replaces `full` in blog templates | 70-90% image payload reduction per blog page | | 3 | **Cached inline CSS** — Caches 35 `get_theme_mod()` calls in a transient | ~15ms PHP savings per request | | 4 | **instant.page for all visitors** — Parent only loads for logged-in users | Perceived load time improvement on slow connections | | 5 | **Remove IE11 script** — IE11 is EOL, **Note**: TTFB (1.9s) requires server-side fixes (Cloudflare CDN, SiteGround cache config) not addressable by this child theme. ## File Structure ``` tutorstarter-perf/ ├── style.css # Theme declaration (v2.0.0) ├── functions.php # 13 performance fixes ├── assets/ │ └── fonts/ │ ├── inter-var-latin.woff2 # Inter variable (47KB) │ └── sora-var-latin.woff2 # Sora variable (25KB) └── views/ └── blog/ ├── blog-grid.php # Grid template (blog-thumb) └── blog-list.php # List template (blog-thumb) ``` ## How It Works The child theme uses WordPress hook priorities to intercept the parent's asset pipeline: - **`init`**: Disables emoji …