Migrating Drupal to WordPress on AWS Lightsail

Glitch-art painting of a multi-masted sailing ship on a cyan sea under a vast faceted cloud sky, cyan blue pink purple white palette

A stable site is not an easy one

Most of our work is the opposite problem: building complex, auto-scaling architectures on ECS and Lambda. That is the fun part, and the part that shows up in the benchmarks. But there is a quieter kind of engineering decision that matters just as much, and it is not about using the most complex tool. It is about using the right one.

Recently a client approached us with a case in point. They had a corporate website built years ago on Drupal. It was stable. It was also rigid. When the marketing team wanted to change a banner, update a blog layout, or move a section around, the path was the same every time: call a developer. The site did not crash, it did not leak, it did nothing wrong. It just never let anyone else touch it.

They did not need a distributed serverless cluster. They needed agility. Here is how we gave it to them, and what it costs per month.

The problem: a developer-only CMS

Drupal is a powerful CMS, and for genuinely complex data structures it earns its keep. For a standard corporate website - pages, posts, a bit of layout work - it usually feels like overkill, and the friction compounds in three places:

  • Editing friction. The interface was dated and unintuitive for the people who actually knew the content.
  • Deployment dependency. Even simple visual changes went through a code deployment. A headline change had the same lead time as a feature.
  • Upgrade burden. Moving between Drupal major versions is a significant operation involving dependency management and testing, and it falls on a developer, on a schedule.

The underlying issue was not the software. It was that the site had no owner. The content lived in the client's company, but the only people who could change it lived outside of it.

The solution: WordPress, taken seriously

The migration target was WordPress, which some agencies dismiss as a "beginner" tool. We take it seriously. It powers roughly 43% of the web, and at this scale that is not an accident: the editing model is mature, the ecosystem is deep, and a clean build is genuinely lean.

Two things changed the client's day-to-day more than anything else:

  • The block editor. Gutenberg turned page building into a visual task. The marketing team builds landing pages, moves sections around, and edits text without writing a line of HTML and without filing a ticket.
  • The plugin ecosystem. SEO? Yoast is there. Duplicate a post with one click? There is a plugin for that. Problems that used to mean custom development are now a ten-minute install.

We kept the installation lean and hardened: current core, a minimal plugin set, sensible hardening. "WordPress" is not a synonym for "bloat"; that is a choice made at build time, and it is one we make deliberately.

The shift showed up in the client's internal workflow within the first week. The tell was what they stopped asking for. They no longer call us to change a headline. They call us to build new features.

The infrastructure: why Lightsail

For hosting, we deliberately did not reach for the full AWS toolkit. Provisioning a VPC, a subnet, an EC2 instance, an EBS volume, a security group, and a load balancer for a two-person marketing team editing a corporate site would have added cost, surface area, and jobs to do - all of it serving a workload that does not need any of it.

So we chose Amazon Lightsail, which is AWS's answer to the classic VPS: a friendly face of AWS. Compute, storage, networking, and a static IP come bundled into a single managed instance. The WordPress stack itself came from the Bitnami blueprint - a pre-configured, security-hardened Apache, PHP, and MySQL installation ready out of the box.

For the domain, Lightsail handles the DNS zone in the same console, so the whole networking story - static IP, zone, records - lives on one dashboard. There is no second account to log into and no glue to maintain.

The result is an architecture that is almost insultingly simple, in the best way:

flowchart LR classDef miamiPink fill:#ff9ec7,stroke:#333,stroke-width:2px,color:#232F3E; classDef miamiBlue fill:#99f2ff,stroke:#333,stroke-width:2px,color:#232F3E; classDef external fill:#fff,stroke:#333,stroke-width:2px,stroke-dasharray:5 5,color:#333; User((Visitor / Editor)):::external subgraph Lightsail_Instance ["AWS Lightsail Instance ($3.50/mo)"] App["Apache Web Server + PHP"]:::miamiPink WP["WordPress Core (Bitnami)"]:::miamiPink DB[("Local MySQL DB")]:::miamiBlue Storage["SSD Storage (20 GB)"]:::miamiBlue end Backup(["Automated Snapshots"]):::miamiBlue User -- "HTTPS" --> App App -- "Requests" --> WP WP --> DB WP --> Storage Lightsail_Instance -. "Daily backup" .-> Backup

Compare that with the IoT and ECS work we do elsewhere on this site: this one is a straight line. And the client is not missing a single capability they ever used.

The price tag

This is the number that usually lands last and hits hardest. Because the site does not have millions of users, it does not need an auto-scaling cluster. It runs on a Lightsail instance that costs $3.50 per month.

For that, the client gets:

  • 512 MB RAM, 2 vCPUs
  • 20 GB SSD storage
  • 1 TB of monthly data transfer
  • A static IP address
  • Daily automatic snapshots

A professional, backed-up, blazing-fast hosting environment that costs less than a coffee a month. The Drupal site had a bill too, of course. It was just measured in developer hours and the marketing team's patience.

Complexity is optional

This project is a reminder that "modern cloud" does not always mean Kubernetes and microservices. Sometimes the modern move is the boring one: a managed instance, a hardened CMS, a visual editor, and a team that no longer needs to ask permission to change a headline.

We moved the client from a rigid, developer-heavy Drupal site to a WordPress site they own - and their hosting now costs $3.50 a month. They call us for new features. That is the whole point.


Need a simple website migration?

Contact us at support@sevenseven.tech or fill out our contact form.

Not every project needs a cluster. If you have an old site that needs a modern home, we can migrate it safely and cheaply.