Search Engine Friendly Blog URLs
Search engines can be very picky in what they will index and what they won’t index. Obviously, we want to make our blogs as SEO friendly as possible and restructuring the links that are automagically generated by wordpress is what we need to do in this situation.
To setup your links to be more SEO friendly, which in turn should help get your pages indexed by the major search engines is really easy with wordpress. To do this we need to go to “Options” and then under the options menu select “Permalinks”. Then select the “Custom” radio button and use the code pictured below:

Copy and paste into the Custom box: /%postname%-%post_id%.htm
You could also use the “Date and name based” or even the “Numeric” permalink structure and it would be better than the default. I like the custom one posted above best though.
So Why do search engines dislike the default URL structure?
Well, generally speaking, the search engines dislike dynamic content which is usually triggered by parameters tagged onto the end of a URL. In this case ?p=123 signals that this is a dynamic page. They don’t like dynamic URLs for obvious reasons. It’s dynamic in the sense that it’s not static html. It’s content that is being pulled from a database. When they index the page it can be one way, but that same page could easily be manipulated by modifying the database and point to something totally different from what the search engine originally indexed.
The search engines will index these pages, but they won’t rank as well because they can’t be trusted. Spammers could easily manipulate search engine results but then point to something different in the database as mentioned above. So the search engine wouldn’t be able to gaurantee that this page with the dynamic URL will stay that way and they don’t want to display irrelevent results to users.