DEV Community

Susumu Takahashi profile picture

Susumu Takahashi

Founder of Layerworks (solo). Years of maintaining client WordPress sites across Japanese hosts, now building tools for it. I post war stories from real WP maintenance.

Work

Solo developer & founder at Layerworks

A "days since last maintenance" badge — color-coding staleness across many sites

A "days since last maintenance" badge — color-coding staleness across many sites

Comments
4 min read

Want to connect with Susumu Takahashi?

Create an account to connect with Susumu Takahashi. You can also sign in below to proceed if you already have an account.

Already have an account? Sign in
Detecting the running site from streaming logs — why log-order inference broke, and how one marker fixed it

Detecting the running site from streaming logs — why log-order inference broke, and how one marker fixed it

Comments
4 min read
Quieting PHP 8.2+ deprecated noise from older WP-CLI — three layers to keep JSON parse clean

Quieting PHP 8.2+ deprecated noise from older WP-CLI — three layers to keep JSON parse clean

1
Comments
5 min read
Implementing a dynamic OGP image generator for our blog — PHP GD, per-post 1200 630 cards

Implementing a dynamic OGP image generator for our blog — PHP GD, per-post 1200 630 cards

Comments
5 min read
Diff from the live server, not from your git history — when a local repo has drifted from production

Diff from the live server, not from your git history — when a local repo has drifted from production

Comments 2
4 min read
Multilingual emails from a Stripe webhook — inferring language from currency

Multilingual emails from a Stripe webhook — inferring language from currency

Comments
4 min read
Maintaining WordPress sites behind HTTP Basic auth — Playwright, urllib, and encrypted credentials

Maintaining WordPress sites behind HTTP Basic auth — Playwright, urllib, and encrypted credentials

Comments
4 min read
When paramiko's defaults silently get your IP banned — the look_for_keys and allow_agent trap

When paramiko's defaults silently get your IP banned — the look_for_keys and allow_agent trap

Comments
4 min read
Sweeping i18n leaks with four parallel AI agents — from 300 candidates down to 60 real bugs

Sweeping i18n leaks with four parallel AI agents — from 300 candidates down to 60 real bugs

Comments
4 min read
When SSH commands hit a csh login shell — wrapping every command in /bin/sh -c across the codebase

When SSH commands hit a csh login shell — wrapping every command in /bin/sh -c across the codebase

Comments
4 min read
Building a cache-first dashboard — explicit fetch and a "closes-but-keeps-running" notice

Building a cache-first dashboard — explicit fetch and a "closes-but-keeps-running" notice

Comments
4 min read
Connection architectures for WordPress maintenance tools — mapping four products on a two-axis grid

Connection architectures for WordPress maintenance tools — mapping four products on a two-axis grid

Comments
5 min read
Hub-and-spoke SEO for comparison pages — fielding "alternative" search intent from multiple angles

Hub-and-spoke SEO for comparison pages — fielding "alternative" search intent from multiple angles

1
Comments
3 min read
Playwright versus WordPress's "admin email confirmation" screen — how automation can clear the 6-month gate

Playwright versus WordPress's "admin email confirmation" screen — how automation can clear the 6-month gate

Comments
3 min read
When WP admin shows a plugin update but WP-CLI doesn't — making automation see proprietary updaters

When WP admin shows a plugin update but WP-CLI doesn't — making automation see proprietary updaters

Comments
3 min read
Solving "Permissions are too open" from inside the app — auto-diagnosing and auto-fixing SSH key permissions

Solving "Permissions are too open" from inside the app — auto-diagnosing and auto-fixing SSH key permissions

1
Comments
3 min read
"not a valid OPENSSH private key file" — building a compat layer for seven SSH private-key formats

"not a valid OPENSSH private key file" — building a compat layer for seven SSH private-key formats

Comments
3 min read
Renaming a site without losing its data — separating display name from a stable identifier

Renaming a site without losing its data — separating display name from a stable identifier

Comments
3 min read
Beyond "Update All" — selecting plugins across sites while keeping every safety mechanism on

Beyond "Update All" — selecting plugins across sites while keeping every safety mechanism on

Comments
3 min read
Distributing a Python desktop app on Windows and Mac — the full release pipeline

Distributing a Python desktop app on Windows and Mac — the full release pipeline

Comments
4 min read
Why we built a desktop app on local Flask + browser UI instead of PyQt or Electron

Why we built a desktop app on local Flask + browser UI instead of PyQt or Electron

9
Comments 2
3 min read
Pinpoint rollback — building per-plugin revert with WP-CLI

Pinpoint rollback — building per-plugin revert with WP-CLI

Comments
3 min read
Three gaps the WordPress maintenance industry still hasn't solved — from a survey of four major tools

Three gaps the WordPress maintenance industry still hasn't solved — from a survey of four major tools

Comments
3 min read
After a core rollback, halt the rest — a safety design we arrived at the hard way

After a core rollback, halt the rest — a safety design we arrived at the hard way

Comments 1
3 min read
InfiniteWP's Strengths and Who It Fits — An Honest Review from a Competing Tool Builder

InfiniteWP's Strengths and Who It Fits — An Honest Review from a Competing Tool Builder

Comments 1
4 min read
WP Umbrella's Strengths and Who It Fits — An Honest Review from a Competing Tool Builder

WP Umbrella's Strengths and Who It Fits — An Honest Review from a Competing Tool Builder

Comments
4 min read
MainWP's Strengths and Who It Fits — An Honest Review from a Competing Tool Builder

MainWP's Strengths and Who It Fits — An Honest Review from a Competing Tool Builder

Comments
4 min read
'Command not found' — and what's really blocking WP-CLI

'Command not found' — and what's really blocking WP-CLI

Comments
3 min read
Why WP-CLI Won't Start on Some Shared Hosts — A Field Investigation Across Four Architectures

Why WP-CLI Won't Start on Some Shared Hosts — A Field Investigation Across Four Architectures

Comments
5 min read
ManageWP's Strengths and Who It Fits — An Honest Review from a Competing Tool Builder

ManageWP's Strengths and Who It Fits — An Honest Review from a Competing Tool Builder

Comments
4 min read
When WP-CLI fatals on the plugin you came to rescue

When WP-CLI fatals on the plugin you came to rescue

Comments
2 min read
loading...