SEO Practical
The zero-result screen is where people leave
An empty screen has to say why it is empty and what to do next. And where a filter can return nothing, show the counts so the dead…
Technote
203 articles
SEO Practical
An empty screen has to say why it is empty and what to do next. And where a filter can return nothing, show the counts so the dead…
Development workflow Practical
WordPress stores serialised PHP arrays in options and meta, with string lengths written inside them. A SQL REPLACE changes the value and leaves the length behind.
SEO Practical
A single conversion rate only tells you it is low. Divide the path into steps and you can see which stretch loses people — and therefore what to…
Development workflow Practical
Most auto-replies go out with the default wording. Yet it is the first message a customer ever receives from you — brand copy, not a receipt.
SEO Practical
Two keywords with the same volume can need entirely different pages. How to read the intent tools do not show, and how to handle the spelling variation Korean…
Performance optimization Practical
Nobody decides to make a landing page heavy. It accumulates: one addition per campaign, and nothing ever removed when the campaign ends.
SEO Practical
Sometimes the page holding your ranking down is your own. Two ways to spot it, three ways to fix it, and a rule for choosing between them.
Development workflow Practical
Filler text of uniform length hides every layout problem you have. Real sentences vary wildly, and that variance is exactly where a layout falls apart.
SEO Practical
Hundreds of addresses can show the same list in a different order. Nothing looks wrong on screen, which is exactly why the problem is found late.
Development workflow Practical
A screenshot is one moment under ideal conditions. States, edge cases and real content only surface on staging — and staging has conditions of its own.
Themes & plugins Advanced
details, :target, :focus-within, :has() and scroll timelines cover a surprising amount of interaction. One rule keeps them safe: the default state must be the finished state.
Development workflow Practical
permission_callback is not optional. Omit it and the route is public, with a core warning to match. An args schema then keeps validation out of your handler entirely.
Cited
Topics outside WordPress are collected on Dongji Communication Tech Insights, run by the same team. The summaries below are quoted from the originals; the titles link to them.
Working with AI
Writing a CLAUDE.md — teaching an AI coding assistant your project
AI coding tools such as Claude Code, Cursor and Copilot do better work the more precisely they know your project. Here is a structure and a set of principles that hold up.
Working with AI
Prompting an AI for UI design — drafting with Claude and GPT
Asking an AI to "make a nice button" gets you a disappointing button. Structured prompts that carry constraints, references and a defined role get you the design you meant.
Themes & plugins
SCSS from the ground up — variables through module structure
The core syntax of SCSS (Sass) and what it solves that plain CSS cannot: variables, nesting, mixins, @use and module structure — organised around patterns you can use immediately.
Themes & plugins
Design tokens and theme colour systems — brand identity in SCSS variables
How to turn a colour palette from a pile of hex codes into a system that means something — semantic token structure and SCSS variable patterns, from a real project.
Performance optimization
Designing a responsive typography system — the science of readability
Hard-coded pixel font sizes are over. Type scales, fluid sizing with clamp(), Korean webfont optimisation and line-height ratios — building typography that reads well on any screen.
Development workflow
From Figma to SCSS — a designer-developer handoff guide
Minimising what gets lost between a Figma file and the code: extracting tokens, naming components, keeping the spacing system in sync — the whole workflow, step by step.