What do I need to consider while moving my client's site from live to local?
Every WordPress site has two major parts to it: the files and the database. In order to reproduce a live site on your local machine, you will also need both of these parts!
Does your client have their site files hosted on GitHub or BitBucket? Well then you're all set! You can just clone those files down and you're done with this part. Awesome!
If not, you will need to use an SFTP program such as Filezilla in order to go grab those files, which means you'll also need your client's SFTP login information.
Check out our Installing an Existing WordPress Site guide for more info!
Along with the files, you need the site content, which exists in the database. The best way to do that is to export their database via phpMyAdmin. To access phpMyAdmin, you'll need the login information for the client's hosting dashboard (for some hosts, this is called the cPanel).
Some hosts don't give you direct access to phpMyAdmin. It is an important consideration when you purchase hosting (see this article for more information). If access to phpMyAdmin isn't available from the host's cPanel, you may have to contact customer support to have them export the database for you. Or you can use a plugin! :)
We talk about how to properly export a database in this deploy guide. Watch out for custom prefixes! If your host uses one, make sure your local site matches. We talk about what you need to keep in mind here.
Also note that some hosting companies allow you to be added as a user/granted access to the live site's hosting dashboard. You'd have your own hosting dashboard login information and can access things like the live site's phpMyAdmin, but you can't touch anything like billing information or other installations. This setup can give your client peace of mind if they are wary to share their login information, so it's worth looking into if you're experiencing pushback.