My understanding of 301:
URL forwarding provided by most hosting companies is often 302 directing and does not inform the search engine that the site has actually moved.
The 301 redirects need to occur in the htaccess file located on the old domain hosting account.
My client believes the following will work but the logic does not make sense to me. Please let me know if it is correct.
Point the old domain name to the new domain name dropping the old hosting. Then use a 301 redirect wordpress plugin to handle the redirects.
So essentially trying to visit old-site.com/blog would send you to new-site.com and the 301 redirect module would send you to /blog if that's what you had tried to visit on the old site.
Is this possible? To me I would think you would need to make a redirect of /blog -> new-site.com/blog and the redirect would need to be in the htaccess file of the old site.
Please tell me if I'm wrong. I very rarely handle any migrations but I thought I understood redirects.