---
title: "Blog"
url: "https://michalak.world/posts/"
description: "Technical articles on Drupal backend development, Drupal Commerce, AI agents, and technology leadership by Michael Michalak."
lastmod: 2026-08-19
kind: "section"
count: 48
site: "https://michalak.world/"
---

# Blog

Technical articles on Drupal backend development, Drupal Commerce, AI agents, and technology leadership by Michael Michalak.


Technical writing from 13+ years of backend development and technology
leadership. Most articles here fall into four areas:

- **Drupal backend development** — custom modules, entity architecture, Form
  API, migrations, and the Drupal 7 through 10 upgrade path.
- **Drupal Commerce** — tax resolvers, promotions, multi-currency, checkout
  flows, and REST API performance.
- **AI and development practice** — AI agent tooling, reviewing AI-generated
  code, and where vibe coding helps or hurts.
- **Technology leadership** — fractional CTO work, hiring tradeoffs between
  freelancers and agencies, and platform selection.

Posts are written from production work on real client platforms, so most
include the specific configuration or code that solved the problem.


## Pages in this section

- [How to Make Your Website AI-Friendly (What Actually Works in 2026)](https://michalak.world/posts/how-to-make-your-website-ai-friendly/) — 2026-08-17
  Making a site AI-ready comes down to four things that are actually enforced: let AI crawlers through at the network edge, name them in robots.txt, describe yourself as a resolvable entity in Schema.org JSON-LD, and keep your sitemap and modification dates honest. Most other AI SEO advice is unmeasurable.
- [Behind the Scenes of the GEN Platform Update: Making Engagement Seamless](https://michalak.world/posts/behind-the-scenes-of-the-gen-platform-update/) — 2026-02-12
  Behind the Scenes of the GEN Platform Update: Making Engagement Seamless
- [Freelancers vs. Agencies: The Quiet Advantage in the Age of AI Coding](https://michalak.world/posts/freelancers-vs-agencies-the-quite-advantage-in-the-age-of-ai-coding/) — 2025-05-06
  Why a skilled freelancer often outperforms an agency in the age of AI coding: direct communication, faster pivots, no overhead layers, and retained context on your codebase.
- [AI Coding vs. Offshore Outsourcing: Are We Repeating the Same Mistake?](https://michalak.world/posts/ai-coding-vs-offshore-outsourcing-are-we-repeating-the-same-mistake/) — 2025-05-05
  AI Coding vs. Offshore Outsourcing: Are We Repeating the Same Mistake?
- [Reviewing and Debugging AI-Generated Code & Vibe Coding Projects](https://michalak.world/posts/reviewing-and-debugging-ai-generated-code-and-vibe-coding-projects/) — 2025-05-04
  13+ Years as a Developer Consultant: Reviewing and Debugging AI-Generated Code & Vibe Coding Projects.
- [13+ Years as a Drupal Developer Consultant: Jumping Into Projects and Driving Real Results](https://michalak.world/posts/13-plus-as-a-drupal-developer-consultant/) — 2025-05-01
  13+ Years as a Drupal Developer Consultant: Jumping Into Projects and Driving Real Results.
- [Best CMS of 2025: A Comparison for Modern Websites](https://michalak.world/posts/best-cms-for-2025/) — 2025-04-30
  Best content management systems for 2025.  A comparison between: Framer, Drupal, Webflow, Wordpress and Hugo.
- [Webflow and Framer: The Vendor Lock-In Dilemma](https://michalak.world/posts/webflow-and-framer-the-vendor-lock-in-dilemma/) — 2025-04-29
  Webflow and Framer: The Vendor Lock-In Dilemma and limitations.
- [Is Vibecoding Safe? Understanding the Risks of No-Code and Visual Development](https://michalak.world/posts/is-vibecoding-safe-understanding-the-risks-of-no-code-and-visual-development/) — 2025-04-29
  Webflow and Framer: The Vendor Lock-In Dilemma and limitations.
- [Fractional CTO: The Strategic Bonus of Hiring an Expert Freelance Drupal Developer](https://michalak.world/posts/fractional-cto-the-strategic-bonus-of-hiring-an-expert-freelance-drupal-developer/) — 2025-04-12
  An experienced freelance Drupal developer often doubles as a Fractional CTO, providing tech roadmaps, vendor vetting, scalable architecture planning, and team leadership alongside the code.
- [How a Freelance Drupal Developer Improves Security and Site Health](https://michalak.world/posts/how-a-freelance-drupal-developer-improves-security-and-site-health/) — 2025-04-10
  How a freelance Drupal developer improves security and site health through security audits, proactive patching, hardening, and performance optimization, cutting incidents roughly 70%.
- [Why Hosting and DevOps Skills Matter in Your Freelance Drupal Developer](https://michalak.world/posts/why-hosting-and-devops-skills-matter-in-your-freelance-drupal-developer/) — 2025-04-08
  Why Hosting and DevOps Skills Matter in Your Freelance Drupal Developer.
- [Beyond Content Types: What Real Drupal Backend Expertise Looks Like](https://michalak.world/posts/beyond-content-types-what-real-drupal-backend-expertise-looks-like/) — 2025-04-06
  Beyond Content Types: What Real Drupal Backend Expertise Looks Like.
- [The Hidden ROI of a Fractional CTO](https://michalak.world/posts/the-hidden-roi-of-a-fractional-cto/) — 2025-04-05
  A great Fractional CTO delivers senior-level leadership, scalable architecture, and immediate value — without the six-figure salary and equity package.
- [Why Hiring a Freelance Drupal Developer Could Save Your Business 60%](https://michalak.world/posts/why-hiring-a-freelance-drupal-developer-could-save-your-business-60/) — 2025-04-04
  Hiring a freelance Drupal developer instead of a full-time hire typically saves 30-60% while giving you senior-level expertise on demand, reducing technical debt and security incidents.
- [The Hidden ROI of a Freelance Drupal Developer](https://michalak.world/posts/the-hidden-roi-of-a-freelance-drupal-developer/) — 2025-04-01
  Freelance Drupal developers bring deep expertise, flexible engagement, and long-term ROI — especially when you need to move fast, stay secure, and keep costs predictable.
- [Drupal Form API States](https://michalak.world/posts/drupal-form-api-states/) — 2024-10-16
  Drupal 9 Patch htaccess with Composer
- [Shopify Admin REST API Checkout Object PUT Request](https://michalak.world/posts/shopify-admin-rest-api-checkout-object-put-request/) — 2023-10-26
  Shopify Draft Order Metafields
- [Drupal 9 Patch htaccess with Composer](https://michalak.world/posts/drupal-9-patch-htaccess-with-composer/) — 2023-09-21
  Drupal 9 Patch htaccess with Composer
- [Update UUID in a Drupal Configuration](https://michalak.world/posts/update-uuid-in-a-drupal-configuration/) — 2023-08-03
  Update UUID in a Drupal Configuration
- [Shopify Draft Order Metafields](https://michalak.world/posts/shopify-draft-order-metafields/) — 2023-08-03
  Shopify Draft Order Metafields
- [Drupal 8 - Sending Faxes with Twilio](https://michalak.world/posts/drupal-8-sending-faxes-with-twilio/) — 2020-12-06
  Drupal 8 - Sending Faxes with Twilio
- [iPhone Screen Sizes and Media Queries ](https://michalak.world/posts/iphone-screen-sizes-and-media-queries/) — 2019-09-29
  When styling mobile-friendly pages I have run into issues between the different iPhone X versions.  Also included: iPhone 7 and 8.
- [PDF Generation in Drupal](https://michalak.world/posts/pdf-generation-in-drupal/) — 2019-08-21
  Cloning a Pantheon Project
- [Cloning a Pantheon Project](https://michalak.world/posts/pantheon-cloning-a-project/) — 2019-08-08
  Cloning a Pantheon Project
- [Compromised Drupal 7 Website Recovery Review](https://michalak.world/posts/compromised-drupal-7-website-recovery-review/) — 2019-08-01
  Help recover a website that might have been exploited by hackers
- [Drupal 8 Commerce Tax Resolvers](https://michalak.world/posts/drupal-8-commerce-tax-resolvers/) — 2019-07-31
  Drupal Commerce Tax Resolvers
- [Drupal 8 Commerce Promotions - Buy X or more of the same product and get % off that order item](https://michalak.world/posts/drupal-8-commerce-promotions/) — 2019-07-31
  Drupal Commerce Promtions
- [Drupal 8 - Longer Titles - Entity Title Length/Node Title Length](https://michalak.world/posts/drupal-8-longer-titles/) — 2019-07-11
  Longer Titles
- [Drupal 8 Configuration Synchronization](https://michalak.world/posts/drupal-8-configuration-synchronization/) — 2019-05-29
  Drupal 8 Configuration Synchronization
- [Drupal 8 Commerce Tax for VAT and Sales Tax](https://michalak.world/posts/drupal-8-commerce-tax-for-vat-sales-tax/) — 2019-05-10
  Commerce Tax for VAT and Sales Tax
- [Drupal 8 Commerce - Setting a Default Currency on Product Variations](https://michalak.world/posts/drupal-8-commerce-setting-a-default-currency-product-variations/) — 2019-05-08
  Setting a Default Currency on Product Variation
- [Drupal: Pantheon Cookies](https://michalak.world/posts/drupal-pantheon-cookies/) — 2019-05-03
  Drupal 8 Performance Tuning
- [Drupal Commerce Multi-currency](https://michalak.world/posts/drupal-commerce-multi-currency/) — 2019-04-19
  Cloning a Pantheon Project
- [Drupal 8 Performance Tuning](https://michalak.world/posts/drupal-8-performance-tuning/) — 2019-04-17
  Drupal 8 Performance Tuning
- [Exchange Rates API](https://michalak.world/posts/exchange-rates-api/) — 2019-04-12
  Post about an exchange rates API
- [Drupal and Cloudflare](https://michalak.world/posts/drupal-and-cloudflare/) — 2019-04-04
  Post about Drupal and Cloudflare
- [Drupal 8 - Update Routes](https://michalak.world/posts/drupal-8-update-routes/) — 2019-04-01
  Update routes with Drush
- [Drupal 8 Performance - Commerce REST API](https://michalak.world/posts/drupal-8-performance-commerce-rest-api/) — 2019-03-24
  Drupal 8 Performance on a commerce REST API
- [Drupal 7 - Image Styles Not Regenerating](https://michalak.world/posts/drupal-7-image-styles-not-regenerating/) — 2019-03-22
  How to apply and manage patches with composer
- [Drupal 8: Form API Autocomplete Filtering By Role](https://michalak.world/posts/drupal-8-form-api-autocomplete-filtering-by-role/) — 2019-03-14
  Form API Autocomplete Filtering By Role
- [Drupal 8: Form API - Weight Fields](https://michalak.world/posts/drupal-8-form-api-weighted-fields/) — 2019-03-14
  Custom weights on Form API Fields
- [Drupal 8: Applying Patches with Composer](https://michalak.world/posts/drupal-8-applying-patches-with-composer/) — 2019-03-14
  How to apply and manage patches with composer
- [Video Update! Drupal Backend and Commerce Development](https://michalak.world/posts/video-update-drupal-backend-and-commerce-development/) — 2019-03-02
  Video Update, Drupal Backend and Commerce Development
- [Google Chrome Ignoring Autocomplete](https://michalak.world/posts/google-chrome-ignoring-autocomplete/) — 2019-02-02
  Google Chrome Ignoring Autocomplete
- [Drupal Vs WordPress](https://michalak.world/posts/drupal-vs-wordpress/) — 2019-02-01
  A comparison between Drupal and Wordpress
- [Drupal 8 Commerce 2.x Order Messages](https://michalak.world/posts/drupal-8-commerce-2x-order-messages/) — 2019-02-01
  A comparison between Drupal and Wordpress
- [3 Reasons Drupal Development & Management Is Valuable](https://michalak.world/posts/3-reasons-drupal-development-and-management-is-valuable/) — 2019-02-01
  Drupal Development and Management

