Forum Moderators: phranque
Also, since you are changing your URLs, I'd suggest that you consider going to extension-less URLs now, and design your new URL structure very carefully, so that you never have to change your URLs again -- ever.
In addition to staying within the spirit of the Web [w3.org] as defined by its inventor, this will prevent your having to go through the 30-day-to-one-year ranking 'penalty' associated with the loss of your TrustRank from changing so many URLs. (I quoted 'penalty' because it is not a penalty, just the result of losing your TrustRank.)
Jim
If that is an example of your new URLs, then consider removing the thrice-redundant "Epson" and using a URL-taxonomy such as
http://example.com/Inkjet-Printer-Cartridges/Epson/Stylus-800/Original-Black-S020039-Twin-Pack-47
Category ----------------------------^
Brand ----------------------------------------------------^
Model ---------------------------------------------------------------^
Item -------------------------------------------------------------------------------------^
Note also that the trailing slash should not be used if this URL refers to a page rather than a directory (folder), and that "+" cannot be used in the URL-path without being encoded to %2B (which looks really ugly in the browser address bar and in search results).
Jim
No, certainly not! Over time G will figure out that the new URLs are associated with the old ones, and give you some or all of the 'credit' for them back -- It just takes time.
Pointing a bunch of old URLs to a single URL is a good way to create a massive duplicate-content problem (search on that phrase here for more info).
Be very careful with this -- Search engines *hate it* when you change URLs, because it breaks incoming links and obsoletes users' bookmarks. Of course, we're talking about computers here, so they express their displeasure by taking their own sweet time about correlating your new URLs with your old -- It's not a priority for them.
We've got many posts in forums here where people changed all their URLs all at once, and sometimes with technical errors, and almost put themselves out of business. Do not rush, do not 'discard' any page history credit, inbound links, or bookmarks that you can can keep, and test thoroughly using a server headers checker (e.g. Live HTTP Headers add-on for Firefox/Mozilla) to confirm proper operation.
300 product pages is a reasonably-achievable number of redirects. Just be sure that each new page is a spot-on replacement for the old. If you don't have a direct replacement, then use a 410-Gone response (Page was intentionally removed and will not return), and be sure to put text links to your home page, site map, site search, and category pages (as applicable) on your custom 410 error page.
Matt Cutts over at G recommends doing "sections" of your site or "groups" of pages, rather than redirecting all at once. This minimizes the chance that you'll "pull the rug out from under the spider" and cause it to get lost and give up in the new unfamilar URL terrain.
One way to do this is to put the redirects in place on the OLD site: Redirect direct client requests (only) from old URL to new URL, then internally rewrite new URLs back to the old filepath. This allows separation of the URL changes and the content changes, although it does double the number of directives needed for implementation. This can be done with mod_rewrite, using RewriteCond to check the variable %{THE_REQUEST} in order to prevent redirect/rewrite looping.
Jim
If you can survive such a loss for a sustained period by using other means to drive traffic to your site (e.g. Adwords and other "sponsored" paid-for listings), then go ahead and switch over all at once.
I am not saying this *will* happen to you -- It depends on so many factors that it's nearly impossible to predict. But it *could* happen, and you should plan ahead for it. The reason I stated that you should design your new URLs so that they never (ever) have to change again should be clearer now.
If it were my site, I'd switch from using (for example) one page-generation script to using two -- each one using a different database if necessary. I'd redirect one (sub)set of 'old' URLs to new URLs, and rewrite those new URLs to the new script which uses the new database. For the the other set, I'd leave the old URL to old script rewrite/mapping mechanism in place. If all went well after the first batch of redirects was spidered and successfully updated, then I'd switch another batch old URLs to new URLs.
I don't know the details of your site, its architecture, ranking, or level of competition in its market segment, but I do know that you have a lot of tools available, both in Apache itself and in scripting and database construction. I disagree that you "have no choice" but to switch all URLs at once and caution that *it would* be worth the extra effort to do this carefully, unless you're independently wealthy and this is just a hobby site. We have this advice from one of the top engineers at Google -- someone who understands very well how their algorithm and ranking process reacts to sudden changes. I and others here at WebmasterWorld have issued this caution before; Some take the advice, some don't. Some that don't take the advice come out fine, while others go through a period of reduced or nonexistent sales. So, I could be right or I could be wrong -- it matters little to me. But it should certainly matter to you. :) Be careful: The what looks like the easy path may be fraught with danger.
Best of luck!
Jim