When you use cPanel's automatic transfer script is changes the group of the the "public_html" directory to the user owning the site. It should correctly be assigned to the "nobody" group. If it is not assigned the to "nobody" group the site will be unavailable to view even though the files are present. To fix the problem it is very simple to run the following at the command line inside the account's folder in the /home directory:
chgrp nobody public_html
This will transfer the ownership of the group to the web server and will fix the problem.
However, if you have transferred multiple sites it can quickly become cumbesome to do so. So put this script in the /home directory and run. It will change all public_html directories to the nobody group and mass fix the problem.
Code:
#!/usr/bin/perl
$mode = "nobody";
@dir = <*>;
foreach $file (@dir) {
`chgrp $mode $file/public_html`;
}
Be sure to chmod the script to 755 before running. Enjoy.