WooCommerce Variable Products

WooCommerce Variable Products: Stock, Attributes, and Schema

A customer opens a shirt page, selects black and large, and gets "out of stock." Your inventory sheet says four units. The dropdown on the same page lists a medium that vanished last month and never came back. Nothing is broken in the way the debug log understands broken.…

Faceted Navigation in WooCommerce

Faceted Navigation in WooCommerce Without Duplicate URLs

Open your shop page, view the source, and count the links that carry a query string. On a store with six filterable attributes, that number is usually in the hundreds. Every one of those links is a crawlable URL, and most of them return a page with three products…

NDIS Practice Standards

NDIS Practice Standards: what an auditor can see on your website

The NDIS Practice Standards govern how you deliver supports. They say nothing about your website. That is the honest starting point, and also the reason for this article. A few of the outcomes inside them leave a trace that any stranger can see, and most provider sites give the…

Cloudflare for WordPress

Cloudflare for WordPress: What to Turn On and What Breaks

A Cloudflare account does not make a WordPress site faster. The default configuration leaves HTML uncached, which is the part WordPress is slowest at serving. Meanwhile half the switches recommended in older tutorials either no longer exist or actively break checkout. Start with one command. It answers whether Cloudflare…

LiteSpeed Cache

LiteSpeed Cache: The Six Settings That Actually Move Scores

Before you open the settings screen, ask the server one question: curl -sI https://awplife.com/ | grep -i -E 'x-litespeed-cache|x-qc-cache|x-lsadc-cache' If that command prints nothing, the plugin cannot cache your pages, no matter which toggles you flip. LiteSpeed's own installation guide is blunt about it: on Apache, nginx, or any…

INP in WordPress

INP in WordPress: Why Pages Feel Slow After They Load

You click "Add to cart" on a page that finished loading a while ago. Nothing happens for half a second. Then the spinner, then the cart count, then the drawer. Nothing in that sequence is a loading problem — the HTML, CSS, and images arrived long before the click.…

Self-Hosted Google Fonts in WordPress

Self-Hosted Google Fonts in WordPress: Faster Loads, Fewer Legal Questions

Open DevTools on most WordPress sites, filter the Network panel to fonts, and reload. You will usually see two hosts: fonts.googleapis.com for a stylesheet, then fonts.gstatic.com for the actual font files. Neither one is your server. That single fact creates two separate problems. The first is a render-blocking stylesheet…

Hreflang for Multilingual WordPress

Hreflang for Multilingual WordPress: Setup Guide

The setup that most often kills a multilingual WordPress site is not the hreflang tags. It is the canonical tag sitting next to them. A common sequence: someone launches Spanish and German versions, the SEO plugin applies a site-wide canonical, and every translated page now declares the English original…

Canonical Tags in WordPress

Canonical Tags in WordPress: How to Fix Duplicate Content the Right Way

Take one article on a WordPress site and count the URLs it answers on. There is the permalink, the same permalink with ?utm_source=newsletter, the ?replytocom= variant after someone replies to a comment, the /index.php/ form some hosts still serve, the http:// version, and often a category archive that lists…

WordPress Indexing Problems

WordPress Indexing Problems: Why New Posts Stay Off Google

You publish a post, wait a day, then search its exact title in quotes. Nothing. Search site:yourdomain.com/the-post-slug. Nothing. So the question starts as "is the post bad?" — but that is almost never where the answer is. A post missing from Google has a short list of possible causes,…