Grow your CSS skills. Land your dream job.

The Very First Steps After a Fresh WordPress Install

Published by Chris Coyier

So you have WordPress installed! Congratulations! Now what? I find myself installing WordPress quite often, so I'll share with you my "first steps" after a fresh install to get WordPress set up to my liking. This involves changing settings, resetting the theme, and some universally useful plugins.

At the time of this writing, WordPress 2.6.5 was just released. You know, "for future reference".

User Management

Remove the default "admin" account

I don't feel comfortable leaving an account in WordPress with a name that every single other WordPress blog in the world started with, even if it does have a secure password. Go under Users and add a new account with Administrator level privileges. Then Log Out and log back in with the new account.

Now you can go back under Users and delete the default "admin" account. The default "Hello World" post has "admin" as its author, so you'll be warned when deleting that user and asked what you would like to do with that post. Might as well just re-attribute it to your new user.

Add your authors

If you are going to be having multiple authors or multiple administrators with access to the back end of WordPress, you might as well get them set up now.

Turn Visual Editor off

This is just a personal preference, but I mention it now because it is a part of User management. Each user has an option for using the Visual Editor or not. I personally hate the Visual Editor, as switching back and forth between Visual and Code view can screw stuff up, especially if you do stuff like embed YouTube videos or add source code to posts.


Now is the time to go through the Settings area and set things to your liking. Most of it is purely subjective like your Tagline, how you want dates formatted, and your Time Zone. But there are some absolutely vital things to get set correctly in here right away.


This setting is the most vital of them all in my opinion. Choose a permalink setting that you like and that you don't see your self changing.... ever. The last thing you want to do is decide six months down the road that you don't like anymore and change it. It's not catastrophic anymore, as WordPress is now smart enough to resolve to the correct place, but it's not going to help your Google juice.

Remember that you can control the "slug" of your posts as you are writing them as well. I believe it's generally a good idea to keep them short and to the point.

RSS Settings

You'd have to be nuts to not offer RSS at all on your blog, but you do have some important choices to make. Personally, I leave the it at the default of showing 10 posts with full content. But others can have different opinions on this, especially new clients who can have opinions like "if they want to read our content they can come to the site". This becomes important after that first article, so now is the time to decide about RSS. (good read on this).

While we are on RSS, right away you should "burn your feed" with FeedBurner. It may feel kind of weird at first having people subscribe to an address that isn't local to your server, but the advantages outweigh any problems. It's about the best you are going to get for getting analytical data (like how many subscribers you have) for your RSS feed. Plus you'll be able to offer email subscriptions, track post popularity, and the feed page itself makes it easy for people to subscribe in their feed reader of choice.


All goes well, you'll start attracting commenters right away! It is good to make some decisions on this right off the bat. Do people have to register first? Are all comments held for modification first? Can people comment if they have had a successful comment first?

You should also be aware that comment spam on WordPress is epidemic. Fortunately, you barely have to worry about it because WordPress ships with the Akismet plugin which does a pretty fantastic job of stopping spam. You'll need to activate it from the Plugins area. You'll then need to enter your WordPress API key to activate it, which you get from signing up for a account. I signed up for mine ages ago, and have used the same API key for every WordPress blog I've ever installed.


Plugins are largely dependent on the blog and it's needs, but there are a few I like to install on every single blog.

Clean Notifications

The default email notifications for WordPress are kinda fugly. The clean notifications plugin makes them a lot nicer and friendlier. Or you could use something like IntenseDebate and handle comments that way.

IImage Browser

I absolutely hate the media uploading stuff built into WordPress. Half the time it doesn't work and when it does it's slow and annoying. For one thing it applies a bunch of class names to images when you insert them into posts. I didn't ask for that, and I can't turn it off. Booo. I use the IImage Browser plugin on all my blogs for an image library. It's absolutely the ugliest thing ever but it works great.

FeedBurner FeedSmith

Now that you are up and running on on FeedBurner, you might as well use the FeedBurner FeedSmith plugin to make sure that all your subscribers are getting the feed from there. That way you'll have as accurate as statistics as possible and if someone has trouble with the feed, you won't have to think about which feed it is that's having trouble.

Google Sitemap Generator

Completely painless, requires no upkeep. Install the Google Sitemap plugin once and forever you'll have a nice Google-compliant sitemap so that you can rest assured Google is crawing the entirety of your site.


They say it's good for SEO to pick either or and stick with it. I personally prefer the no-www version. The no-www plugin enforces that preference.

Honorable Mentions

I personally really like the WordPress Automatic Upgrade plugin, which has helped me keep my WordPress version up to date on all of my blogs painlessly. I'm not going to generically recommend it because I've heard of problems with this and having a plugin manage your core upgrade scares some people.

Some folks swear by the WP Super Cache plugin. I am probably in the ballpark where it would have helped me some days if I had it, but I have literally attempted to install this 3 or 4 times in the life of CSS-Tricks and it has borked something (usually the RSS feed) and despite LOTS of troubleshooting efforts could not get it to work. We also tried it on Script & Style and it ended up borking something. So... buyer beware on that one.

Oh yeah, and I remove Hello Dolly =)


No matter what the final plan for the theme is, it is definitely not leaving the default theme in place. I've seen that big blue rounded rectangle more times than I care to. If you are going to be theming from scratch, do yourself a favor and download Starkers (blank WordPress theme), rename the folder to what you'd like your theme to be named, upload it, and activate it.

Add Analytics

We've already covered adding FeedBurner to track RSS reader data, but we need something for real web traffic data. WordPress makes it awesomely easy to add tracking code to pages since every single page within WordPress is built dynamically and uses the header.php and footer.php file. I personally use Google Analytics (introduction here). So I add a profile to my account, get the code, and chuck it in footer.php.


