Opinions about iWeb are about as diverse as there are web design applications. I happen to like it a lot. It is the key reason I upgraded iLife ’05 which came free with my PowerBook to iLife ’06. I tried RapidWeaver, Amaya, NVU, and Sandvox but none of them were very intuitive or enabled me to get good looking web pages with little effort.
Unfortunately, there is one big problem with iWeb: You cannot automatically update your web page to your server, unless you have .Mac which is expensive compared to other hosts. You can only export the entire site to a local folder on your hard disk. But then you still have to upload that to your web host via FTP. Synchronizing only changed pages is difficult because when publishing to a folder all file dates are updated as well.
Of course, uploading media-rich web sites from scratch every time you make a small change is not feasible. I tried to use the synchronization feature in Transmit, the standard Mac FTP program, but that did not work well for me. By the way, only after I purchased Transmit did I find out about Cyberduck which is also a very good FTP program, only better, because it is free (donations encouraged).
To update my web host I now use rsync, a solution I first read about in the MacOSXHint Upload only changed iWeb files without .Mac and in the comments to this one Automatically upload published-to-folder iWeb sites. Based on the suggested list of options I customized the command as follows.
rsync -e ssh --size-only --progress --stats -az . username@webhost:pathtoyoursite
Here’s what it does
||specifies to connect via ssh, thus enabling a secure upload of your content|
||specifies to ignore modification time for quick check but use file size only|
||specifies to show the upload progress during the transfer|
||specifies to show upload statistics after the transfer|
||specifies to use the archive mode|
||specifies to compress the data during transfer|
||specifies the local directory where files are uploaded from, in this case, it is the present directory|
||specifies to your user name and web host for shell login as well as the path to your site on the web host. In my case this is
Consult the rsync man-page via
man rsync to find out more.