At the moment I just upload content as I write them, so only need to upload specific pages. However, how do I upload the whole site at once from the cPanel.
You would use another utility to upload files to the server, like an FTP or SCP client. For Windows, SmartFTP and WinSCP are good tools.
FileZilla free FTP software. For cPanel remember you upload the web contents under the public_html directory.
You can either: 1) Upload all the files via FTP (as people have mentioned above) 2) Compress all the files into a ZIP file, upload the ZIP file, and then extract it on the server (in cPanel's File Manager) If you have a lot of files to upload, option 2 is usually better - Uploading a single large ZIP file is usually quicker than uploading heaps of small files. I recommend FileZilla as an FTP client