# Alain Schlesser > Architectural rigor for the age of intelligent machines. Essays, talks, and guest appearances by Alain Schlesser — agentic engineer, architect, and technical leader. ## Pages - [About — Alain Schlesser](https://www.alainschlesser.com/about/): Twenty-five years of systems work — one page. - [On Maintaining WP-CLI — Alain Schlesser](https://www.alainschlesser.com/appearances/cloudways-2021-wp-cli-maintainer/): A written interview on a 25-year engineering path — from Luxembourg's civil service to freelancing and maintaining WP-CLI. Alain argues developers should stop reinventing the wheel, and reads WordPress as a content-creation system held back by PHP 4-era design decisions. - [AI, WordPress & WooCommerce — Alain Schlesser](https://www.alainschlesser.com/appearances/do-the-woo-2023-ai-wordpress-woocommerce/): A grounded panel on what AI actually does for WordPress and WooCommerce, separating real capability from hype. The discussion covers AI-generated code and its security blind spots, statistical models versus genuine reasoning, training-data feedback loops, and where machine learning fits in commerce recommendations. - [All Things CloudFest 2024 Hackathon — Alain Schlesser](https://www.alainschlesser.com/appearances/do-the-woo-2024-cloudfest-hackathon/): An inside look at the CloudFest 2024 Hackathon — the cross-ecosystem build event where WordPress, Drupal, Joomla, and other communities ship open-source projects together over a few days. Covers the format, the cross-CMS collaboration model, and the charitable and diversity initiatives wrapped around it. - [Groundbreaker Talents: Tech Opportunities in Uganda — Alain Schlesser](https://www.alainschlesser.com/appearances/do-the-woo-2024-groundbreaker-talents/): Alain joins hosts BobWP and Birgit Olzem as a Groundbreaker Talents mentor — alongside co-founder Leoni Rossberg and graduate Claire Nakamatte — to talk through the nonprofit's twelve-month residential programme training young women in Uganda as software engineers, and the hiring outcomes that follow. - [Learn About the CloudFest Hackathon 2025 — Alain Schlesser](https://www.alainschlesser.com/appearances/do-the-woo-2025-cloudfest-hackathon/): Carole Olinger gathers project leads Alain Schlesser, John Blackbourn, Oliver Sild, Pascal Birchler, and Vytautas Dilba to preview the CloudFest Hackathon 2025: three days at Europa-Park where roughly 110 open-source contributors build projects spanning WordPress, security, and cross-CMS tooling. - [Supporting WordPress Contributors — Alain Schlesser](https://www.alainschlesser.com/appearances/do-the-woo-devchat-2022/): A frank conversation about the cost of open-source work in WordPress: who maintains critical tooling like WP-CLI for little reward, why WordCamp organisers run six-figure budgets unpaid, and how sponsorship, Five for the Future, and corporate backing might make contribution sustainable. - [How Yoast Is Rethinking SEO for the Age of AI — Alain Schlesser](https://www.alainschlesser.com/appearances/get-discovered-2026-yoast-seo-ai/): AI platforms now sit in front of search as a gatekeeper, and the brands that survive an LLM's statistical compression are the distinctive ones, not the safe ones. Alain explains why ranking in the top few results matters more than ever, and how Yoast tracks brand visibility across ChatGPT, Perplexity, and Gemini. - [Appearances — Alain Schlesser](https://www.alainschlesser.com/appearances/): Podcasts, interviews, and conversations — guest appearances on other people's channels, in writing, audio, and video, on agentic systems, WordPress, open source, and the craft of software engineering. - [WordCamp Europe & the WP-CLI — Alain Schlesser](https://www.alainschlesser.com/appearances/pantheon-2019-wceu-wp-cli/): Filmed at WordCamp Europe in Berlin, a conversation with the maintainer of WP-CLI about keeping a critical WordPress tool alive. Alain covers sponsor-funded maintenance as a hedge against burnout, and his rethink of the Scaffold command into a teaching tool for current best practices. - [Making WP-CLI Work for You — Alain Schlesser](https://www.alainschlesser.com/appearances/plesk-next-level-ops-2022/): A practical case for running WordPress from the command line. Alain explains how WP-CLI automates the work the dashboard makes tedious — generating test data, cloning configs, bulk-managing comments, and driving full migrations through import/export and search-replace. - [Alain Schlesser und die WP-CLI — Alain Schlesser](https://www.alainschlesser.com/appearances/presswerk-2017-wp-cli/): A German-language conversation on what WP-CLI is and how it grew up. Alain covers the move from a one-maintainer project under Daniel Bachhuber to an official, sponsor-funded WordPress.org team, plus the package manager that lets the community ship custom commands. - [Savvii Spotlight — Alain Schlesser](https://www.alainschlesser.com/appearances/savvii-2019-spotlight/): A written profile of the WP-CLI maintainer: how he landed in WordPress, why technical debt is the threat he most wants the project to outrun, and what it took to turn unpaid core work into a sustainable living. Alain on freelancing, future-proofing, and not burning out. - [On the Agentic SEO Stack — Alain Schlesser](https://www.alainschlesser.com/appearances/seeders-2025-brightonseo-agentic-seo/): Recorded at brightonSEO, a walk through the agentic SEO stack — where context, not clever prompting, is the unlock. Alain shows how context engineering and a coding agent like Claude Code turn manual SEO execution into multi-step workflows that understand business goals and remember prior work. - [WP-CLI — past, present, and future — Alain Schlesser](https://www.alainschlesser.com/appearances/wp-engine-qa-2023/): As WP-CLI's maintainer, Alain traces the tool from a monolithic script into a modularised framework with its own package manager, reflects on the wide adoption that made it hosting-industry infrastructure, and lays out where the project's scaffolding and code-generation tooling should head next. - [Improving WordPress — Alain Schlesser](https://www.alainschlesser.com/appearances/wp-hackercast-2018-improving-wordpress/): A wide-ranging conversation with host Jonathan Bossenger on going freelance, contributing to WordPress core, and stewarding WP-CLI as a maintainer. Alain also weighs how US and European developer cultures shape the way people approach open-source work. - [Contact — Alain Schlesser](https://www.alainschlesser.com/contact/): Start a conversation about technical leadership, agentic architecture, or a speaking booking. - [Imprint — Alain Schlesser](https://www.alainschlesser.com/imprint/): Legal information about the operator of this site, per TMG §5. - [Architectural rigor for the age of intelligent machines — Alain Schlesser](https://www.alainschlesser.com/): Architectural rigor for the age of intelligent machines. 25 years of systems thinking, applied to systems that think. - [Privacy Policy — Alain Schlesser](https://www.alainschlesser.com/privacy/): How this site collects, uses, and protects your personal data. - [A New Plugin Boilerplate for a New Era — Alain Schlesser](https://www.alainschlesser.com/speaking/a-new-plugin-boilerplate-for-a-new-era/): WordPress is raising its PHP floor, but few plugin developers exploit what PHP 7.2+ actually offers. A new boilerplate built on a strictly typed OOP foundation and applied best practices — and how that structure cuts long-term maintenance cost on real plugin code. - [A New Plugin Boilerplate for a New Era — Alain Schlesser](https://www.alainschlesser.com/speaking/a-new-plugin-boilerplate-for-a-new-era-2/): WordPress is raising its PHP floor, but few plugin developers exploit what PHP 7.2+ actually offers. A new boilerplate built on a strictly typed OOP foundation and applied best practices — and how that structure cuts long-term maintenance cost on real plugin code. - [Advanced Performance & Scalability for PHP Developers — Alain Schlesser](https://www.alainschlesser.com/speaking/advanced-performance-scalability-for-php-developers-2/): Server-side performance and scalability, ground up: profiling, deferred processing, and caching to clear the big wins first, then the harder layer of code that simply must run faster. Loop optimization, static data, opcache, and the mechanics behind why PHP slows down. - [The Agentic SEO Stack: Context over Prompts — Alain Schlesser](https://www.alainschlesser.com/speaking/brightonseo-2025-agentic-seo-stack/): Engineering-minded SEO teams can move past one-off AI prompting to production-grade agentic workflows. How context engineering and a coding agent like Claude Code turn complex SEO objectives into repeatable, multi-step systems that scale an agency's expertise — instead of leaning on clever prompts. - [Building a Realtime Status Page using the combined power of Gutenberg and Firebase — Alain Schlesser](https://www.alainschlesser.com/speaking/building-a-realtime-status-page-using-the-combined-power-of-gutenberg-and-firebase/): Serverless and real-time databases open up experiences WordPress alone can't deliver. Builds a status page end to end: a Gutenberg block for updates, a serverless function to post them via a Slack command, and a real-time database pushing changes to every visitor live — with zero load on the WordPress server. - [Panel: AI Content, SEO, and the Future of Publishing on WordPress — Alain Schlesser](https://www.alainschlesser.com/speaking/cloudfest-2026-ai-content-seo-publishing-panel/): AI-generated content is reshaping how sites are built, optimised, and ranked. Four voices from SEO architecture, hosting, agency delivery, and AI tooling debate what WordPress must do to stay the open web's platform of choice in an AI-first world. With Thierry Muller, Vito Peleg, Rahul Bansal, and moderator Robert Jacobi. - [WordPress's AI Roadmap: What the Industry Needs to Know — Alain Schlesser](https://www.alainschlesser.com/speaking/cloudfest-2026-wordpress-ai-roadmap/): Two decades of web dominance gave WordPress a training-data moat; the next two years turn on whether it builds for the AI agents handling content discovery and site management. The trajectory from that moat to the Abilities API, MCP adoption, and AI Building Blocks — and what the industry must work out before 7.0. - [The Agentic Stack: What Comes After Containers and Serverless — Alain Schlesser](https://www.alainschlesser.com/speaking/cloudfest-usa-2025-agentic-stack/): Containers and serverless were built for workloads that scale with traffic and idle down. Agentic systems run continuously, hold state across long workflows, and coordinate autonomously — breaking that model. Where today's stack fails for agents, and the new primitives emerging to replace it. - [Hackathon Results: The FAIR Software Security Assistant — Alain Schlesser](https://www.alainschlesser.com/speaking/cloudfest-usa-2025-fair-hackathon/): Main-stage results of the CloudFest USA hackathon, where 22 participants built the FAIR Software Security Assistant in a day. As mentor, Alain led FAIR's first labelling implementation: bridging Patchstack's CVE API with the FAIR network to surface vulnerability warnings and block vulnerable installs in wp-admin. - [Computer Science Intro: How To Avoid Reinventing The Wheel — Alain Schlesser](https://www.alainschlesser.com/speaking/computer-science-intro-avoid-reinventing-wheel/): WordPress developers reinvent wheels daily, rebuilding problems computer science solved decades ago. A brief tour of the discipline's history and reach, and the case for reaching for known, proven solutions before writing your own from scratch. - [Controlling WordPress Through The Command Line — Introduction To WP-CLI — Alain Schlesser](https://www.alainschlesser.com/speaking/controlling-wordpress-command-line-introduction-wp-cli/): Managing more than one WordPress site means repeating the same operation by hand, click by click, across every install. WP-CLI replaces that with a single command run across an arbitrary number of sites. Starts from the command line itself, then works through scenarios where it saves hours of manual work. - [Demystifying the WordPress Bootstrap Process — Alain Schlesser](https://www.alainschlesser.com/speaking/demystifying-wordpress-bootstrap-process/): The WordPress bootstrap is barely documented and understood by only a handful of core developers. Walks the exact execution flow of every page request: file load order, global constants, pluggable functions, the database connection, caching, localization, multisite resolution, and Plugin API init. - [Dependency Injection and Design Patterns in Real Life \[Workshop\] (with David Mosterd) — Alain Schlesser](https://www.alainschlesser.com/speaking/dependency-injection-design-patterns-real-life-workshop-david-mosterd/): For developers who know the pattern buzzwords and OOP syntax but can't turn them into real benefit. A hands-on build of a WordPress plugin applying dependency injection and practical design patterns to genuine pain points, with strategies for ever-changing requirements. Solid PHP and OOP assumed. - [Design Patterns through Practical Examples — Alain Schlesser](https://www.alainschlesser.com/speaking/design-patterns-practical-examples/): Design patterns give developers a shared vocabulary across languages, but their abstraction makes them hard to apply for real. Building an actual WordPress plugin with several of the more common patterns, showing where each one earns its place and the concrete benefit it delivers. - [Embracing Gutenberg In Existing Code — Alain Schlesser](https://www.alainschlesser.com/speaking/embracing-gutenberg-in-existing-code/): Gutenberg started as the editor but was designed to swallow the entire admin. Carrying a legacy plugin or theme into that future is an architecture problem first. The concepts governing block-era development, and concrete techniques for migrating existing code cleanly — in stages, not a rewrite. - [Embracing Gutenberg in Existing Code — Alain Schlesser](https://www.alainschlesser.com/speaking/embracing-gutenberg-in-existing-code-2/): Gutenberg started as the editor but was designed to swallow the entire admin. Carrying a legacy plugin or theme into that future is an architecture problem first. The concepts governing block-era development, and concrete techniques for migrating existing code cleanly — in stages, not a rewrite. - [Hacking the DOM Object Hierarchy — Alain Schlesser](https://www.alainschlesser.com/speaking/hacking-the-dom-object-hierarchy/): PHP's DOM extension manipulates XML and HTML safely, and parts of its object hierarchy are even extensible — until you hit the spots where extension breaks down entirely. Lessons from building the AMP PHP toolbox abstraction layer: clean APIs, cached state, UTF-8 transcoding, and polyfills for libxml bugs. - [High-level View of Web & WordPress Development — Alain Schlesser](https://www.alainschlesser.com/speaking/high-level-view-web-wordpress-development/): Developers get lost in the details of a system with this much happening behind the scenes. A step back to map the components and what each is responsible for: client-server architecture in general, then how WordPress's parts fit together. For beginning and intermediate developers. - [Speaking — Alain Schlesser](https://www.alainschlesser.com/speaking/): Keynotes, conference talks, and workshops on agentic systems, the future of software engineering, and AI-native architectures. - [Paradigm-resilient software architecture — Alain Schlesser](https://www.alainschlesser.com/speaking/ipc-2024-paradigm-resilient/): Frameworks come and go; the decisions that keep a codebase alive across a decade sit one layer below the framework. A field guide to those decisions — which constraints are structural, which are historical accidents, and how to tell the difference at three in the morning. - [OOP Plugin Development Basics — Alain Schlesser](https://www.alainschlesser.com/speaking/oop-plugin-development-basics/): Writing object-oriented plugins against WordPress means fighting a procedural API at every hook. Works through a real-world plugin to show how to structure the code and where to hook into the WordPress lifecycle — so you keep the benefits of OOP PHP instead of bolting classes onto procedural patterns. - [Optimizing Backend Performance using Compile-time Processing — Alain Schlesser](https://www.alainschlesser.com/speaking/optimizing-backend-performance-using-compile-time-processing/): Shift the heavy lifting from runtime to compile time. By generating classes that load straight from opcache, PHP's own parse-and-compile step absorbs the expensive work, leaving runtime extremely fast. Optimization techniques for backends that need real headroom. - [Optimizing Page Experience in PHP — Alain Schlesser](https://www.alainschlesser.com/speaking/optimizing-page-experience-in-php/): Core Web Vitals and Page Experience are now search ranking signals: a site that isn't both fast and user-friendly will struggle to rank. What the update means for publishers, then a deep pass on measuring and optimizing those scores for assets served from PHP backends and frameworks. - [Package Design Principles — Alain Schlesser](https://www.alainschlesser.com/speaking/package-design-principles/): Open-source packages meant for public distribution live or die on their design decisions. The principles worth holding the line on when you build and maintain them: dependency management, filesystem and namespace structure, and disciplined standards adherence. - [Package Design Principles — Alain Schlesser](https://www.alainschlesser.com/speaking/package-design-principles-2/): Open-source packages meant for public distribution live or die on their design decisions. The principles worth holding the line on when you build and maintain them: dependency management, filesystem and namespace structure, and disciplined standards adherence. - [PHP Exceptions Best Practices — Alain Schlesser](https://www.alainschlesser.com/speaking/php-exceptions-best-practices/): Everyone agrees you should use exceptions in PHP, yet almost nobody explains how to structure them across a large codebase. A working approach: the nature of exceptions, how to set up a hierarchy that scales, and the habits that keep them maintainable before refactoring gets expensive. - [PHP Exceptions Best Practices — Alain Schlesser](https://www.alainschlesser.com/speaking/php-exceptions-best-practices-2/): Everyone agrees you should use exceptions in PHP, yet almost nobody explains how to structure them across a large codebase. A working approach: the nature of exceptions, how to set up a hierarchy that scales, and the habits that keep them maintainable before refactoring gets expensive. - [The Secret Sauce For Writing Reusable Code — Alain Schlesser](https://www.alainschlesser.com/speaking/secret-sauce-writing-reusable-code/): Most developers preach reusable code, then quietly copy-paste and tweak instead of reusing what they already wrote. The fix is separating reusable logic from project-specific logic — and how Config files draw that line cleanly so code carries across projects unchanged. - [The Secret Sauce For Writing Reusable Code — Alain Schlesser](https://www.alainschlesser.com/speaking/secret-sauce-writing-reusable-code-2/): Most developers preach reusable code, then quietly copy-paste and tweak instead of reusing what they already wrote. The fix is separating reusable logic from project-specific logic — and how Config files draw that line cleanly so code carries across projects unchanged. - [Structuring Larger OOP Plugins — Alain Schlesser](https://www.alainschlesser.com/speaking/structuring-larger-oop-plugins/): As a WordPress plugin grows, structure decides whether it stays maintainable or calcifies. Key techniques for scaling: splitting code into reusable Composer libraries and using dependency injection to decouple from specific implementations. Assumes basic OOP familiarity. - [The Cost of Contribution — Alain Schlesser](https://www.alainschlesser.com/speaking/the-cost-of-contribution/): Open-source enthusiasm quietly slides into overcommitment, obligation, and burnout. Every contribution carries a cost that gets paid somehow, even unpaid volunteer time. A frank case for destigmatizing money in "free" software, naming the adverse effects of unsustainable contribution, and building a community that lasts. - [The Cost of Contribution — Alain Schlesser](https://www.alainschlesser.com/speaking/the-cost-of-contribution-2/): Open-source enthusiasm quietly slides into overcommitment, obligation, and burnout. Every contribution carries a cost that gets paid somehow, even unpaid volunteer time. A frank case for destigmatizing money in "free" software, naming the adverse effects of unsustainable contribution, and building a community that lasts. - [The Eternal Struggle: Backward Compatibility VS Technical Debt — Alain Schlesser](https://www.alainschlesser.com/speaking/the-eternal-struggle-backward-compatibility-vs-technical-debt/): WordPress owes much of its success to one-click updates that never break sites, but that obsession with backward compatibility quietly compounds technical debt. How the two forces feed each other, and what the tradeoff means for Core's maintainability and future evolution. - [The eternal struggle: backward compatibility vs. technical debt — Alain Schlesser](https://www.alainschlesser.com/speaking/the-eternal-struggle-backward-compatibility-vs-technical-debt-2/): WordPress owes much of its success to one-click updates that never break sites, but that obsession with backward compatibility quietly compounds technical debt. How the two forces feed each other, and what the tradeoff means for Core's maintainability and future evolution. - [The eternal struggle: backward compatibility vs. technical debt — Alain Schlesser](https://www.alainschlesser.com/speaking/the-eternal-struggle-backward-compatibility-vs-technical-debt-3/): WordPress owes much of its success to one-click updates that never break sites, but that obsession with backward compatibility quietly compounds technical debt. How the two forces feed each other, and what the tradeoff means for Core's maintainability and future evolution. - [The Future of WordPress \[Panel\] — Alain Schlesser](https://www.alainschlesser.com/speaking/the-future-of-wordpress/): A WordCamp Brighton 2018 panel on where WordPress is heading — the editor, the project's direction, and what comes next — with Mika Epstein, David Lockie, and Tammie Lister. - [Uncommon (Ab)Uses of Composer — Alain Schlesser](https://www.alainschlesser.com/speaking/uncommon-abuses-composer/): Composer is far more than a dependency manager. Its plugin system lets external code hook into the execution flow, which opens the door to solving problems it was never designed for. A quick tour of the mechanisms behind that flexibility, then useful and downright exotic ways to bend Composer. - [Uncommon (Ab)Uses of Composer — Alain Schlesser](https://www.alainschlesser.com/speaking/uncommon-abuses-composer-2/): Composer is far more than a dependency manager. Its plugin system lets external code hook into the execution flow, which opens the door to solving problems it was never designed for. A quick tour of the mechanisms behind that flexibility, then useful and downright exotic ways to bend Composer. - [Using the REST API for a WordPress-driven App \[Workshop\] (with Sean Blakeley) — Alain Schlesser](https://www.alainschlesser.com/speaking/using-the-rest-api-for-wordpress-driven-app-workshop-with-sean-blakeley/): Hands-on build of a WordPress backend powering an external app: design the data models and a server-to-client protocol, spec the work for an outsourced app developer, then implement the custom REST API endpoints. Teaches REST design and how to brief non-WordPress teams. Co-led with Sean Blakeley. - [Redefining Code Quality: A Journey Towards Bug-Free Development — Alain Schlesser](https://www.alainschlesser.com/speaking/wcasia-2024-redefining-code-quality/): Most bugs are born from unchecked assumptions. The psychology behind those assumptions, practical techniques for assumption-proofing code through type-checking and automated tests, and real-world case studies — making the case for proactive, assumption-aware development over reactive debugging. - [After the Browser: AI Assistants as the New Gateway to Digital Services — Alain Schlesser](https://www.alainschlesser.com/speaking/wcasia-2025-after-the-browser/): Forty percent of the web runs WordPress, and most of that content was written for a human reader. A forward look at what changes when the reader becomes an AI agent — and how the ecosystem stays relevant through the transition. - [AMP mit WordPress nutzen — Alain Schlesser](https://www.alainschlesser.com/speaking/wcdus-2019-amp-mit-wordpress/): A German-language talk. AMP is an open-source HTML framework for building fast, user-friendly pages — an introduction to its goals and the practical techniques for putting AMP to work in WordPress. - [The AI-First WordPress Site: Crawler to Citation — Alain Schlesser](https://www.alainschlesser.com/speaking/wceu-2026-ai-first-wordpress/): What changes if you design a WordPress site for an AI agent as the primary reader, not a retrofit afterthought? The architectural shifts — content modelling, addressability, provenance — that separate sites cited in the agentic era from those crawled over silently. - [Getting Started with WP-CLI — Alain Schlesser](https://www.alainschlesser.com/speaking/wcus-2022-getting-started-with-wp-cli/): A hands-on workshop on WP-CLI, the command-line interface for WordPress. Installing the tool, running everyday commands, and building the muscle memory that turns repetitive WordPress administration into fast, repeatable automation. - [We need to do better (really!) — Alain Schlesser](https://www.alainschlesser.com/speaking/we-need-to-do-better-really/): The Open Web is under constant pressure from walled gardens and app stores monopolising information — yet the WordPress community keeps supporting the very platforms that endanger it. Looking past the bare minimums of accessibility and performance to how UX and monetisation interact, and what a healthy Open Web really needs. - [WP-CLI \[Workshop\] (with John Blackbourn) — Alain Schlesser](https://www.alainschlesser.com/speaking/wp-cli-workshop-john-blackbourn/): A hands-on 90-minute workshop with John Blackbourn, in two halves: effective day-to-day WP-CLI use and best practices for managing a site, then writing your own PHP commands with tests, documentation, and I/O formatting. For developers comfortable on the command line but new to extending WP-CLI. - [Wrapping A Modern PHP Architecture Around A Legacy WordPress Site — Alain Schlesser](https://www.alainschlesser.com/speaking/wrapping-modern-php-architecture-around-legacy-wordpress-site/): Client sites grow organically until business logic outstrips what WordPress can handle reliably. A case study in wrapping a legacy site in a scalable layer: a services architecture with auto-resolved load order, autowiring DI against interfaces, centralized logging, and a non-blocking event/command bus — all invisible to content editors. - [Adding A Central Autoloader To WordPress — Alain Schlesser](https://www.alainschlesser.com/thinking/adding-central-autoloader-wordpress/): Bolting a Composer-based autoloader onto WordPress Core looks like an all-or-nothing rewrite, but it isn't. Start with an empty PHP 5.2-compatible autoloader, then migrate classes one at a time by deleting their manual require statements — a working proof, plus the edge cases for procedural files and plugin conflicts. - [Application <=> Server Management Protocol (ASMP) — Alain Schlesser](https://www.alainschlesser.com/thinking/asmp/): WordPress can auto-update its own code but stays blind to the PHP and MySQL versions underneath it. A proposal, drafted with core contributors at WordCamp Europe, for a bidirectional protocol that lets applications query server capabilities and request infrastructure changes hosts stay free to honour or refuse. - [Attracting Developers To WordPress — Alain Schlesser](https://www.alainschlesser.com/thinking/attracting-developers-wordpress/): WordPress courts end-users while quietly demanding more of developers, and that paradox drives much of the friction. A six-point opinionated roadmap — PHP floor, namespaces, Composer, SemVer, real OOP — each paired with a backward-compatibility path through facades and anti-corruption layers. - [Bust That Cache Through A Content Hash — Alain Schlesser](https://www.alainschlesser.com/thinking/bust-cache-content-hash/): Versioned query strings make proxies skip your cache and trip page-speed audits; modification times invalidate on every rebuild. Folding a content hash into the filename busts caches only when the bytes actually change — with the gulp-rev manifest and the PHP lookup to wire it into WordPress enqueues. - [Using A Config To Write Reusable Code — Alain Schlesser](https://www.alainschlesser.com/thinking/config-files-for-reusable-code/): Wrapping code in classes does not make it reusable. Using a WordPress settings page as the running example, this opening part shows why boilerplate, application logic, and business logic must be cleanly separated before any of it can be split into a shareable package. - [Using A Config To Write Reusable Code - Part 2 — Alain Schlesser](https://www.alainschlesser.com/thinking/config-files-for-reusable-code-2/): Extracting views from a settings-page class helps, but MVC bloats it past reuse and a raw args array sacrifices type safety. Part 2 reasons through the dead ends to arrive at the Config object: an injectable, array-like structure that keeps the OOP guarantees a plain array throws away. - [Using A Config To Write Reusable Code – Part 3 — Alain Schlesser](https://www.alainschlesser.com/thinking/config-files-for-reusable-code-3/): Part 3 puts the Config object to work — coding against a ConfigInterface and feeding a nested array through one method per hierarchy level to build settings pages of arbitrary depth. Closures map each field to a view, so adding a page means writing config, not wrestling Settings API callbacks. - [Including A Constructor In Your Interface — Alain Schlesser](https://www.alainschlesser.com/thinking/including-constructor-interface/): PHP lets you declare a constructor inside an interface; most languages don't, and that permissiveness is a trap. Why instantiation is an implementation detail that sits outside the interface contract — touching the interface-segregation and Liskov principles, dependency injection, and when an abstract class is the right tool instead. - [Thinking — Alain Schlesser](https://www.alainschlesser.com/thinking/): Essays on architecture, intelligent systems, and the craft of building what outlasts the hype. - [Interface Naming Conventions — Alain Schlesser](https://www.alainschlesser.com/thinking/interface-naming-conventions/): The PSR-style Interface suffix is Hungarian notation in disguise, encoding an implementation detail into your domain language and quietly signalling that the class matters more than the contract. The case for naming an interface after the concept — and leaving room to promote a plain class later without a refactor. - [Is WordPress a Dependency? — Alain Schlesser](https://www.alainschlesser.com/thinking/is-wordpress-a-dependency/): A Core Trac debate framed the question starkly: is WordPress a dependency of your site, or the site itself? The argument that business logic is the goal and everything else, WordPress included, is a dependency to be managed — with a nudge for the project to trade practices with the wider PHP ecosystem. - [Meeting The US Community — Alain Schlesser](https://www.alainschlesser.com/thinking/meeting-us-community/): A first trip to the US WordPress community — PostStatus Publish and WordCamp US in Philadelphia. Reflections on how maker-focused and end-user events complement each other, why the hallway track beats the schedule, and a Contributor Day spent hunting for the right place to help in Core. - [On WordPress And Democracy — Alain Schlesser](https://www.alainschlesser.com/thinking/on-wordpress-and-democracy/): WordPress invokes a silent majority to veto change, but that majority is unverifiable opinion, not data — so progress debates stall indefinitely. The case for either real user-input mechanisms or honest top-down leadership, sparked by the Core autoloading argument and a contested Twitter poll. - [OOP-NOOB Series - Introduction — Alain Schlesser](https://www.alainschlesser.com/thinking/oop-noob-series-introduction/): Most OOP tutorials show you the right way. This series does the opposite, cataloguing the anti-patterns that turn PHP classes into procedural code wearing an OOP costume — Object-Oriented Programming with No Object-Oriented Benefit. The premise, and what the rest of the series will pull apart. - [OOP-NOOB Series - The Publicity Stunt — Alain Schlesser](https://www.alainschlesser.com/thinking/oop-noob-series-the-publicity-stunt/): Making everything public turns a class into procedural code with a class keyword stamped on it, throwing away the encapsulation that makes OOP worth doing. A dissection of the all-public habit, the PHP 4 var fallback, and how magic methods like __call() silently reopen private state — then the encapsulated fix. - [Adding Git Hooks Through Composer Dev-Dependencies — Alain Schlesser](https://www.alainschlesser.com/thinking/php-composter/): A Composer custom installer that wires PHP methods into Git hooks as dev-dependencies, so a single composer install replaces the README ritual of symlinking pre-commit scripts. The symlink-and-bootstrap mechanics, and why deduplicated, autoloaded actions beat copied Bash across projects. - [PHP Feature Detection Library — Alain Schlesser](https://www.alainschlesser.com/thinking/php-feature/): Modernizr's feature-detection idea, ported to PHP: declare the language features your code needs and let the library resolve the minimum version, instead of hand-maintaining a matrix of which release introduced what. An early proof-of-concept, with usage and where it could go. - [Project Moiety - A Hypothetical WordPress Roadmap — Alain Schlesser](https://www.alainschlesser.com/thinking/project-moiety-a-hypothetical-wordpress-roadmap/): A thought-experiment roadmap for taking WordPress to 51% of the web by courting enterprise: killing global state, LTS release windows, compliance tooling, editorial workflows, hexagonal WP-CLI parity, and the leadership to drive it. Deliberately ambitious, deliberately opinionated. - [Simple Examples For Complex Concepts? — Alain Schlesser](https://www.alainschlesser.com/thinking/simple-examples-complex-concepts/): A short talk-prep meditation on a real teaching problem: the architecture patterns that earn their keep at scale look like absurd over-engineering when demoed on a Hello World. How do you sell the value of solving problems your audience hasn't hit yet? - [Singletons And Shared Instances — Alain Schlesser](https://www.alainschlesser.com/thinking/singletons-shared-instances/): Singletons fail not because they are shared but because they enforce their own instantiation — conflating two responsibilities and breaking four of the five SOLID principles. A graded walk through factories, static proxies, the WP Plugin API, service locators, and dependency injection as the better trade-offs. - [Structuring PHP Exceptions — Alain Schlesser](https://www.alainschlesser.com/thinking/structuring-php-exceptions/): Everyone agrees to use exceptions; almost no one explains how to structure them across a large codebase. Extend the SPL types behind a framework interface for layered catching, name them as past-tense conditions, hide construction in named constructors, and backstop the lot with a central handler. - [OOP-NOOB Series - That Which Cannot Be Named — Alain Schlesser](https://www.alainschlesser.com/thinking/that-which-cannot-be-named/): Wrapping procedural code in a class buys you collision-free names, but it is not OOP. Why this poor man's namespacing misses the point of contracts and divided complexity — and why real PHP namespaces beat both the prefix hack and the catch-all utility class. - [The Cost of Contribution — Alain Schlesser](https://www.alainschlesser.com/thinking/the-cost-of-contribution/): The script behind a WordCamp US 2019 lightning talk on why open-source burnout traces to one root cause: cost. How the helper's high, social comparison, and unspoken norms push volunteers to overspend their time — and why destigmatising the money conversation is the sustainable fix. - [Two WordPremieres For Me — Alain Schlesser](https://www.alainschlesser.com/thinking/two-wordpremieres-for-me/): A personal recap of two firsts at WordCamp Frankfurt: first time volunteering, first time on stage. On winging an under-rehearsed talk in a second language, getting quietly hooked by the community, and why volunteering is the easiest way in. - [Type Declarations using Interfaces in PHP — Alain Schlesser](https://www.alainschlesser.com/thinking/type-declarations-using-interfaces-php/): Born from a code-audit question about an unfamiliar constructor signature: how PHP type declarations and interfaces decouple a plugin from the library it wraps. Dependency injection, swappable implementations, and testable code, worked through with a running example. - [Using Bento Components in Gutenberg Blocks — Alain Schlesser](https://www.alainschlesser.com/thinking/using-bento-components-in-gutenberg-blocks/): A CloudFest Hackathon build that mapped seven Bento web components into eleven Gutenberg blocks. How the editor's edit/save duality lets React run the backend and lightweight web components run the frontend — plus honest findings on nesting, developer experience, and performance. - [Woah, hold on a sec... — Alain Schlesser](https://www.alainschlesser.com/thinking/woah-hold-on-a-sec/): The very first post on this blog — a short, personal note setting the tone before anything technical arrives. A pitch for philosophical tangents, the occasional technical rant, and questionable wordplay, and a quiet request to come back for post number two.