Not a free method, but a reliable one - with a belt & braces structure & no need to try persuade an old Mac to boot from USB [which can be tricky]...
Get an external USB drive adapter/enclosure that will take each of your drives, new & old.
Get Carbon Copy Cloner which can easily make a bootable clone from your existing system whilst it is running.
Test the clone will boot from the external drive enclosure by holding Opt ⌥ at the startup chimes.
Once confirmed, swap the drives over.
Test again that it will boot from the new internal drive with the old one completely disconnected. You may need to hold Opt ⌥ again the first time, then once booted, set it as the default startup drive from System Prefs.
If no joy, rinse & repeat with the old drive booted externally, as your old drive is completely untouched. [I've never known this method to fail, but it's always sensible to have a safety net]
You have now moved your entire working structure in a single safe step to a faster/larger drive, without having to reinstall anything.
 Pro Tips:
Rename your old drive immediately before starting the clone process. e.g. to 'Macintosh HD old'.
Format your new drive [whilst mounted externally] as GUID/HFS+ in Disk Utility & call it the correct name, e.g. 'Macintosh HD'
Set up & start the clone process.
When you then reboot to your new drive, the system will be fooled into thinking nothing changed.
Don't do any 'work' whilst it's cloning. Disconnect your net connection. This step is not vital but it can save for instance an email being received in the middle of the process which then fails to be synced to the clone.