Posted to Ben Finklea's blog on November 6th, 2011

How to Turn On Clean URLs in Drupal

Just like websites of old, Drupal uses a query string to pull information from a database. Every blog post, comment, content, user entry, and so on is stored in tables on the server so you need a query string to go find the data and bring it back to the browser window.

One of the essential online elements that SEO tackles is creating URLs that are “clean” and indexed efficiently by the search engines. They are easy on the eyes and on the spiders that index your site. If you are not sure what a clean URL is, here is a quick definition:

Clean URLs are URLs that do not contain any strange characters like ?, =, &, or $.

In Drupal, a clean URL looks like this: However, Drupal’s standard URLs are not clean. Here are a few examples of Drupal’s standard URLs:

How To Optimize URLs

Please note: It is important not to confuse a clean URL with a properly optimized one, though. While a clean URL can be easily read, it doesn’t tell the search engines anything about the website. Search engine optimized URLs contain some keywords.

An example of a clean and optimized URL:

How To Turn On Clean URLs

Turning on clean URLs in Drupal is a necessary step for any Drupal site owner. During installation of Drupal 6 will run the clean URL test automatically and will show the results. If you weren’t the one to install Drupal or you don’t remember whether it worked or not, you should check to make sure that clean URLs are turned on.

1. Point your browser to or go to your admin screen and click Clean URLs.

2. The Enabled radio button should be selected. If it is not, select it and click Save Configuration.

If You Cannot Enable Clean URLs

There is a possibility that your hosting company has some settings they need to adjust for you or that you need to edit your .htaccess file to make it work. Visit for common configuration issues. There are solutions listed for clean URL problems with 1and1, Mac OS X, Bluehost, and GoDaddy.