← All insights

D7 → D10: a checklist we actually use, after 14 migrations.

The full pre-flight, migration day, and post-launch checklist. Print it out, tape it to the wall.

Drupal 7's official end-of-life passed in January. If you're still on D7, the upgrade path is no longer a fall project — it's an emergency one.

We've shipped fourteen D7 → D10 migrations. Every one followed the same checklist, refined a little each time. Today's version, copy-paste ready:

Pre-flight (week −4): inventory every contrib + custom module, decide for each (replace, port, kill). Map every URL. Lock down content changes. Set up the destination on a parallel host.

Migration day: backup, drupal-to-drupal migrate, sanity-check counts, sanity-check a sample of URLs, swap DNS. Keep the source running read-only for 7 days.

Post-launch (week +1 through +4): redirect 404 monitoring, content-author training, weekly bug triage. Plan the first contrib-update cycle in week 6.

Working on something like this?

Let's talk.

A real engineer reads every message. Usually within a few business hours.