Since I use WordPress for almost every client project I work on anymore, as well as hosting a number of friend’s website, I tend to accrue a large number of WordPress sites running on my database. While installing WordPress so many times and managing these sites, I’ve developed a sort of check list for being sure that I’m being as smart (and efficient) as I can.
First, a word on working with clients and WordPress
Before I jump into my list, here’s one piece of advice for working with clients and using WordPress for their sites. This tip only comes after a year or so of experience not doing it this way – so listen up.
When I first began developing WordPress sites for clients I realized that I needed a way to showcase the sites for the client before they signed off and took the work (and paid me, also a critical part of it all). So I set up a number of memorable subdomains for testing WordPress themes in order to show them to clients. For the sake of an example, say I used these (which I didn’t):
Each was a URL that I would remember, but also had a cutesy novelty about it, which is important when you’re sitting behind a computer by yourself making websites. In any case, before long this system broke down. It was getting to be too much of a pain to break down the previous client’s project in order to put together the next client’s project. While managing a small number of these installs (usually equal to the number of projects I had going at any one time) was nice, the work in between each project wasn’t. So I needed a new solution.
The better way to achieve this is to have a separate installation of WordPress for each client. That’s right. So, in your case, add a subdomain of “client” to your main domain (or whatever you want to call it) and plan on hosting all of them from there. Then, within this new subdirectory, add a number of new subdirectories, a to z. This will server to separate each of your client’s names. Put them in the corresponding letter’s folder, then put each project for that client within that folder. When the time comes to launch a test site for them built on WordPress (or really anything, for that matter) you literally launch a brand new WordPress install for the occasion. The upside to this technique is you never have to undo what you did for a previous client, and previous client work is always saved in its final development stage.
Also, before you freak out and think that this means maintaining a bunch of different databases for WordPress, remember that you can install WordPress multiple times into the same table using the prefix in the wp-config.php file (change it from wp_ to clientname_projectname_ for each one). While I wouldn’t suggest running WordPress multiple times in a database for public WordPress sites with much activity, for one-off client showcase sites, it’s totally perfect.
Hopefully it goes without saying that you probably want to password protect your clients directory. Just sayin’.
Quick tips for efficiency
- Get in the habit of clearing out the default content that WordPress adds in. This stuff is just annoying, and really isn’t much fun to get rid of every time you install WordPress. It just needs to be done. Kill the Hello World post along with its comment, the About page, and all of the links in the Blogroll. That’s stuff that you don’t need to be bugged with later.
- Put together your own base of content that you can import into each WordPress install to test the thoroughness of your code. WPCandy put together a decent importable xml file some time ago, but it’s really best to put it together yourself so you know what to expect.
- Use a random password generator for each install you set up (on the install screen, when it asks for your password) instead of the same password that you have memorized. This will add to the security of each of your client installations, and not leave your client projects all threatened if someone ever grabs your password.
- Keep a list of your favorite WordPress Plugins, and just install them right away. Even if you don’t activate them all right away, just throw them in there. I keep a steady list of Plugins for each site I run (probably worth publishing sometime…) and it can be handy to have them waiting inside of WordPress for when you do decide to activate them.
- Visit your permalink settings page and cater it to your needs. Lately I’ve been leaning toward /year/category/post-title for blogs like this one, but /year/month/day/post-title for my personal blog. Blogs like this one don’t rely heavily on the day of the post, while my personal blog tends to. (Sidenote: it’s annoying that WordPress still defaults its permalink setting to list the post/page ID. It’s about time this was changed to name, don’t you think?)
- Size your preferred post box size on the writing settings page. Assuming you’re actually going to be writing for the blog a bit, why not change the default amount to a bigger one right away? Anything under 30 or 40 lines seems a bit crunched to me, but everyone has their preference.
- This isn’t really an efficiency tip, but worth mentioning: download WordPress anew each time you install it. This guarantees you are getting the most up to date version of WordPress, and also ensures that the download count on WordPress.org more closely resembles the actual number of installations out there.
That’s my list right now. There’s still a lot more to be said: how best to actually develop a theme for WordPress (as well as test it) for one, but that’s best saved for another day. What tips do you have for those of us installing a lot of WordPress sites each week?