niletech.fi: load under 1 second (plan + discussion)
Imported from GitHub issue El-SaMa/oma#202 by @El-SaMa.
Goal from the operator 2026-10-14: niletech.fi pages load in under 1 s. Today every page is 2-4 s (after the 2026-10-14 English fix; before it, English pages took 18-25 s).
Findings so far:
- No page cache: every response is
X-FastCGI-Cache: BYPASS. Polylang sets apll_languagecookie on every page, so nginx never serves cached HTML. This is the biggest win: cached anonymous pages are about 0.1-0.3 s. - 2,994 product taxonomies (attribute duplicates, see the niletech-attr-dupes notes). Every product query and admin screen pays for them.
- Heavy stack: WoodMart + Elementor + Elementor Pro + Ultimate Elementor + Polylang + many plugins; menus are built per request.
- Needless writes per request (small):
_elementor_design_system_sync_css_metadelete+insert, a Fluent license option, and on English pages 3 WoodMartdefault_term_*options.
Plan to discuss before touching the live shop:
- Page cache for anonymous visitors without a cart: don't let the Polylang cookie break caching (language from URL only), and bypass rules for cart, checkout, my-account, logged-in users and WooCommerce session cookies.
- Cache purge on product, price and stock changes (CataSync pushes, Woo saves).
- Merge or clean up the duplicate attribute taxonomies.
- Stop the per-request option writes.
- Plugin and asset audit (Elementor/WoodMart CSS/JS weight, unused plugins).
- Measure before and after: TTFB + full load for home, category, product, search, cart and checkout in FI and EN, plus a live add-to-cart → checkout test.
Replaces #197.