g1smd - 8:00 am on Jul 4, 2010 (gmt 0)
When I needed to move a site from a free host to proper hosting, I changed all "internal" navigation links on the old site to point to the pages of the new site.
That is, page 1 on the old site no longer linked to page 2, 3, 4 on the old site, but instead linked to page 2, 3, 4 on the new site.
Likewise page 2 on the old site no longer linked to page 1, 3, 4 on the old site, but instead linked to page 1, 3, 4 on the new site.
The change was picked up very quickly, and the new site was indexed and ranking within days. Once the new site was getting traffic, the text content was removed from the old site, just leaving the navigation in place (still pointing at the new site).
That navigation remained in place for another few years until the free host closed down.
We've had several discussions here regarding the use of meta refresh when 301s were not possible because there was no access to the .htaccess file.
If the site uses PHP, there are still plenty of things you can do using the
HEADER directive. You need two lines of code; one to specify the 301 response, the other for the redirected URL. The URL part must include both the protocol and domain name. For root and for folders do NOT include the index file filename in the URL.