Contact: Web / Voice / Email / Tips
Simple Thoughts Blog - Java and Web Technologies

Simple solutions for complex problems.

 

WordPress Tip on Permalink Options

March 11th, 2005 by Angsuman Chakraborty

This tip covers configuration in Options/Permalinks [Edit Permalink Structure] for WordPress users. My version is WordPress 1.5.

By default WordPress uses a query string to identify a post. This is neither search engine friendly nor human friendly. A better way is to use a custom URI to better identify your posts. Many bloggers include a date as part of the permalink. I advise against it. The date of the post is not so important as to be part of the URI!

My suggestion is to use a simple structure containing the post-slug as your Permalink URI. I use:
Structure: /index.php/archive/%postname%/

Note that there is an index.php embedded. This is fine with search engines and humans too. And it will work great. It doesn’t require mod_rewrite functionality or change to htaccess. Something as simple as this will work in all configurations.

For category base I use simply: /index.php/category

This is just a simple example. You can make your URI as complicated as you want. Just remember to test it.
Personally I like it short and simple.

Update 1: Please refer to the comments below for points and counterpoints on this topic.

Update 2: The objections raised by some people is that having an identical named title for posts will cause problems with WordPress. This is not a valid observation anymore. In other words you can have 10 posts named “Happy New Year” and WordPress will assign unique post-slug to each. Simply said this approach is without any drawbacks AFAIK.

Update 3: Cem commented:

For future reference, I was able to get permalink URL rewriting working in WordPress by creating a php.ini at my domain root with the following configuration:

cgi.fix_pathinfo = 1
cgi.force_redirect = 0

Several people have found it useful on various environments including but not limited to IIS on windows as can be seen from the comments. Thanks Cem for sharing!

BTW: Personally I use /archive/%postname%/ for my Stem Cell Research Blog without requiring any changes.

The greatest benefit is that you don’t have to embed index.php as part of URL, possibly slightly increasing your SERP.


Filed under Headline News, How To, Pro Blogging, Web, Windows, WordPress | | RSS 2.0 | Email this Article

You may also like to read

»How to Sanitize Blog Title, to use as Permalink, in Java
»List of Files Changed in WordPress 2.03 wrt. WordPress 2.02
»Why I discourage embedding date in URL's (including WordPress Permalinks and also other CMS)
»How To Use XDForum in WordPress Blogs With Nice Permalinks
»3 Power Tips For Angsuman's Translator Plugin Pro Users
»View All WordPress Options
»Next Generation CSS Based 3 Column Anaconda Theme for WordPress Released
»Angsuman's Translator Plugin Pro Version 3 For WordPress 2.x Blogs Released
»My analysis of the actual problem with JavaBlogs Aggregator
»WordPress Automatic Translator Plugin - Almost Ready With Exciting Features
»Apache HTTPD: How To Turn Off Index Listing in Directory & Sub-Directories; Protect WordPress wp-content
»How to Backup & Restore MySQL Database
»WordPress: How To Create Multiple Paged Articles
»Why Your WordPress Blog Posting is Slow
»List of WordPress 2.x Rewrite Rules & Usage Notes

