A major upgrade becomes easier to plan when the team already knows what the website depends on. Waiting until a deadline is close leaves less room to replace an unsupported integration or investigate unfamiliar custom code.
Create a dependency inventory
List core, contributed modules, themes, custom code, hosting components, and external services. Add the business purpose and maintainer for each important item. A module name alone does not explain what would stop working if it could not be upgraded.
Drupal’s upgrade process overview describes preparing a site and checking compatibility. Use the requirements and change records for your actual target release when estimating work.
Look for uncertainty early
We recommend highlighting dependencies whose support status is unknown, custom features without a current owner, and integrations that are difficult to test. Those uncertainties often matter more to the schedule than the number of installed modules.
Ask the developer to review deprecated APIs while the current supported version still runs. Static analysis can identify some problems, but templates, configuration, and user workflows also need review. A clean tool report is useful evidence, not a complete upgrade rehearsal.
Agree on acceptance checks
- Can visitors complete the main business journey?
- Can editors create, preview, and publish content?
- Do scheduled tasks and integrations still run?
- Do permissions and unpublished-content restrictions still work?
- Are URLs, images, and metadata preserved?
Rehearse deployment and recovery
Perform the upgrade on an isolated copy with representative content. Record the order of code deployment, database updates, configuration changes, and checks. Identify the point at which a rollback decision would be made and the backups required to carry it out.
Keep the outcome understandable to the site owner: confirmed compatibility, remaining work, known limitations, and a proposed deployment window. That turns an open-ended technical project into a reviewable plan.
Start the conversation through our Drupal support plans and agree the upgrade scope separately where substantial migration or redevelopment is needed.