Search engines visit your website every day, multiple times, they take each of your pages and list its url and their analysis on that page. They store this information on their database so they can propose it or not in the search results when a user searches for something relevant.
Since the urls are the main parameter via which each of your website’s pages is distinguished from the others, changing those urls will cause problems to both the search engine and your visitors. For instance, if you already have a web address like :
which is not SEF and you need to change it to something else ( as above ), then what will happen is that search engines will try to visit the old url ( since they already know it ) and when they do, nothing will be there ( since you will have changed it ) thus the action will result in a “Not found” error, or in web terms a “404 error”. This is bad, if 404 errors are not corrected in time, the search engine will decide to remove that page from the possible results since it does not link to anything, surely nothing that the user could be interested in.
Whenever we need to change our web urls on our website so we can optimized them and in order not to lose them and result in 404 errors, we will have to perform a process which is called “301 redirection” of every old url to its corresponding new url.
So this address A : www.asimplelawfirm.com/?p=service344 will have to be changed to an optimized version B : www.asimplelawfirm.com/criminal-trade-law-services
To do the 301 redirects ( and based on our website’s management platform and web hosting style ), we will need to “tell” the web server to move address A to address B permanently. This will then have our web server redirect all traffic from A to B and at the same time tell the visiting agent ( either Google, Yahoo, Bing or a user’s web browser ) that this is a permanent change, thus a code 301 redirection.