I have a customer with a version of Drupal 8 that did not support composer, as it became necessary to have it with newer versions, I decided I’ll propose him the migration…
What a mistake.
Useful documentation
I’ve found this article very useful, you should check it out too if you’re going to adventure into the same process. The TLDR section gives you a good overview of what you need to do, yet I strongly recommend to read the whole thing:
https://www.drupal.org/docs/installing-drupal/add-composer-to-an-existing-site#s-tldr
A few considerations before you start
I have done the test locally, and thought I could just copy paste the files and DB where the old website was, and of course it didn’t work. Thing is, the new version will have to support composer, so you need to make sure the whole environment ins compatible and that composer actually runs on it.
Also, despite having finally managed to make it work, I’m still dealing with issues related to this migration.
A good advice I’ve been given is:
Try first in the same server on a different url, then do it to the live server.
a wise web designer niece