You probably have other options, too. For instance, until the CMS is all patched up, you might build the .htaccess file manually so you would have true 301 redirects. Also, you might use a meta-refresh, which is something Google now appreciates that some shared hosting situations make necessary. I've used the meta-refresh with a client site a couple years ago and it worked pretty well.
Ok, great- thanks for the prompt response!
If you can't add HEADER directives to the CMS scripts, you can build the same redirects in your .htaccess file using Mod_Rewrite RewriteRule directives.
Both methods result in the exact same 301 response being returned to the browser.
I agree with g1smd, although your CMS doesn't allow 301 redirects (quite strange), I suppose you're considering only php redirects.
There are 3 level where you can act:
- htaccess: I doubt your CMS doesn't allow you to insert 301 redirects here, you can modify your htaccess and redirect all 404, with massive rules or one by one
- server-side: I suppose this is what you where saying: the CMS doesn't allow you to modify the php to make 301 redirects. It's quite strange you can't modify your 404 php file. Let's see. you write an url--> php checks --> 404 not found. Well you can insert a query just before the 404. Create a table with your lost url, then with php you can check just before giving a 404: "is the uri one of those listed in the table?" if yes you can redirect to another one (the second url in the table), if not then 404
- client-side: on this side you can help them in two ways:
- proposing them an url. You can give a 404 error and with php propose them the new page. An error like "sorry this page has moved here [link]". Although this "may not" help you in your SEO efforts it may help your users. We always think about the bots but it's important to give to our users an help to avoid them bounce away.
I hope this could have helped in some ways!