. . . . What causes "ftp error: timeout was reached" . . . .
Assuming you are trying to publish direct from Web Designer - loss of Internet connection, a slow Internet connection, the destination web server taking too long to respond, incorrect FTP settings.
Personally I do not publish direct from Web Designer, I export the site to a local for testing to ensure the site works correctly and check for errors, then use FileZilla to do the uploading to the web server.