YOLO: especially with thugs like PHP you only affect one page at a time and with low traffic the odds of a problem is small
Maintenance page: temporarily show a page. Some servers like IIS have this built in. Otherwise it’s a simple update to httpd conf
In a cluster environment, just take the node you’re updating out of rotation, and only update one nice at a time.
Copy and switch like you suggested. Can be combined with any of the above and is a smart move if upload is slow or can be interrupted, or it’s cumbersome to restore the old files
It depends. I’ve done it a few different ways: