After migrating thirty stores from 1.7 to 8, here's the methodology that consistently works.
Phase 1 — Preparation
Complete audit. List of incompatible modules. Documentation of custom changes.
Phase 2 — Test environment
Clone production to staging. Upgrade PHP to 8.1+. Migrate to PrestaShop 8.x.x.
Phase 3 — Theme adaptation
Theme has evolved. Migrate Smarty 4. Check deprecated hooks.
Phase 4 — Third-party modules
Contact vendors for compatible versions.
Phase 5 — Go-live
Low-traffic window. Maintenance mode. DB migration. Post-migration tests.