User Tools

Site Tools


clients:rainbowvapes

# rainbowvapes.co.uk

Vape shop WooCommerce site. Good client — £200/month SEO and break-fix support. Owner: James (Rainbow Vapes Ltd). Second site: `rainbowflavours.co.uk` (alias of `rf.kaburu.co` on kaburusvr).

## Email

- `[email protected]` + `[email protected]` — both forward to `[email protected]` (James reads at AOL) - Transactional sending via Fluent SMTP; re-point to Brevo on migration - ⚠️ Brother created a hello@↔no-reply@ forward loop on guru — do NOT replicate

## Migration — ✅ COMPLETE (Tue 2026-08-18)

Migrated from guru.co.uk to kaburusvr. Cutover completed 07:00 BST. Full runbook: rainbowvapes-migration. DNS A record → 49.13.202.144 (CF proxied). SSL via acme.sh DNS-01. Email forwarders → [email protected] via Postfix virtual.

Issue during cutover: cron-created `.maintenance` file was root:root 640 — caused HTTP 500 until removed.

## Hosting

Item Detail
————–
Current host kaburusvr (Hetzner CCX23)
Cost Shared hosting (included in MSP)
Server IP 49.13.202.144
CyberPanel user rainb1286
Home dir /home/rainbowvapes.co.uk
WP dir /home/rainbowvapes.co.uk/public_html
PHP 8.3 (lsphp83)
WP 7.0.4
Theme Divi 4.27.7 (avanti child, latest v4, no v5 upgrade planned)

## Stack

WooCommerce, Divi 4, Divi Booster, DiviFlash, YITH Gift Cards, YITH Advanced Product Options, YITH Added to Cart Popup, WP Loyalty/Rules, Weight Based Shipping, Worldpay, FastPixel, Rank Math Pro, ShortPixel, ACF, Complianz, FiboFilters Pro, Ajax Search for WooCommerce, 1account Age Verification, Fluent SMTP, MainWP child, Markdown for Agents and Statistics.

## Migration to Hetzner — PROPOSED

Proposal: Move to kaburusvr.uk (49.13.202.144) at £45/month. Saving client £10/month vs current £55. Server costs covered by this one client.

Key selling point — Redis object cache (⚠️ DISPROVEN 2026-08-14): Checkout page on shared hosting has no object cache — DB hit on every request. *Note: load test proved Redis object cache makes no difference here — the site is PHP-render-CPU-bound, not DB-bound. See “Redis A/B” below. Do not pitch Redis as the fix.*

### Baseline performance (2026-05-18, shared hosting, no Redis)

Page TTFB Total Notes
——————-——-
Homepage 92ms 108ms LiteSpeed cached
Shop 102ms 118ms LiteSpeed cached
Product page 128ms 144ms LiteSpeed cached
Checkout 2,205ms 2,216ms Uncached — DB cold hit every time

Checkout at 2.2s TTFB is the pain point. Age verification + YITH plugins + WooCommerce session handling all hitting DB with no object cache. Redis would bring this under 300ms.

Post-migration test: Run same curl baseline after migration + Redis live for A/B proof.

2026-08-14 load test (kaburusvr, synthetic FastPixel-style crawl): Fired 11.45 req/s (FastPixel's peak) of uncached page renders at rf.kaburu.co (the rainbowvapes replica, 31 published pages, avanti+Divi+WooCommerce). Result: 4 vCPU box saturates on uncached renders (load ~10, CPU ~96% nice=lsphp, 2% idle), sustaining only ~4.6 req/s, p50 latency 2.6s, p95 hits the 15s timeout (16/287 failed). Recovers to 95% idle immediately after — no crash, no 500/503 (degrades to slow, unlike the shared host's LVE 503s).

Redis A/B (2026-08-14): Enabled Redis object cache on the replica (redis-cache plugin, Predis client) and re-ran the identical test. No meaningful improvement — 4.6 → 4.7 req/s, errors unchanged, CPU still saturated (87% nice = lsphp). Redis served 68% of object lookups (~79K hits during test) but the bottleneck is PHP render CPU, not the DB. Conclusion: Redis object cache does NOT fix this workload. Real levers: LSCache page cache (repeat hits only), fix avanti theme loading admin code (`jedi-apprentice`) on every frontend render, throttle/schedule FastPixel crawls off-peak, or more vCPU.

## Notes

- Facebook for WooCommerce: plugin deleted, 23,814 DB rows purged 2026-05-18.

Notorious for re-seeding — monitor action scheduler for facebook hooks returning.

- Divi PHP warnings (ThemeBuilderRequest.php null taxonomy) — v4 bug, low priority - 1account age verification PHP 8 compat warnings — low priority, not breaking - Markdown for Agents and Statistics 1.4.4 — active, serving bot markdown pages - No Redis currently — object-cache.php not present - 2026-08-13 outage (16m18s): UptimeRobot (Falkenstein node 168.119.96.239) reported a

connection timeout 22:44:26→23:00:44. Root cause = FastPixel full-site cache-warm crawl
(peaked 687 req/min at 22:40) buckling the shared host — FastPixel's own error.json logged
"page stopped responding (timeout 30000ms)", plus 8×500 + 9×503 in the window. Real Google
organic traffic still got 200s, but uncached pages were timing out. This is the shared-hosting
pain point the Hetzner+Redis migration pitch addresses.

## Pending

- [ ] Talk to client about migration (Steve, 2026-05-19) - [ ] Run GTmetrix/PageSpeed baseline before migration - [ ] Migrate to kaburusvr, enable Redis, run post comparison - [ ] Add to Matomo tracking

clients/rainbowvapes.txt · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki