1. Standard permalink structure.
2. Permalink structure with .HTML extension at end – the uber cool permalink structure.

Most WordPress blogs, use a common permalink structure. They use one like the first shown above:


… or more simply a lot of wordpress blogs just use:


These two permalink structures are boring, like I said they are “common“. But if something is common, that’s a bad sign isn’t it, yes? Yes it is. When something is common it shows that it is fashionable. Stuff fashion, let’s be creative, let’s be cool.

So what’s the coolest permalink structure?

I don’t know what the coolest permalink structure is – perhaps you can argue among yourselves. But I do know of some cool permalink structures. And one of the most hip permalink structures is the following:


So what? Why should I care? What’s the difference Mr WordPress Hero?

Ok, ok. Keep your pants on. The difference is that at the end of permalinks the “.html” extension will be added.

Yeah but who cares? What’s the benefit of having “.html” at the end of permalinks?

Google cares. So does MSN and Yahoo maybe. They care enough to give you extra kudos, maybe not a lot, but extra kudos nonetheless. The reason why you will get more kudos from the major search engines for using “.html” or any similar extension in your permalinks is well because of two main reasons:

  1. The Static look. The “.html” extension makes your blog posts and pages appear to be static. Using “.html” will encourage spiders to come and crawl your site more frequently. While you could use “.php” as an extension for your pages, because of this benefit – ‘the static look’ – , it’s not recommended “.php” in your permalink would tell the search engines that your content is dynamic and so search engine spiders may limit the frequency they check out your website.
  2. A higher level. Consider this, imagine you have a blog post entitled, “How To Make A Million Dollars In 1 Year” in a category called “make money online”, let’s compare how that post’s permalink would differ:



    The latter’s permalink is superior. Why? Because it is considered 1-level higher than the first therefore is given extra kudos by google.

Ok. Let’s do this on my wordpress site right now!

Cool. To make the permalink structure of your blog add “.html” as an extension to permalinks, thus moving your posts one level higher and giving them a statuc look that will earn you extra kudos from the search engines. Follow the following two steps:

1 Change Permalink Structure

Change your permalink structure to the following:


2 Download and Activate The “.html” on pages WordPress Plugin”.

By default in wordpress, your “/%category%/%postname%.html/” permalink structure will only apply to blog posts – so we are going to require a plugin for pages. Right, ok. Easy. Go download and activate the “html on pages” wordpress plugin.

That’s it. Easy. Have fun. Keep it real. And enjoy the extra kudos the major search engines will give to your WordPress blog for having the “.html” extension in permalinks.

P.S. Just in case you’re a slacker and you’re crying right now, and whinging that “this is not going to make a massive different to my SEO efforts and get me on page 1 position 1 within 1 hour.” Let me tell you, if that is you (you slacker) you would be right. But remember what SEO is. SEO is a bunch of tweaks that when combined together can equal something substancial. Don’t believe me? Slacker. Here is what google say about SEO:

Search engine optimization is often about making small modifications to parts of your website. When viewed individually, these changes might seem like incremental improvements, but when combined with other optimizations, they could have a noticeable impact on your site’s user experience and performance in organic search results.

P.P.S. The above quote is taken from the first page of Google’s recently released Search Engine Optimization Starter guide. You can download your copy by right clicking and saving the below link to your hard drive.

Download Google’s Search Engine Optimization Starter Guide

61 Comments Add Your Own Comment

(May 14th, 2009 at 5:07 am )

Hello there.

I am in a big problem. I have done all the steps mentioned here. On mouse over it shows the link with .html extension for posts as well as pages. But if I clicks on a link it gives the 404 error like The requested URL /wpthemes/about.html was not found on this server.
Here ‘wpthemes’ is the directory root on my local server.

Please Help!!
Thanks in advance.

(June 4th, 2009 at 3:08 am )

If you add a trailing slash like “/%category%/%postname%.html/”, your page url will not appear to be a html page to search engines. Instead, it will look like a directory with “.html” in the name.

Say you really had a site with static pages. Then

http://www.mysite.com/page1.html resolves to
(provided c:\webroot\page1.html is a file), while

http://www.mysite.com/page1.html/ may resolve to
(provided c:\webroot\page1.html is a directory).

You won’t get the static look and higher level advantages that you desired until you remove that slash…

(January 5th, 2010 at 3:53 am )

i am very thank full to you for this post ,is very helping for me thanks,,keep it up

(January 5th, 2010 at 10:27 pm )

I tried your method and its works amazing. Can you let me know how we can add .html extension to pages.

(April 6th, 2010 at 6:46 pm )

Interesting thought on the html extensions, would be great to see some tests.

I never really thought that Google will give more authority on different file extensions, it’s a possibility, Google is the nuts!

(July 6th, 2010 at 5:56 pm )

This is good permalink option I have choosen it and adopted it. But this method don't add .html to category permalinks and page permalinks.

(September 12th, 2010 at 4:58 am )

I have an issue with the categories…

For example I have the category “Cats” and then the sub pages “White” “Short Hair” and “Fluffy”

If I go to Cats it will display cats.html
but if I go to fluffy it will display cats/fluffy.html
How can I make the category non html so it will be cats/ not cats.html?

Thank you.

(October 20th, 2010 at 4:27 pm )

Thank you. I've never understood that html extension on blog posts.

(October 21st, 2010 at 9:35 am )

Hi i am totaly agrees to this. But i need .htm extension on pages instead of .html what i can do?

(December 3rd, 2010 at 12:25 pm )

The “Advanced Permalinks” Plugin will help to include the .html extension on your category pages.

(December 3rd, 2010 at 12:27 pm )

Try this on a live website. This permalink modification will work there.

(December 3rd, 2010 at 12:30 pm )

It is on the post itself. Mr.Wordpresshero clearly mentioned it there. You need to use the ” .html on pages” plugin.

(January 27th, 2011 at 6:00 pm )

Hi, i have the same issue for the pages, not for the post, that works ok. what can i do? tnx

(February 18th, 2011 at 1:58 am )

How can you prove that the html extension increased your search ranking?

(July 5th, 2011 at 6:29 am )

Thanks for explaining why the .html and the .html with the extra / at the end make a difference.
I've been searching and youre the first to lay it out so clearly.

(July 6th, 2011 at 2:48 pm )

I would like to know how to trouble shoot this a bit better. 

What is required on the hosting side to make it work correctly?
I set everything up on an in-house server and the permalinks worked as desired; however when I moved it up to my hosting server all I get is 404's.Is there perhaps something in cPanel I need to adjust or change on my hosting box to allow this to work correctly?

(July 6th, 2011 at 5:16 pm )

Okay, for the problems I was having the answer fell upon the .htaccess file. Normally WordPress will have already added the correct information during install; however if it was not allowed write access to .htaccess then the correct settings to allow mod_rewrite to rewrite the permalinks url will fail thus giving a 404 error. By adding the bit of information below you will be able to tell the server to allow your permalinks to display as you wish.

# BEGIN WordPress<ifmodule mod_rewrite.c=””>RewriteEngine OnRewriteBase / RewriteRule ^index.php$ – [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]</ifmodule># END WordPress

A few notes about this:
RewriteBase = the server's path to your WordPress installation so if your install is in the root the above code is already correct. if you installed into a directory called wordpress you might want to change it to:RewriteBase /wordpress/RewriteRule . /index.php [L] = If have installed into a directory this line will also need to be updated as well like so:RewriteRule . /wordpress/index.php [L]

Hope this helps some folks out.

(September 17th, 2011 at 9:53 am )

Thanks for the article…I'm running around the blogs on how to add .html extension to posts..Non have answered by query…I found you cheese

(November 24th, 2011 at 2:33 pm )

Just the thing I was looking for!…Thanks for the valuable info.  Did your advice and got the results I wanted, same with the plugin you have suggested…Keep it coming! :)

(January 1st, 2012 at 1:52 pm )

This is my website how can i make this .html file format?

(January 5th, 2012 at 8:39 pm )

… remove the “l”?

(January 16th, 2012 at 11:13 am )

I am still searching for the best permalink structure for my forum and other wordpress sites. Can anyone prove a structure that will increase the search ranking.

(February 7th, 2012 at 3:46 am )

 Top post. I look forward to reading more.

(March 2nd, 2012 at 12:09 pm )

Generally .html will not add any profit to gain high rank , but using .html structure in Permalink is useful when you are migrating from blogger to WordPress to retain URL structure like Blogger 


We can later change URL pattern to http://www.mydomin.com/post_name.html using .htaccess file because Google gives attention to url upto 80 character (i think) , so its better to keep URL more relevant and length as small as possible


(April 12th, 2012 at 3:21 pm )

Hi, I've just installed your plugin and it's working like charm, however, on my site I use different custom post types and those are not getting the .html like pages do. I was wondering if you have a fix for this problem. Many thanks, and I appreciate your great work.

(April 13th, 2012 at 8:55 am )

This is a great post. I wanted to migrate my websites to use the .html extension and must have referred to this post a million times.


(April 17th, 2012 at 9:30 pm )

But what if I already have a wordpress-ste with the following permalink: /%year%/%postname%/

When I change these permalink to the version with .html at the end, will the former pages still be seen in Google?

(April 18th, 2012 at 9:40 am )

Great…i have tried this and it works…can you tell me something more about this…i also want a suffix of HTML for my website.


(May 7th, 2012 at 11:40 am )


Thank you for sharing on this topic its a great topic and  i was agree with your thought ..


(June 6th, 2012 at 9:15 pm )

I m using .html in my wordpress site …. but all my feed url are getting error  

http://www.domain.com/postname.html/f...  doest work and give me 404 error … how this can be resolve .. 

(June 11th, 2012 at 6:07 am )

not work

(July 27th, 2012 at 12:57 pm )

thank you so much, finally sorted my website transfer from .html to wordpress.

(August 14th, 2012 at 12:05 pm )

thanks alot, if been looking for this.. i think its the best link structure ive seen.

(November 8th, 2012 at 11:18 am )

Great post. I can roughly say that this blog post was totally informative when it comes to html permalink creation. Standard permalink structure can be easily done through using the html code.

(December 21st, 2012 at 9:37 am )

 I strongly doubt the HTML extension has (or had) any SEO benefits.

(March 24th, 2013 at 7:57 pm )

I disagree with statement about page being dynamic means less frequent crawls by search engine. Should be the other way around because dynamic content is the type of content that often changes and needs to be recrawled.

(March 24th, 2013 at 7:57 pm )

I disagree with statement about page being dynamic means less frequent crawls by search engine. Should be the other way around because dynamic content is the type of content that often changes and needs to be recrawled.

(March 25th, 2013 at 12:11 pm )

It might (emphasis on might) be beneficial from the standpoint that a static page has more weight than a dynamic page. A static page has longevity where a dynamic page does not thereby potentially increasing the rank of the page. Not sure if Google actually will interpret it as a static page, but if it does I’d be interested in seeing if this theory holds true.

Otherwise it seems like a cool trick :)

(March 25th, 2013 at 7:08 pm )

You're dead on. Search engines will crawl a site that is dynamic much more often than a static site.

The only SEO benefit I can see from adding .html to a permalink would be that a static page with longevity has a better likelihood of ranking higher. If that is the case (emphasis on if) then it might be advantageous to add it. Otherwise, it's just a cool trick. And there is nothing really wrong with that :)

(April 26th, 2013 at 1:16 pm )

“.html” on pages no “Plugin” WordPress 3.3 go to wp-includesrewrite.php
Search L.1082 : $this->page_structure = $this->root . '%pagename%';

Replaced : $this->page_structure = $this->root . '%pagename%.html';

(June 26th, 2013 at 8:52 am )

Yeap I also think that using slash after .html is not the corect thing. Blogger.com have the same .html at the end od both pages and postst and do not end with slash,

(July 30th, 2013 at 5:32 am )

Now, how do I make redirect 301 from non .html permalinks to .html?

(February 21st, 2014 at 11:15 pm )

go to settings –> Permalink Settings –> click radio button of Custom Structure in common settings section..
and just add this line ..

that’s all u need to do :)

(March 8th, 2014 at 4:22 pm )

nice post

(March 20th, 2014 at 6:28 pm )

great thanks , a lot a lot

(April 19th, 2014 at 9:31 am )

nice post


(May 14th, 2014 at 5:32 pm )

is this code is write ?

(August 15th, 2014 at 9:04 am )

nice post


(December 26th, 2014 at 3:34 am )

i have used .html on my site downloadgooglechrome.com. I have decided to go back to %postname% permalink structure. Now i cant remove .html as .html seems to be permanent at the end of the URL s. i cant even edit it. it seems only way to re-write each page again. is it possible to do this without writing each page again?

(February 24th, 2015 at 7:23 am )


(February 24th, 2015 at 7:23 am )

Nice Post http://phonedekh.com/karbonn-s15-budget-smartphone-now-available-for-rs-3830.html/

(March 3rd, 2015 at 8:11 pm )

Ok thanks for this tutorial, I want to change my permalinks structure.

Add Your Own Comment Fields marked * are required.