114 Responses to “WordPress Tip on Permalink Options”

  1. Squeg Says:

    I think you’re making a mistake discouraging the use if the date in URI’s. Wordpress does not require post slugs to be unique. So if all you is ‘/archive/slug’ the chances of having a collision go increase greatly over time. Can you really be sure that in the next x years you’ll never recycle a post title, ever?

    Adding the category helps, of course, because then you’d have to duplicate the title and category to cause problems. But the date adds a unique identifier to the string that is guaranteed not to be repeated.

    I use a month-year combination for my date field, figuring that within anygiven month I’m unlikely to repeat slugs. But even that could be seen as too restrictive by some.

    You’re also overlooking that adding the date adds a sense of relevance to your links. Do i care about content more than a year old? No? Then maybe I don’t need to follow that link i saved that’s dated 1999.

  2. Simple Thoughts Says:

    Why I discourage embedding date in URL’s (including WordPress Permalinks and also other CMS)

    The reasons I discourage date’s in a permalink are: It is redundant information as date is already part of the post information and need not be additionally within the url. Search engines like google, which gives importance to words in URL’s will …

  3. angsuman Says:

    Squeg,

    Please read my article on this topic to specifically address your concern.

    Let me know your thoughts.

  4. Squeg Says:

    I definitely agree that the data is not always necessary in a url. But I still think using it in most permalink structures does more good than bad.

    I will concede that the date makes the url “uglier.” So I recommend using the most compact date structure you can to meet your needs. For some that may mean leaving it out. For me it means domain/archives/MM-YYYY/slug. I wish i’d left the word “archives” out as the date pretty much implies that.

    I’m not sure that I follow how having the date in the address “poisons” the search engines. I’d like to hear more clarification on what you mean by this.

    Almost all non “time-sensitive” information really is time sensitive if it’s old enough. The only real exceptions are pages where the content is continually updated/replaced with new information as it ages.

    Take for instance, a guide to creating web-pages written in 1998. If it was well-written in 1998 it may have attracted many links, moving it up the search engines. But if it has not been updated, then it is really quite behind the times with reguard to today’s best practices. It may still be technically accurate within the framework for which it was created, but it’s still dated. Someone looking at this page today needs to know right away that it’s old information and they should look elsewhere.

    As you can see from your own kubrik installation under wordpress, not every page actively displays the date in a prominent location.

    It’s also worth mentioning that Wordpress (and probably other such systems) use the permalink you specifiy in your RSS as well as on your webpage. Many RSS readers will use the permalink, if it’s identified, as a unique identifier for the item in the feed. Reader software can use that unique ID to enable further functionality for managing feeds and posts. In these circumnstances it’s even more beneficial to ensure that your permalinks are unique.

    In the end, my comment isn’t so much about any given individual leaving the date out of their permalink structure. It’s about dissuading all users from including it without first considering both the pro’s and con’s of doing so. Using the date may not always seem necessary, but it does add a bit of “future-proofing” should your needs change.

    My advice to new wordpress users when choosing a permalink structure would be to stick with “ugly” links for awhile until they can really get a feel for how they’d like to use their blog. You can always add permalinks without causing damage. But once you set them up, you can’t really change the system without causing a lot of stuff that used to work, to fail.

  5. MacManX Says:

    Actually, mainstream WP user and WP developers argue against NOT using a date structure in the permalinks. This has been argued on the forums several times.

    Let’s say that on January 1st, 2004, you post “Happy New Year!”, and then on January 1st, 2005, you post “Happy New Year”. You now have two posts at domain.com/happy-new-year and this sends your site into a spiral of chaos. Having some sort of date structure will prevent this.

  6. angsuman Says:

    @MacManx I realize that this is a situation we need to guard against. Wouldn’t it however be better to modify WordPress to ensure uniqueness of post slug? Let the title be same. When WordPress realizes that the title is duplicate while publishing, it changes the post-slug to be unique by adding say date. However as the post slug is not viewed by the public at large it doesn’t affect the user and the viewer?

    What do you think.

    @Squeg Thanks for your informative comments. I understand your concerns. I have updated both my post to include a link to your comments, so people can read both and choose whatever suits them best.

    Personally I like it simpler without the date as I have already stated, accepting the risk of duplicate post-slug. I may actually do something to remedy the situation wrt. duplication in line with my idea described above.

    Thoughts?

  7. Squeg Says:

    While i like the date for a lot of things, I do agree sometimes it would be nice to ditch it. As we’ve both discussed, the biggest single inhibitor to leaving the date out of wordpress is that it doesn’t enforce unique post slugs. It does seem like it would be pretty simple to hack wordpress so that it guaranteed a unique post slug by checking the database for exising instances of it’s proposed slug and then appending a number or something to the end of the slug. ( A warning at that time would be nice too, so you could modify the slug if you wanted. )

    I’d also like it to automatically truncate long slugs. I know that might make it harder to determine what to type into the URL if you’re trying to guess (who really does that?) but it would definitely simplify the URLs. Some kind of options setting where you specified a maximum number of characters for the slug, would do the trick.

  8. camino, a blog » Blog Archive » Permalink 변경 Says:

    [...] rs, Link-blog03. April 2005 .htaccess 파일을 건드릴 필요 없는 방법 WordPress Tip on Permalink Options Comment RSS - [...]

  9. Barts Blog Says:

    WordPress Permalinks Updated

    I have updated my WordPress permalinks from:

    /year/month/day/TITLE

    to:

    /archives/month/day/TITLE

    I just think It would look alot better like that. That’s all :)….

  10. carlos Says:

    My server is running on Windows Server (brinkter.com) so I guess I’m SOL regarding permalinks.

    Any workarounds?

  11. carlos Says:

    edit: that should be “brinkster.com” on the above post.

  12. angsuman Says:

    @Carlos The ideas in this post works on Windows server too. In fact I have a copy of the site running on my Windows Apache server at Home.

    This is the beauty of the idea. It requires no special features enabled for it to work on any platform.

  13. carlos Says:

    Yes, but it seems you need to have Apache running. What I meant was that brinkster runs Windows Server 2003 as their web server platform, as opposed to Apache for Windows. It seems you need apache’s mod_rewrite for the permalink options to work.

    Thanks.

  14. angsuman Says:

    @Carlos
    No it doesn’t need apache running. To use my tip above you do not need mod_rewrite capability nor do you need .htaccess. That is the beauty and simplicity of the solution. Just try it. It will work.

  15. carlos Says:

    I get a “No input file specified.” when I try anything with the permalinks.

  16. sajin Says:

    Am having issues too, trying to setup permalinks on Win2K3/IIS server. It throws a 404 error, no matter what permalink structure i try!

  17. angsuman Says:

    @Sajin & @Carlos
    Try these exactly as typed (in Options/Permalinks) and let me know if you still have problems.

    Structure: /index.php/archive/%postname%/
    Category base: /index.php/category

  18. carlos Says:

    Angsuman, tried again, making sure to copy-paste from your message. I still get a “No input file specified” message. I’m waiting a while now, to see if this is some sort of database or configuration issue that needs some time to set itself.

    For example, this is how one of my post links looks like now:

    http://www.carlanga.com/blog/index.php/archive/using-crypto-hashes-salts-to-protect-database-privacy/

    Does that look ok to you?

    Thanks!

  19. carlos Says:

    Waited a while… added a post… no luck. It doens’t seem like this will work on non-Apache boxes.

  20. angsuman Says:

    @Carlos I will check it out. It should be possible as it is using something very basic.

    The reason I don’t have IIS, even on my home machine, is due to security concerns.

    BTW: Have you faced aany security related issue with your IIS deployment?

  21. carlos Says:

    @angsuman,

    Not that I know of, as Brinkster handles all the hosting (shared hosting). They should keep all patches up to date, etc. But I haven’t had any problems so far in the 3 or 4 years I’ve been with them.

    Just now I noticed they offered PHP/MySQL support and thus installed Wordpress. I was using Radio Userland, via FTP, before.

  22. rust Says:

    My server runs Win2000/IIS5 and no problem with “index.php” permalinks. Perhaps this is specifically a Windows 2003 or IIS6 problem?

    I run Apache2 on the same server and that’s where all the WP1.5 installs are. Permalink structure is defaulted to /%year%/%month%/%postname%/ for clarity.

  23. carlos Says:

    @rust,

    Do you have your Wordpress installation running on IIS5 or on the Apache server you have on the same machine?

  24. Squeg Says:

    Just chiming in, but Carlos, any chance you have your index.php in a nonstandard location? Maybe the link that’s supposed to be pointing at your index file really isn’t?

    If that doesn’t seem to be the issue and you’re not using a default theme, you might try switching back to classic or kubrik. It’s *possible* that whatever theme you’re using doesn’t link to the code that parses the URL string aside from the standard GET stuff. Admittedly, I’ve not actually gone spelunking to find the code that’s supposed to be doing that parsing.

  25. carlos Says:

    Thanks Squeg.

    I’m running the default theme… let me check if location has anything to do with this. I have everything installed in a folder (www.carlanga.com/blog) but otherwise, it’s just as it came in the original file. I unzipped and FTP’d.

    Thanks.

  26. Squeg Says:

    Well that sounds like a pretty standard configuration. Double-check the options screen in your dashboard to make sure that both location boxes point at the correct location. You might (and i’m totally just shotgunning here) try setting the blog address to http://www.carlanga.com/blog/index.php instead of just /blog.

    Aside from that, I’d say it’s going to come down to server configuration. It’s possible the web server itself is choking on the oddly-formed URL. And at that point, I don’t really have a lot of good ideas. Honestly, what’s really wrong with “ugly” url’s anyway? :)

  27. angsuman Says:

    @Squeg
    > what’s really wrong with “ugly” url’s anyway?
    ?p=3756 type of url’s don’t get much google-love (not to mention they are ugly) :)

  28. carlos Says:

    So, has anyone gotten this to work under IIS?

  29. angsuman Says:

    Not me, not yet.

  30. squeg Says:

    Okay, last resort, you could try and get rewrites to actually work in IIS using something like this:

    http://www.isapirewrite.com/

    The lite version is free and might be enough for what you’re trying to do.

  31. squeg Says:

    Here’s another possible option (free)

    http://www.motobit.com/help/url-replacer-rewriter/iis-mod-rewrite.asp

  32. angsuman Says:

    Thanks Squeg.

    Carlos, did you have any luck with these solutions?

  33. carlos Says:

    From what I see, I don’t think I could get either of those to work, as I’m on a hosted server. I’ll look closer at Isapirewrite and comment if anything good comes up.

    Thanks!

  34. angsuman Says:

    How about changing your hosting provider :)
    I found Linux hosting providers are normally cheaper and comes with addl. capabilities like ssh, vps (some) etc.

  35. carlos Says:

    I thought about that… but then my hosting provider offered me a nice plan with PHP that was competitive with everything else out there and I decided the hassle of switching wasn’t worth it. I’d have to move all my data plus my email domain.

    They are about to start offering Linux hosting, so maybe all is not lost.

  36. Gary Says:

    I have tried to search the site for the reason for using index.php as part of the permalink structure. And of course it is hard to search for that since it is included on every page :)

  37. angsuman Says:

    @Gary
    Finally a downside of using “index.php” as part of permalink :)

    Looks like however you succeeded.

  38. Gary Says:

    :)
    Well, you won me over to the NoDateURI side. Being a noob with php, apache, etc, I was reluctant to do anything that might ‘break’ my site. But I backed up everything (including a spare copy of .htaccess) and said - go for it.

    It worked!!

    Then I realized all the links out in the wild world to my site were now probably broken. And even though I like my 404 message - I prefer people not get it.

    So, since I was being brave, I opened that back up copy of .htaccess and compared it with the new one. I think I figured out how all the regular expressions were doing what they were supposed to do enought to try something bold. I copied the lines that started with ^([0-9]{4}) and replaced the pattern at the end:
    `index.php?year=$1&monthnum=$2&day=$3&name=$4`
    with just:
    index.php?name=$4`
    In other words I removed:
    `year=$1&monthnum=$2&day=$3&`

    A quick test shows it worked - now the old links on my pingbacks, tracklogs, etc still should work. I emphasize ’should’ since I really have no clue about this stuff since I am an insurance agent and not a professional propeller head. ;)

  39. Dogberry Patch Says:

    WordPress Permalink Options

    As I read 2 posts on the Simple Thoughts blog about permalinks in WordPress I realized I wanted my permalinks to be ‘cleaner’.
    In the first article, [Why I discourage embedding date in URL’s (including WordPress Permalinks and also other CMS)](htt…

  40. Recommended Web Tools » Blog Archive » .htaccess and WordPress Says:

    [...] permalinks. At the very least, include the post name. Another recommendation can be found here. 05.25.2005 @ 10:15 AM by paul @ rwt [...]

  41. tdlee Says:

    Carlos:

    I have just set up WP on Win2k3/IIS6, and was pleasantly surprised to find no problems with permalinks. I have not installed any of the rewrite ISAPI filters. This site is for internal organizational use only, so is not accessable to the public — you’ll have to trust me that permalinks are working! :)

    My guess is that you don’t have access to the php.ini file (I wouldn’t give access to all users if I was the host!)

    If I’m right, ask your host to turn on the cgi.fix_pathinfo option for PHP. Even if they make the change in php.ini, it requires a restart of IIS to take effect, so they may not be able to do that immediately.

    If you begin hosting on your own server, and need to use IIS instead of Apache for some reason, try the suggestion on the WordPress Codex: http://codex.wordpress.org/User:ringmaster/IIS

    Hope that helps.

  42. Jalansutera Says:

    Well, this discussion make me, a newbie in WP, confused. What should I choose?

  43. Angsuman Says:

    Choose the simple structure I suggested in the article. It will take you about a minute to setup, very search engine friendly and requires no special capability of your server like mod_rewrite or htaccess.

    I summarized in the last line of the article:
    Simply said this approach is without any drawbacks AFAIK.

  44. Cem Says:

    For future reference, I was able to get permalink URL rewriting working in WordPress by creating a php.ini at my domain root with the following configuration:

    cgi.fix_pathinfo = 1
    cgi.force_redirect = 0

  45. Stopthepress Says:

    I have posted this query at WP Forum but received no response.

    Server: Linux/Apache
    WP: 1.5.1
    Themes: both my own and wordpress default.
    Plugins:
    Include page 1.0
    Last Post Since 1.0
    Static Front Page 1.0.2

    I have edited my Permalink structure as:

    /%year%/%monthnum%/%day%/%postname%/
    /category/%postname%/

    The links seems to be working fine but I get the following error at every post or category:

    WordPress database error: [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1]
    SELECT category_nicename FROM wp_categories WHERE cat_ID=

    Then to make it simple I used:
    /index.php/%year%/%postname%/
    /index.php/archives/%post_id%
    without .htaccess

    Same result.

    Any idea?

  46. Angsuman Says:

    Look like a plugin related problem or related to the theme. Start by disabling all the plugins and see of the problem is solved. Then activate them one at a time to isolate the exact plugin causing it.
    To test the theme try using the default theme and see if that solves the problem.
    This is not related to the permalink structure as far as I can tell from this description.

  47. Stopthepress Says:

    Angsuman thanks for your response. The error shows up despite the theme or the plugin used. I have tested and got the same error using the WP default theme and without plugins. Weird isn’t?

    My server provider says the system is okay but I have no arguments to discuss the database error. So, it would be great if someone explains what the error message means.

  48. Angsuman Says:

    @Stopthepress Check the version of MySQL installed on your site. You should be able to find it in the control panel or your hosting provider will be able to tell you.

    AFAIK WordPress doesn’t support MySQL 5.x versions. It works with 4.x versions.

  49. Stopthepress Says:

    Angsuman,

    MySQL version is 4.0.22-standard

  50. Angsuman Says:

    This is not linked to permalinks at all. Comment out references to the_category() function everywhere in your theme.

    Then your site will work.

    However it shouldn’t have been a problem in the first place. Search/Ask in WP forum if your version of MySQL is supported.

    Re-instllating often helps with such spurious errors. That is an option too.

  51. Stopthepress Says:

    Done!!!
    Deleting the ‘the_category()’ function at the theme’s index.php solved the problem. Fortunately the ‘the_category()’ function is not so important.

    The question is why the_category() function caused that weird behaviour in my theme and in the WP Default theme as well? Hmmm if I get some spare time I will re-install to see what happen.

    Thanks a lot Angsuman for your valuable comments. Will post a link to this thread at the WP Forum in order to help other users suffering “Permalinkcitis”.

  52. UNiT3.nl Says:

    Genius here:

    Cem Says:
    June 19th, 2005 at 9:40 pm

    For future reference, I was able to get permalink URL rewriting working in WordPress by creating a php.ini at my domain root with the following configuration:

    cgi.fix_pathinfo = 1
    cgi.force_redirect = 0

    I already gave up de permalink-stuff, but today i upgraded wp to 1.5.1.3 .
    I thought lets give it a try.

    I followed Cems advice and voila it is working!
    without the .htacces, because i don’t have that file in my (shared) webspace.
    Big thanks to Cem.

  53. Zible Says:

    Just wanted to add my 2 cents, the trick Cem said seemed to work for me. Specifically:

    Cem Says:
    June 19th, 2005 at 9:40 pm
    For future reference, I was able to get permalink URL rewriting working in WordPress by creating a php.ini at my domain root with the following configuration:

    cgi.fix_pathinfo = 1
    cgi.force_redirect = 0

    Running Win2k3 on IIS6 and now it works perfectly fine. Thanx a bunch.

  54. Robert Merrill Says:

    I didn’t believe it would work, but like CEM (comment #44) and others said, this did the trick for me on Win2003 and IIS.

  55. Brad Bice Says:

    Thank you so much! I’ve been looking around forever for a solution to the IIS/Wordpress/Permalinks problem, and the php.ini thing worked! I’m so happy, thank you all so much.

  56. Darryn Says:

    thanks, the tip about php.ini on iis saved me from tearing any more hair out.

  57. dannyandbess.com » Worpress Rules (the blogs) Says:

    [...] Wordpress is sooooooo cool. Just changed the url’s to be “search engine friendly.” I was researching how to do this manually, but then ran across a link from one of Wordpress’ support pages, which mentioned to change the options in the local Wordpress install’s permalinks section, add some code to the .htaccess file, and that was it! How easy. I’ll probably donate some money to them soon. They’ve built a fantastic tool. [...]

  58. Par Triv Says:

    OMG HOLY 5H17

    CEM, you rule :) Thank you, I spent a couple days looking for this work around (came across this post more than once, just was too lazy to read the comments before ;) )

    u guys rock

  59. Par Triv Says:

    has anyone noticed their admin console stop doing page redirects after executing actions since they installed the php.ini file to fix permalink?

    I imagne it’s just something I’m missing from my php.ini… but I don’t know what to put in there :(

    this happened to anyone else?

  60. Jeroen Says:

    Hi

    maybe it’s a good tip to know that when you use other seperation characters like: . , | + instead of the / or - you can get serious errors ;)

    so: /%year%.%monthnum%.%day%.%postname%.%post_id%
    does not work, but
    /%year%-%monthnum%-%day%-%postname%-%post_id%
    does…

  61. Enrico Says:

    It worked! Thanks, really! :-)

  62. Claudia Says:

    Using the structure you suggested solved all my problems of no comments showing and categories not working. I don’t really know php and am new to this kind of blogging, but I’m so relieved and so thankful I could dance!
    Thanks from Italy

  63. Harshblogger Says:

    I suggest using the default structure: /index.php/%year%/%monthnum%/%day%/%postname%/ because this is computable with the other archive URL. For example /index.php/%year%/%monthnum%/ shows all posts in that month and /index.php/%year%/ shows all posts in that year. /index.php/%year%/%monthnum%/%day%/%postname%/ seams like the logical extension to me.

  64. Chris Says:

    Any suggestions for fixing this when the Windows web host provider won’t modify php.ini with the fix above? WebHost4Life can’t/won’t make the change, and it doesn’t look like they’ll install the ISAPI filters referred to above, either.

  65. Angsuman Chakraborty Says:

    How about uploading the file php.ini to your home directory yourself instead of relying on your web host?

  66. ourlifexp.com » Setting up permalink for IIS Says:

    [...] You can also try to follow blog.taragana.com by putting a php.ini file in your root folder. Have a look at their update 3 it may be of some help. [...]

  67. Fred Says:

    I am attempting to get /archive/%postname%/ to work without having to write to WP’s .htaccess, but ran into a few problems. Allowing wp to write the code to WP’s .htaccess file overrides my RewriteEngine canonical redirect in my domain root .htaccess, that automatically parses all non-www versions of my domain to the www version to avoid possible duplicate content penalties. This problem only effects my /blog/ folder.

    Adding php.ini to my domain root with:

    cgi.fix_pathinfo = 1
    cgi.force_redirect = 0

    Doesn’t work. Changing /index.php/archive/%postname%/ to /archive/%postname%/ results in “Not found on server” errors for all my other blog pages.

    I tried adding a similar RewriteEngine code to WP’s .htaccess, but that didn’t work.

  68. Angsuman Chakraborty Says:

    I think you would be better of including index.php in your path like this blog.

  69. Stephen C Says:

    I’ve got a wordpress site running on Win2K/IIS5 (it’s an internal demo @ work, so not a huge choice of operating system and server).

    Yesterday i set up permalinking with the following structure (and the php.ini file) and it worked fine:

    Structure: /index.php/%year%/%monthnum%/%day%/%postname%/

    Category Base: /index.php

    Today i’ve tried installing a plugin (wp-hashcash), and now i find that my structure doesn’t work and i get loads of 404 errors. However my categories do still work.

    So I tried rolling back the only thing that had changed and uninstalled the plugin, but that doesn’t fix the problem.

    Would be grateful for any ideas at all, i’m completely at a loss. I’m wondering if the act of installing the plugin has made some irrevocable change, but i can’t see how..

  70. Angsuman Chakraborty Says:

    Stephen,

    As I mentioned in the post above please use the following structure:

    My suggestion is to use a simple structure containing the post-slug as your Permalink URI. I use:
    Structure: /index.php/archive/%postname%/

    For category base I use simply: /index.php/category

    I do not encourage embedding date information in permalinks and Google engineer Matt Cutts agrees with me.

    Angsuman

  71. Danny Says:

    Hey everyone. So after wrestling with this for a long time (Window XP sp2, IIS 5.1, PHP latest, WP 2.0, MySql 5) I started digging to figure out why my permlinks weren’t working (after following all your good instructions).

    I ran into this msft article: http://www.microsoft.com/technet/security/tools/urlscan.mspx

    I installed the newer version of urlscan, and turned on the following line in the ini file:
    AllowDotInPath=1 ; if 1, allow dots that are not file extensions

    (the ini file is in : D:\WINDOWS\system32\inetsrv\urlscan on my machine)

    Then refreshing works (be sure to re-install urlscan and restart iis or reboot in order to get it to see the new ini info).

    I hope that helps those who are still stuck with windows + iis & permalinks.

    Cheers,

    Danny

  72. Sandy’s Technically Blog » Fixing permalinks Says:

    [...] Secara otomatis WordPress dapat me-generate file .htaccess namun ada semacam bug -mungkin- yang menyebabkan permalink tidak berjalan, dari hasil search sama mbah Google saya dapat bbrp petunjuk antara lain di Using_Permalinks, wordpress-tip-on-permalink-options, How to configure WordPress to create search engine friendly URLs for permalinks? akhirnya dari petunjuk yang ada saya menambahkan kode berikut pada file .htaccess # BEGIN WordPress [...]

  73. JiggyWittit Says:

    Kewl blog you got goin on up here.
    Peace, JiggyWittit

  74. Boehl.net » Blog Archiv » Wordpress und Permalinks Says:

    [...] Das halten wir mal schnell fest. In der Wordpress FAQ wird beschrieben wie man auch ohne mod_rewite permalink-ähnliche links in wp-erhält. Mehr dazu auch hier [...]

  75. Tracey de Morsella Says:

    I have wordpress 1.5.2 installed on window. My attempt to create permalinks without mod_rewrite using a php.ini file worked. see my blog at: http://www.multiculturaladvantage.com/ diversity-recruiting/

    However, my posts are striped of all style sheet information. See a sample post: http://www.multiculturaladvantage.com/ diversity-recruiting/ index.php/ archive/ test-shaker-receives-top-honors-for-excellence-in-recruitment-advertising/

    I have limited prgramming knowledge and no idea what it means or how to correct it. Does anyone have ny ideas?

    Thanks Tracey

  76. Angsuman Chakraborty Says:

    Check how you specified your CSS file. It should be absolute path and not relative path (as it is most likely now).

  77. Christy Says:

    All I know is - this is the ONLY thing that has worked for me to change my permalinks from the default to pretty. I used my postname only.

    Thank you, thank you! No amount of reading I was doing was working for me and I finally found a link here from WP codex.

  78. parker Says:

    Wow thanks so much for this tip. It is incredibly simple and works great. Just had to make sure the php.ini file is in the domain root. I used the following custom structure: “/index.php/%year%/%monthnum%/%postname%/”, on a Windows IIS 6.0 acct on shared hosting. The only thing I’m worried about now is if WP or the PHP installation on my host gets upgraded and this stops working in the future… THANKS!

  79. Angsuman Chakraborty Says:

    It will continue to work.

  80. Angsuman Chakraborty Says:

    Christy & Parker,

    I am happy that it worked for you. Feel free to spread the word in your blogs :)

    – Angsuman

  81. WordPress on Windows IIS with Pretty Permalinks · Island of Doctor Death Says:

    [...] I got stuck at this point because the resources I was finding online indicated that to do this on IIS, I needed to muck around with ISAPI rewriting. I can’t do that in a shared hosting environment, so I was in limbo until I found this link through the WordPress Codex. [...]

  82. Cem Meric Says:

    I am glad that my suggestion was helpful.

  83. Not so fugly permalinks, finally! at sooyindotcom Says:

    [...] I finally managed to change my permalinks structure…from downright ugly (ie. http://www.sooyin.com/?p=296578907243) to something more bearable. Thanks to this tip! [...]

  84. Angsuman’s Translator Plugin Pro Version 3 For WordPress 2.x Blogs Released -Simple Thoughts - Java and Web Technology Blog Says:

    [...] [...]

  85. Angsuman Chakraborty Says:

    @Cem
    Yes it was. Thanks.

  86. The Devil’s Feet » Blog Archive » Sausage Inna Bun? Says:

    [...] I’ve made a couple of other small changes to the site as well; The article and page links have been altered to a more aesthetically pleasing format using Angusman’s Advice posted here and I’ve added a link exchange section to the sidebar with a link to Matt’s Blog ‘Abort. Retry. Fail?‘. Matt is the author of the Article on how to remove the Sony Ericsson file manager I linked to in my last post and his stuff is well worth a read. [...]

  87. Stephane Says:

    I still can’t get the friendly permalinks to work. I am on win 2003, IIS 6, PHP 5. I have a dedicated server.

    I tried all tricks you saif here but it still printing “no input file specified”.

    If anyone know how to get it to work, please let me know!

    Thanks,

    Stephane

  88. Stephane Says:

    Finally, I got it to work on IIS 6 and win 2k3 with this:

    http://www.nathanm.com/2006/07/02/wordpress_permalinks_removing_indexphp_in_iis.html

    The plugin is here:

    http://www.nathanm.com/wordpress-plugins/

    Stephane

  89. Bisohbet.Com WordPress » Permalink Types Says:

    [...] This reference from Cem via http://blog.taragana.com/index.php/archive/wordpress-tip-on-permalink-options/ [...]

  90. How To Use XDForum in WordPress Blogs With Nice Permalinks -Simple Thoughts - Java and Web Blog Says:

    [...] XDForum (example: Anaconda Forum) is a nice basic forum software which works seamlessly with WordPress blogs (download our free theme and plugins). Unfortunately it works out-of-the-box with default permalinks only. Most site today use nice permalinks. This mini-tutorial will teach you how to use XDForum with nice permalinks (how to enable; tips and more). [...]

  91. Av Says:

    I am trying to get some sort of friendly article names to work on my site http://www.fancyacar.co.uk at the moment. I have already made the rewrite rules in .htaccess file but i cant find a way to deal with duplicate post titles. Maybe i could just append a number to the post like http://www.fancyacar.co.uk/hello-world and http://www.fancyacar.co.uk/hello-world-2 ?? This will ensure that no post titles are the same, wouldnt it? What do you guys think?

  92. Christian Says:

    Wordpress adds the number by default in URLs to duplicate post name

  93. Pradeep Says:

    I had started my blog with Default format and then changed to Date and Name based.
    But now it is custom format %category%/%postname% which I think is good in terms of search engine.

    Not very sure!!

  94. KP Says:

    Thanks for this great info. I have changed the settings of my permalink and hopefully it will attract more search engine to come… ;-)

    Thanks…

  95. Stephen Cronin Says:

    Thanks for the information - very helpful when changing my permalink structure. A caution for beginners however: be careful about using %category% unless you are sure you will not change your categories, as doing so will break some of your permalinks. I wrote about this in my blog: http://www.scratch99.com/2007/06/wordpress-permalink-customisation-caution-for-beginners/
    As you can see I no longer use category :)

  96. Lokesh Says:

    I prefer to have only postname after domain name.fellow webmasters like short urls to link to and i am as a visitor much fond of short urls.

  97. Rich Says:

    I look at dates in the URL when reading search results to find articles that are most recent.

  98. Compulabel Says:

    I used your advice a year ago when I first set up WordPress on our Compulabelsite and everything worked fine. The categories of the blog worked with the extra php.ini files to my blog root folder.

    However, recently my hosting company updated their version of PHP on the server from PHP5.1.1 to PHP5.2.3. The category pages no longer display properly.

    If you visit a category in our blog, like…
    Compulabel Labels you’ll see (as of this date), you’ll get an error message…
    CGI Error
    The specified CGI application misbehaved by not returning a complete set of HTTP headers.

    If tried everything, including uploading the entire latest version of Wordpress 2.2 and that hasn’t resolved the problem.

    Does anyone have a solution to this problem, short of transferring our site to another server that has the older version of PHP software installed on it (which I don’t want to do)? Thanks

  99. Angsuman Chakraborty Says:

    Try updating your permalinks in Options->Permalink

    Then look at your .htaccess file to see if something is screwed up.

  100. Angsuman Chakraborty Says:

    Also you can try creating a php.ini at my domain root with the following configuration:

    cgi.fix_pathinfo = 1
    cgi.force_redirect = 0

  101. Compulabel Says:

    Thanks for the feedback, but the PHP.ini is correct.
    I forgot to mention that I have my version of Wordpress hosted on a shared hosting company and it runs on a Windows IIS. So I’m not able to access the .htaccess file.

    I’ve tried UPDATING the permalinks files and some become corrected and others don’t.

    It seems Wordpress add /category/ or /archive/ to some of the Permalinks and it’s not always the same. Especially for the PREVIOUS links when a page is too full.

    Also, when you create a new CATEGORY, and add a post to it. And click on the new Category link, it doesn’t seem to find the category or the link.

    Feel free to explore the blog at
    Compulabel and you’ll see my frustration.

    Do you think the PHP incompatibility issue could be the issue? It seems like a long-shot but that was upgraded right around the same time the perma links started going bad.

    Any other suggestions would be appreciated.
    Thanks

  102. Guru Says:

    Its workking…Great tip for wordpress and seo begineers…

  103. Shanker Bakshi Says:

    hi , Thanks i was fighting with this Ugly Permalink problem of my blog http://www.shankerbakshi.com . Thanks i got the solution here. Thanks again, you can’t imagine how happy i am to see permalink working on my blog

  104. Joming Says:

    Seconding Shanker Bakshi’s sentiments, I also was battling the permalink problem for about two evenings, on and off.. reloading probably 50 times, and slipping the php.ini code definitely saved my sanity, so thanks for making my day!

  105. 5ivedance Says:

    I DO NOT LIKE INDEX.PHP WUWUWUWU….

  106. George (Mod_Rewrite) Says:

    The new Wordpress has features built in to do that sort of stuff, what I find works well is /%postmonth%/%postname%.html , or similar :)

  107. Grant Glendinning Says:

    Well, since everyone else seems to be sh!tting all over your post, I\’m going to go ahead and congratulate you, as it has helped me alot and I\’ve now got my blog working the way I want it. Thank you very much!

  108. Darla Says:

    Thank you for this post! I have been really dragging my feet about changing my URL structure, I followed your directions here and it was almost too easy!
    Thanks again

  109. TRV Says:

    Thank you. Very beatiful post.

  110. geld lenen Says:

    Damn, good stuff… That helped and took me a while :(

  111. LH Dentists Says:

    Worked great - thanks so much! After several failed attempts with some plugins, this was the exact simple, effective fix we needed.

  112. Steve Pierce Says:

    The PHP.ini trick stopped working with WordPress 2.5. Any suggestions?

  113. Steve Pierce Says:

    Anyone home?

  114. Someone Says:

    Awesome this worked for me. Thank you to people who share and respond.

    cgi.fix_pathinfo = 1
    cgi.force_redirect = 0

    in php.ini file.

    Wordpress shuld detect this in their next version.!

Looking forward to hear your thoughts.



Please enter the code shown below ( to verify that you are human ) before you click Submit Comment.

No. 1 method to ethically increase your blog traffic and reach.

Translate

Translate to EnglishÜbersetzen Sie zum Deutsch/GermanPřeložit do Čech/CzechOversætte hen til Dansk/DanishKääntää jotta Finnish/FinnishLefordít -hoz Magyar/HungarianÞýða til Íslenska/IcelandicTraducir a Latinoamericano Español/Latin American Spanishtagapagsalin sa Filipino/FilipinoTłumaczyć wobec Polski/PolishA traduce la spre Român/RomanianPrevesti za Srpski/Serbiantolmačiti v slovenski/SlovenianÖversätta till Svensk/SwedishChyfieitha at Cymraeg/Welshtercüme etmek -e doğru Türk/TurkishPrevesti to Hrvatski/CroatianПревеждам към Българин/BulgarianTraduzca al Español/SpanishTraduisez au Français/FrenchTraduca ad Italiano/ItalianTraduza ao Português/Portuguese日本語に翻訳しなさい /Japanese한국어에게 번역하십시오/Korean中文翻译/Chinese Simplifiedترجمة الى العربية/ArabicVertaal aan het Nederlands/DutchΜεταφράστε στα ελληνικά/GreekПереведите к русскому/RussianOversetter til Norsk/Norwegian中文翻译/Chinese TraditionalTraduzir a Língua portuguesa brasileira/Brazilian PortugueseReddo ut Latin/Latin

Taragana Network

»Ctrl-S
»Enterprise Blog
»Free Book on Eye Care by Natural Therapy
»Health Care Blog
»Hot Computer Jobs Blog
»Pet Care & Grooming News and Tips
»Phil Law Blog
»Taragana - Software Outsourcing
»The Angsuman Chakraborty Blog
»The Diabetes Cure Blog
»The Eye Treatment Blog
»The Stem Cell Blog
»Weblog Hosting Blog