Of course all this stuff is my personal preference, but I feel it's pretty solid advice. Do you have anything to add, or a system all of your own?


  1. Permalink to comment#

    I used to use a plugin to enforce either the WWW or non-WWW version of my site. But from what I've seen, WordPress honors whatever version you have under Settings => General and redirects appropriately.

    Just type your preference in the "Blog address" field and WordPress handles the rest.

    No need for a separate plugin now.

  2. Paul
    Permalink to comment#

    Nice post, but for analytics I prefer because it has a wordpress plugin and because a friend of mine made it :D.

  3. Excellent post Chris!

    Most articles will involve setting up WordPress and then using it afterwards, but not many tell you some of the steps leading up to the content.

    I'm in debate on wither or not to convert my site over to WordPress, as it is still in the very early stages of development.

    This week of WordPress is making it more and more tempting.

  4. Andy
    Permalink to comment#

    Great post!

    One problem i keep running into with WordPress is that when i try and chance the permalink settings to what you recommend above it keeps asking me to edit to .htaccess file but when i login to my FTP server there isent a .htaccess file. I have tryed making sure i can see hidden files but no joy.

    Any ideas?

    Thanks in advance and keep up the great posts, we all enjoy them!

  5. I think you are right… that plugin might not be needed anymore. I'm not 100% sure though. I wonder if it does something above and beyond what the general settings are doing. I'd love a firm answer on this as the less plugins the better in general.

  6. Permalink to comment#

    You might have to create your own .htaccess file.

    If you're running on a mac, it might be a little tricky. Just create a blank text file (call it 1.htaccess). Upload it via whatever FTP client you use and then rename it to .htaccess.

    If you're running on a PC, you should just be able to open up notepad and save a file as .htaccess. Upload it and you should be in business.

  7. In most situations WordPress can create and handle this for you automatically, but if it can't, yeah, you'll have to FTP in, make sure you can see hidden files and CREATE one, then paste in the code they give you.

  8. Permalink to comment#

    Chris, great post. I just set up 2 new wp sites over the weekend, wish I had this handy list a couple of days ago ;).

    I totally forget to add the feedburner stuff, it totally agree that 'advantages outweigh any problems', good point.

    I have not got the 'WordPress Automatic Upgrade' to work quite right for me yet, but I am pretty excited about it in 2.7, should make things real easy.

  9. Permalink to comment#

    Thanks chris. this helped a lot :)

  10. Permalink to comment#

    I get EXTREMELY annoyed with WordPress putting in unneeded class names for images that I upload via interface. And why does it even link to the full sized version if you're embedding the full-sized version already? So thanks for the plugin link – I'll try it out sometime soon.

    Along with the Google XML Sitemaps plugin, I tend to install the All in one SEO pack plugin (…By default, WordPress doesn't generate any meta keywords/descriptions, so the search listing for your posts will look pretty ugly. This plugin helps fix that. WP-DBManager (…is great for auto DB backup and the like.

    Sorry for the link dump.

  11. Permalink to comment#

    Some stuff there that I not done but will have a go at

  12. Hehe, I remove Hello Dolly too, and this two honorable mentions are perfect, they are very important to any one, makes you like much easier!

  13. Really good info. Usually instead of deleting the admin account, I just change the username in the database.

  14. Permalink to comment#

    Good stuff, just goes to show that you can never stop learning. IImage Browser is totally new to me.

    Curious if anybody has tried this yet Flutter. It seems to bridge that last small gap between WordPress and full blown CMS's like Drupal or EE , I'm planning to play around with it over the next couple of days and would be interested to hear if anybody else has an opinion.

  15. Chris,
    Well timed article for sure. Know a few people making the move from other services or thinking about it so this is a great way to start them off.

    I was always unsure about the WWW bit as my host said i really didn't need to worry. But realise that it can cause issues with duplicate content with google as it can index both the www and non www, so on the ball with that one.

    Funny, set up a fair number of WP installs, and not once deleted the Admin, yet each time I thing what a silly thing to have. Get's me every time. :)


  16. Shankar
    Permalink to comment#

    Great post,

    For those who are using apache and can modify its configuration, restricting access to wp-login.php by IP address works quite well. I see at least 200 access attempts every day. :)

  17. Permalink to comment#

    Great tutorial about how to start after a WordPress installation… i've many time working with WP but a didn't knew that 'No WWW' exist… Thanks Chris!

  18. Permalink to comment#

    Yes! That's really great. I set up my first WordPress blog so this was perfect for me! Are there any theme suggestions?

  19. Will Vincent
    Permalink to comment#

    That looks pretty cool.. I might give it a whirl. :)

  20. I'm tempted to start using that SEO plugin. Everybody always talks about it… I just don't spend a ton of time thinking about SEO as I feel like the best SEO is good content, clean code, and common sense decisions. But… if would improve search engine result listings, there is something to be said for that.

  21. I'm very interested in this too, I'm gonna try it out on an upcoming project. Nothing like trial by fire =)

  22. That's a darn good idea if you have a static IP. Increased security is always a good thing.

  23. Permalink to comment#

    WordPress should have uploaded a file, if so you should try to CHMOD the .htaccess file to 777, if not create one then also CHMOD.

  24. Permalink to comment#

    Thanks for all the help.

    I ended up creating the .htaccess file like Chris & Brad mentioned and its now working brilliantly!

    Thanks again.

  25. Permalink to comment#

    I update WordPress using a semi-automated method I came up with. It helps avoid lots of downtime. Check it out.

  26. I think I'm gonna miss feedburner step. I can't burn my feed on feedburner. Feedburner says my feed is not in valid format. When I check using, It says that there are onclick attribute on everylink in my post. (something like : onclick='PageTracker …. ). I thought it's because I use WP stats or Google Analytic plugin. But when I disable those 2 plugins, the problem persist. I don't know how to fix it. Is anyone ever had the problem like this ?

  27. Permalink to comment#

    Great post, thanks for sharing.

  28. Permalink to comment#

    I'm going to second All-In-One-SEO.

    WordPress is naked without it.

  29. Permalink to comment#

    Wow, the sitemap generator and clean notifications look really nice. I think ill have to install them on my blog. Also, how safe is the auto update plugin? Has anyone had any serious problems?

    Oh and by the way. Happy Thanksgiving!

  30. Permalink to comment#

    Thanks for the article, going to try out IImage right now. One omission: Plugin Central: if you install it first, you'll save a lot of time installing and upgrading the rest of plug-ins.

  31. Permalink to comment#

    Nice tips. I particularly like the visual editor because it makes the editing so easy. But when I insert scripts and youtube codes, I do not switch to the visual editor. But it is good to leave it enabled for most posts.

  32. thanks for this article.

  33. Permalink to comment#

    Nice tips.Very useful for starter.


  34. Permalink to comment#

    Chris, I've noticed that by using the All In One SEO plugin that I am ranking higher for certain keywords and posts. It takes little or no time at all to implement and put keywords, title and description into each post. In my opinion it's helped a ton.

    In regards to Jason's comment about Automatic Upgrade. I had some issues with using it on my friend's blog. His database was HUGE and it seemed to get hung up. If you're getting hung up at that point, it's best to manual backup the DB and then skip that section of the upgrade.

    BTW Chris, great article! This is a big help to those that are new to WP.

  35. Permalink to comment#

    Ditch the whole in-dashboard editor, and use an external one. Scribefire is a great option as an add-on to Firefox, and Windows Live Writer is a nice stand-alone blog editor. Either one of these options is miles better than the dashboard editor.

  36. Hey Chris, Thanks for thses cool tips. They are really very helpful.

  37. "the best SEO is good content, clean code, and common sense decisions"

    That's the prevailing reality 98% of the time. That's what I always focus on. Seems to work too as there really are no easy tricks.

  38. Permalink to comment#

    well tell him he did a good job! its a nice tool that, I was recently accepted into the beta :)

    Thanks for the post Chris :)

  39. Permalink to comment#

    I have also had some massive problems trying to sort out the .htaccess – if I create a .htaccess file in the root folder of like htdocs or whatever its called on your host, it seems to see the file and say that the settings have been changed in the .htaccess file, yet I still cant make a permalink work. I think it must be a setting within the host…

    Im sure I saw something on it somewhere a few months ago, but since I have been a little distracted by work and have not had chance to chase it up.

  40. Thanks for share – now I can see what I am doing incorrect..or correct, just didn't spend enough time to drop down every action so detailed.

  41. Thanks Elliot. I can't even tell you how many people I've referred to that Starkers theme over the months. It's really the only way to go when creating a new theme.

  42. This is a really useful article, Chris. Nice one! Also, cheers for the Starkers link. :)

  43. Hm. This seems like a pretty smart idea! WordPress does tell you if the account exists or not ("Invalid Username"), so might as well leave it there so they know the account exists and keep trying to hack that.

    I think even smarter is Shankar's comment of restricting access to the login page by IP.

    I haven't researched or tested either of these ideas yet though so I can't officially endorse them yet, not sure what other implications might arise. It seems a little funny allowing a malicious person into your WordPress admin panels, even if only subscriber access.

  44. Johns Beharry
    Permalink to comment#

    You mean Chris is making it more and more tempting ^^

    I think Changing the About page should be included there as well. I haven't even done that as yet and it's been 2 days since I've installed. I don't know what to write :|

    Anyway thanks for the post it was really informative to a first time blogger like myself

  45. Permalink to comment#

    You shouldn't delete the admin, only give him a subscriber role.
    When they try to hack that account, let them. There useless with it.

    Its better that they spend there time hacking a fake account than spending time hacking yours.

  46. Permalink to comment#

    This is great help for noobs as me

  47. Permalink to comment#

    Great post again Chris, very useful tips there for WordPress installations.

    I think like anyone who uses WordPress or any CMS on a regular basis will have a list of things that they always do first, although you've covered the general ones very well. Each person's plug-ins list will be slightly different as well all have our preferences, but I think it's important to go through the same steps each time so that no silly mistakes are made at the beginning which could be difficult to alter later on.

  48. thanks so much

  49. A Fan
    Permalink to comment#

    I Just wanted to chime in and let you know that I (like so many others) really appreciate your tutorials, especially the screencasts. Kudos!

  50. Xavier Fajardo
    Permalink to comment#

    Hello Chris, I've been following your site for a couple of months now, I'm a traditionally print designer and I'm mostly interested in getting my CSS knowledge up and running. Your site has been plenty helpful.

    I have a question regarding the: /%postname%/ solution for permalinks. I've seen you mention this method a couple of times now. And I've tried it on my wordpress sites, even on fresh starts and I always get this 404 page that says the /post-name/ page I'm trying to acces is not on the server when trying to link on a post. Do you have any idea why this is happening?

    I always end up going back to the same post=ID default method.

    Many thanks, your knowledge share is so generous and very welcomed.

  51. Permalink to comment#

    WordPress has had support for canonical domain (i.e www or no www) redirection since version 2.3

  52. does anybody know a working plug-in which allows me to automatically send every registered user an e-mail as soon as a new page or post is written or anything else is updated? I tried notify-authors and it does not work with 2.6.5. This would be perfectly helpful. The scenario is a closed system (only visible for registered users, kinda intra-net ^-^) in which on daily basis posts will be written. Automatised E-mail notifications would be a big help here.

  53. When you change that permalink setting remember that you also need to update the .htaccess file in the root of your WordPress installation. WordPress will try to do it for you, but can't always do it. If this is a fresh install, that file might not even be there, so you may have to create it.

  54. I've used that notify-authors plugin before for just that purpose, and it was working in 2.6.3. Did it really break in 2.6.5? That's too bad.

  55. just tried again, but does not want to work. Might be, because I use the "members only" plug in, but I need it, as the contents of the blog should not be visible to outsiders, and my customer does not want the extra log in via a .htaccess…
    looks like the plugin is not supported anymore, at least the plugin page is gone… sad. have to find an alternative. Thanx Chris anyway!!

  56. Permalink to comment#

    I would love to hear how Flutter goes. I have heard great things about it, but have not pulled the trigger yet.

  57. Permalink to comment#

    Re: the iimage browser plug in. I have it installed and activated on my dashboard, but I can't seem to find where I actually use it ?? The direction say to access it from the Quicktags area, and I can either not find that area or am looking at it, but not seeing a link to this plug in. Help?

  58. @Meg Make sure you have the rich text editor turned off (user preferece), otherwise you can’t see the button.

  59. I Have tried to install the IImage Browser but I get a 404 error when I try to use it it seems to be looking in the wp admin folder “wp-admin/iimage-browser.php” any ideas?

  60. @Danny – Correct, you need to put that iimage-browser.php file in wp-admin and leave the plugin file in the plugins folder.

  61. Permalink to comment#

    Now I will have to agree that the visual editor is horrible.

  62. Jason
    Permalink to comment#

    Thanks Chris, very helpful.

  63. marvia
    Permalink to comment#

    Great article and very easy to follow.
    Thanks for the tips, especially the one on changing Admin.

  64. In wordpress 2.7 I just set the admin account to ‘ – no role in this blog – ‘ setting so that nobody can register it incase it is required, and it can’t be logged in on. ;)

  65. Hi Chris!

    Can you update the post for a fresh install w/ WordPress 2.7? I tried following your tips but am not having any luck.

    Any chance on iPhone WordPress articles? :)

  66. Nevermind! I figured out my problem :D

  67. Permalink to comment#

    IImage Browser & No WWW are my favorite plugins too.
    Thanks for your sharing.

  68. Permalink to comment#

    Great post Chris! VERY helpful reminder list :)

    I’ve been using the IImage Browser for years and it’s still the best image plugin for WordPress I’ve found. The only downside is when you upgrade WordPress, you have to remember to put the iimage-browser.php file in wp-admin folder.

  69. You rock. Thanks for the insights!

  70. Permalink to comment#

    This article very interesting!!

    I will come back again. :)

  71. Permalink to comment#

    Great article as always. I had a lot of trouble with the permalink thingy. Thanks a ton.

  72. Thanks in advance and keep up the great posts.

  73. Thanks for the insights out on wordpress.

  74. Permalink to comment#

    Excellent post. I’m beginning to publish my own blogs and this info is really useful for newbes like me. Bookmarked. Thanks.

  75. Gabi
    Permalink to comment#

    Excellent stuff,

    I too am having problems with the permalinks.

    A fresh install was carried out, the htaccess file is there, not in the room but in a CGI folder.

    I have created a separate htaccess file and placed it in the root, but still nothing.

    The files access is 777

    Thanks again,


  76. Govind
    Permalink to comment#

    A Step by step things to do after installing WordPress! Thanks for the detailed post Chris.It really helped me for setting up new Blog.
    I don’t think we should use a plugin to enforce to open www or non-www version, by simple adding one Cname record to the domain registrar and selecting a version in Google Webmaster tools is enough i think. Correct me, if i’m wrong?


This comment thread is closed. If you have important information to share, you can always contact me.

*May or may not contain any actual "CSS" or "Tricks".