I'm not a webmaster - I'm a generalist with a strong bias towards development of applications and databases, but currently I'm helping a client I've consulted with before, and they want to move some files from one hosting provider to another. They are moving more and more stuff to cloud hosting to be able to handle scalability - they get a lot of hits when big events happen and people want their data.

Their regular web guy has kind of flaked out on them.

All static content (data files, reports, etc), might need to translate some links, add some Google analytics, etc.

But what is a good tool for performing the transfer initially - to sync up the new site to the old site. before fixing up the broken links etc? I'm pretty sure they'll get me FTP access to the old and new sites.

Either Mac or PC, whatever's best.

5 Answers 5


That can be a tough job, especially if there are any dynamic features on the site. Tread carefully!

Most of my experience is on Windows, so I'll talk about that platform.

My favourite commercial tool for synchronizing files is Beyond Compare 3; I'm using it at work to handle file level synchronization across several different link types. It works fine across FTP and file shares, and has many different options for comparison types, filtering, etc.

If you're on a budget, just use something like WinSCP or FileZilla to copy the files from both sites down to your local hard drive, then use WinMerge or something similar to compare them.

When you're done synching up the new site, run a link checker across it to make sure that nothing's broken. Xenu's Link Sleuth looks pretty old school and has some usability issues, but in my experience it's still the best tool for the job.


If you're really lucky, both the current and new server are on a cpanel linux server. Those are very easy to migrate, and cpanel will actually do it for you (you need SSH access on both ends).

Otherwise, you will just have to FTP all site files from the current to the new server.

If the site was built with portability in mind all the links should be relative and you shouldn't have too many issues. If they were all absolute paths, then you are in for a world of hurt as all of those links will have to be redone.

You might run into some other "gotchas" like maybe different PHP settings, or different SQL server versions. I did a migration of a PHP site once from linux to windows and that took me days to find all of those little places where windows PHP varies from linux PHP. Oh, and don't forget folder permissions if the application needs to write to the server.


Just do it a step at a time.

  1. Set up the new server's folders, files and permissions.
  2. Set up the new server's database from a dump of the old server's database.
  3. Test using the new server's IP address or a record in your hosts file. This is the time to update any links, etc.
  4. Once everything is good, transfer the DNS to the new server, either by switching the IPs for the A names or by changing the nameservers.

I just recently moved several domains from one server and one DNS host to another and followed this exact set up with 0 problems.


If both servers are on IIS the best tool is Microsoft's msdeploy - it'll sync IIS settings, content,ACLs and even databases. On Linux you could use ftp as others suggested, or if you have shell access rsync. Then you can use IIS SEO tool to check for broken links.


A few years ago I wrote a package called pushsite (free download from Sourceforge). Its not been actively maintained so you may experience some problems with it - but the docs include links to several other open-source packages for FTP / sync. It needs perl to run (which I believe comes as astandard with Mac, but needs a seperate download for MSWindows - have a google for activePerl).

For fixing links - sed.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.