Easy WordPress SEO: Change URLs to pretty permalinks

Good search engine optimization (SEO) usually involves making it easier for both Google’s computers and humans to understand your content. Pretty Permalinks are an example of this:

Bad permalink: http://nathanbowers.com/?p=502 It doesn’t tell Googlebots (or humans) anything about the content of the page. Also, search engines penalize URLs with “?” in them because they indicate the dynamic results of query instead of stable content like blog posts. This is the default WordPress permalink scheme.

A little better: http://nathanbowers.com/2008/07/13/post-title/ The date code is not a unique or meaningful descriptor, though the post title helps.

Best: http://nathanbowers.com/category/post-title/ The noisy, ineffective date stamp has been replaced by a category name, which has more meaning.

So, what to do if you’ve been blogging for a while and you don’t want to break old incoming links and PageRank?

  1. If you’re switching from the default “bad” permalinks above, skip to Step 4.
  2. If you’re switching from the date-based permalinks, install and enable the WordPress Permalink Redirect plugin. This will do proper 301 redirects so you won’t lose PageRank or break links.
  3. Go to “WP-Admin > Settings > Permalink Redirect” and tell it what your old permalinks looked like. (screenshot)
  4. Go to “WP-Admin > Settings > Permalinks” and select “Custom Structure” then enter /%category%/%postname%/ (screenshot)
  5. If you get a message saying WordPress can’t write to your .htaccess file, welcome to the wonderful world of Unix permissions! You’ll need to copy and paste the redirect code WordPress gives you into the .htaccess file on your server manually.

So why doesn’t WordPress just make pretty permalinks the default? It’s because the “ugly” permalinks are guaranteed to work on any server. Most servers handle pretty permalinks fine though; WordPress is just being cautious. Read more about permalinks straight from the horse’s mouth.

Finally, let’s say you wanted to customize the URL of a post to make it different than the post title. All you have to do is edit the post “slug”. (screenshot)

Got questions? Need help? Have suggestions? Let me know in the comments:

3 Comments ↓

  1. Okay, I’ll bite.

    A while back, I got disgusted by all my categories (something like 50+…ugh…) and I converted them all to tags and replaced them with five. But the five have longish & quirky names, like “the useful ones” and “the personal ones.”

    In this case, do you really think it’s better to swap out the dates for the “pretty” ones?

  2. Nathan Bowers writes:

    Dates are OK if your categories aren’t very keyword-ey. Just having the post title is plenty. If you ever decide to make a change you can do so without breaking anything.

    I notice you have .html at the end of your URLs. Are you using the SuperCache plugin? I took the .html off one of your posts and it redirected fine, but just make sure that if you disable that plugin the redirection still happens. In any case, not a big deal, you can always do custom redirects with .htaccess.

  3. Nathan Bowers writes:

    Silly me, ending posts in .html is a standard WordPress option in the Permalinks admin panel. You could use the Permalink Redirect plugin I mentioned if you want to get rid of the .html without breaking incoming links.

    For the record it’s good to not show file extensions in URLs (the classic case is if you change the backend from say .jsp to .aspx, old links break) but again, not a big deal. Worry more about writing awesome stuff than file extensions.

Ann Marie Rios Maria Bellucci Carly Parker milf lessons Alexis Silver Bianca Pureheart newbieblack Brooke Lee Adams group sex couples ass parade Alexa Bold Julia Ann Bianca Baez nice tits Esperanza Gomez big mouthfuls Brooke Banner Allie Perdue Bobbi Starr Missy Woods Bait Bus Kitty Bella couple pussies round asses BIG booty workinglatinas Facial Fest Backroom milf workinglatinas Jessica Lynn Tug Job big mouthfuls Bailey Lane Lichelle Marie Lily Labeau ball honeys Ahryan Astyn bang bros Rebeca Linares milf soup Tugjobs facialfest Beauty Dior bang bros bangbros Allie Foster Bella Reese Britney Amber bigtitsroundasses Abby Skyy bangbus Gina Lynn Jayden Jaymes Alayah Sashu sucking pussy movies bigtitcreampie Evie Delatosso Giselle Humes Brianna Love ass parade Tugjobs Riley Mason fuck videos ball honeys Britney Amber big mouthfuls Alanna Ackerman Bait Bus Fuck Team Five Alexa Benson Fuck Team Five fuckteamfive fuck team five fucking teen Monstersofcock fucking girls milflessons Alicia Silverjones fucking pussies Alicia Tease milflessons Alexis Amore bangbros