Notes on WordPress Permalinks
In the default WordPress installation links to single articles show up like http://www.yourblog.com/p=123. This is called a permalink. A permalink (short for permanent link) is meant to be a fixed address where anyone can link to your articles even after the article has dropped from the front page. The default style shown above works fine for linking but is generally considered ugly and Goggle will often ignore URLs of this type. Luckily WordPress includes the ability to generate more friendly permalinks. When I first installed WordPress I discovered that this feature has issues on windows servers.
I
soon become disturbed by the thought that my chosen deity Goggle may be
neglecting my prayers posts so I did what any good Googleian would do.... I consulted Goggle. I soon discovered a fix to my problem. Placing a php.ini file in my root directory with the following text:
cgi.fix_pathinfo = 1
cgi.force_redirect = 0
This allows PHP to handle more complicated URLs.
So the next step is to
decide on the proper permalink structure to use. The default structure
is /index.php/%year%/%monthnum%/%day%/%postname%/. That is the year,
month, and day followed by the post name. That would make the link
http://www.yourblog.com/p=123 show up as
http://www.yourblog.com/2005/11/25/my-entry/. But once you pick a
structure you don't want to change it. If someone links to a post and
you change the permalink structure they will have a broken link.
So once again I searched Google and came across a decent discussion on this topic. The author of this blog suggest that having the date in the URL is redundant. And I agreed... at first. I was all ready to implement his suggested type of permalink when I realized something. WordPress allows you to view all posts within a certain month or year. For example by entering a URL like http://www.yourblog.com/2005/11/ you can view all posts in November 2005. Seems logical to me that if the full URL is http://www.yourblog.com/2005/11/25/my-entry/ the user can step up the URL to get all posts in the same day, month, or year. So in the end I'm going to use the default but at least now I have a logical reason for it and I can be happy with my decision.