Automate iWeb Uploads to Multiple Servers

With iLife '06 we got iWeb. Loosely based on RapidWeaver, iWeb is Apple’s Pages app retooled to easily spit out slick, multimedia Web sites. This is the first true WYSIWYG Site builder on the market and is one of Mac’s fastest growing products. It’s been out less than three months and has generated over 14,000 messages on Apple’s iWeb discussion site. But…

There are many disappointments. It seems users are under the misconception that it’s the DreamWeaver killer. It’s not. It’s actually not even designed to generate commercial sites. And to take full advantage of its features, like password protected sites and hit counters, you need to use it with a .mac account. You publish to .mac with the press of a button. But if you want your site on another server, you must publish it to a folder, then use a third-party app move the files via FTP (usually manually) to a server. And if you want sites on both .mac and on another server, it gets even more complicated. Since iWeb will publish ALL your sites to .mac anyway, you’ll need to go back and remove them from .mac or you’ll have duplicate sites. Here’s where Automator can do a complex task with a simple workflow.

The scenario is: you have a site on .mac and another on your own domain at GoDaddy. You want to use iWeb to publish both. To start off you need to do a few things in iWeb. Once your sites are ready to be uploaded, click the Publish button. This moves all sites to .mac. From the iWeb File menu choose “Export to Folder” and choose a location of your desktop and a name of “Sites”. This puts all the sites in a folder on your desktop as well.

Now download the “Upload to FTP” action

This action is compliments of Peter Dekkers. In a workflow, it’s the simplest way to upload to FTP. Open Automator. Choose “Import Actions” from the File menu to install it and you’re ready to go. Drag the following actions into your workflow and changes the settings:

  1. From the Finder Library, double click on Get Specified Finder Items. (This action will get the site you don’t want on .mac.) Click the + button/iDisk/Web/Sites/iWeb and click on the folder you want to remove. Then click Open.

  2. From the Finder Library, double click on Move to Trash.

  3. From the Finder Library, double click on Get Specified Finder Items. (This action will get the site from the desktop folder.) Click the + button/Desktop/Sites and click on the folder you want to FTP. Then click Open.

  4. From the Finder Library, double click on Get Folder Contents. (This action will get the site elements to dump them to the root.)

  5. From the Terminal Library, double click on Upload to FTP. (This moves your selected site to GoDaddy.) Set the fields as follows:

Server: ftp.YourDomainName
Username: YourGoDaddyUsername
Password: YourGoDaddyPassword
Directory: /
Port: 21
Force PASV: No
Invisible Files: Upload
Base URL: http://YourDomainName

(At this point, if you have more than one site to upload to another domain hosted by GoDaddy, repeat steps 1 through 5 and change the settings accordingly.)

  1. From the Finder Library, double click on Get Specified Finder Items. (This action will clean up and dump the Sites folder on your desktop in the trash.) Click the + button/Desktop/Sites. Then click Open. Click the File/Folder triangle on the top right of the action and choose Ignore Results From Previous Action.

  2. From the Finder Library, double click on Move to Trash.

Save this as a Workflow or Application. Run it anytime you make changes to your GoDaddy site. The only issue is that your .mac account has to have enough space to accommodate your GoDaddy site for a few minutes until the workflow can delete it.

If you have your domain with another server, the settings to the Upload to FTP action may be a little different. You might need to experiment.

If you don’t use .mac at all, don’t click the Publish button and skip steps 1 and 2.

Kevin Wolfe