devrob.inMagento · e-commerce · AI

Writing.

ls -t ~/writing · 14 notes on Magento, performance, security & AI

2026-07-165 min

The Liquid you lint isn't the Liquid Shopify runs

Shopify theme check runs LiquidJS, not the Ruby engine your storefront uses. They diverge on whitespace, and here's where that becomes a real bug.

Shopify · Liquid · Frontend
2026-07-155 min

The docs were right — for a version I didn't have installed

A third-party Magento module's docs said one thing; the installed 0.6.2 source said another. Why vendor/ is the only reference you can trust.

Magento 2 · PHP · Debugging
2026-07-146 min

You can't find a bug you never named

A bug is a violated rule. If the rule was never written down, neither your tests nor your reviewer has anything to check against.

Magento 2 · PHP · Code Review · Testing
2026-07-025 min

The handshake tax: reuse your HTTP client in Magento integrations

A new HTTP client per API call quietly slows Magento sync jobs. The cost is repeated TLS handshakes — here's how connection reuse fixes it.

Magento 2 · PHP · Performance · API Integration
2026-06-304 min

WooCommerce HPOS: when order sync floods Action Scheduler

WooCommerce HPOS compatibility mode can flood Action Scheduler and balloon your database. Here's the one query that finds the culprit.

WooCommerce · WordPress · Performance · Action Scheduler
2026-06-266 min

Enriching a large Magento catalog without melting the indexer

Sourcing descriptions and attributes for thousands of SKUs is the easy part. Applying them to a Magento 2 catalog without reindex storms is the real work.

Magento 2 · PHP · Performance
2026-06-246 min

A PHP login form that won't get you owned

The five mistakes hand-rolled PHP login forms keep making: weak hashing, string-built SQL, session fixation, user enumeration, no rate limiting.

PHP · Security · Backend
2026-06-236 min

Why Magento cart price rules get slow at checkout (and how to find the culprit)

Magento 2 cart price rules run in PHP on every quote change. Here's why complex promotions slow checkout, and how to find the rule that's costing you.

Magento 2 · Performance · PHP
2026-06-165 min

The EAV tax: why Magento product loads are slow

Magento 2 scatters every product attribute across typed EAV tables. Here's why loading them all wrecks category pages, and how to stop it.

Magento 2 · PHP · Performance · MySQL
2026-06-136 min

Migrating a Magento 2 store from utf8 to utf8mb4 without losing data

MySQL's utf8 stores only three bytes per character, so emoji and some international text get silently truncated. Here's the safe three-part migration to

Magento 2 · MySQL · PHP
2026-06-127 min

Which Magento extension is slowing you down? Stop guessing.

How to measure the real cost of each third-party extension in Magento 2 — interceptors, observers, layout, and queries — instead of disabling modules one by

Magento 2 · Performance · PHP
2026-06-126 min

unserialize() is the Magento footgun nobody audits

Most Magento compromises come through a third-party extension, not core: PHP object injection via unserialize(). Here's how it becomes a remote shell.

Magento 2 · PHP · Security
2026-06-127 min

Is your Magento store legible to AI assistants?

AI assistants are becoming a product-discovery channel. Shopify ships native tooling for it; Magento ships nothing. Here are the four layers that decide

Magento 2 · AI · E-commerce · SEO
2026-04-196 min

Paginating Magento catalogs without OFFSET

Why setCurPage() and OFFSET die at depth in Magento 2, and how keyset pagination with PHP generators makes catalog iteration scale to 100k+ products.

Magento 2 · PHP · Performance