There are a few things to keep in mind when migrating a website.
1. base level server modifications – php.ini/modrewrite/.htaccess these all change based on your hosting provider (IE php upload time/php memory limit etc)
2. If you are running a content management system like drupal or wordpress do a Database backup through a sql tool like php myadmin, alot of cms backup tools have issues – missing tables, indexes and issues with primary keys
3. Folder permissions from old server to new server.
4. absolute linked files vs relative (important if you are moving to a new domain)
5. payload and traffic – alot of shared hosts have a very minimal capacity with burst traffic – 10,000-20,000 an hour generally will crash a co-host, with most hosts such as bluehost, hostgator you will get your site shut off to prevent the rest of the clients on the same server from crashing.