Vote & Verb Denton

A dual announcement post…

#1: Vote Denton

A group of developers, designers, & Denton enthusiasts got together less than a month ago to discuss the problem of local voter turnout, lack of education, and lack of accessibility to that education. I’m a prime example. I’ve never voted in local elections and never paid much attention to it despite having a friend that is super involved in local politics for his district. Set aside our ambitions to help solve this problem, because the most exciting thing for me is that a group of Dentonites loosely tied together by friends of friends got together and turned around a project in a short amount of time.

Vote Denton logo

Vote Denton has a simple goal: make voting easier in Denton, TX. For now, you can get some basic information about local elections in addition to finding out what district you are located within. From there, you can go to the county’s website to find ouf if you’re actually registered to vote and registered in the right district — a feature we plan on rolling into Vote Denton soon.

#2: Verb Denton

I’ve had my hand in Vote Denton, Create Denton, Hear Denton (now defunct), and I see all sorts of “{Verb} Denton” sites out there. I brought a lot of them together under one roof as a sort of starting point to get connected and to Verb Denton.

Verb Denton logo and tagline

#3: It’s all open source

Both of these projects and be found on Github, are publicly accessibly and anyone can contribute. Openness & collaboration makes these services better.

DevPress Is Almost Here

Professional WordPress Themes and Plugins

How many dreams do you get to realize in your lifetime? Ever since I’ve been comfortable coding for WordPress I’ve had the dream of working with a team as motivated and fascinated with WordPress as I am. You might be thinking to yourself, “that’s a lame dream.” If all I wanted was to work with other WP developers … sure, it’d be lame.

But the underlying requirement to such a project is the participation of the kind of people that are the best at what they do. Accepting anything less than this would simply make for another company doing the same thing as the rest.

DevPress seeks to be the very best at an array of WordPress solutions. It’s as simple as that, but such a simple statement is much weightier than it sounds. It doesn’t emphasize that we really do mean the very best.

Who are we talking about then? Who is this team of WordPress rockstars ninjas ordinary guys that plan on producing the very best WordPress design and code?

  • Justin TadlockJustin Tadlock – Founder of Theme Hybrid, Justin runs one of the most active WordPress theme frameworks and it’s community. He’s produced several well-known themes and plugins and the Hybrid theme alone has been downloaded from the WordPress repository nearly 100,000 times. He has a reputation for well-planned, clean code and will ensure all DevPress work is just as great.
  • Ptah DunbarPtah Dunbar – Another theme framework author, Ptah created WP Framework with a clear understanding of how WordPress operates. To further that, he contributed much of what you now know as the WordPress 3.0 menu system.  Ptah brings nothing less than pure WordPress and programmer expertise to DevPress.
  • Tung DoTung Do – More well known  as Small Potato, Tung is credited for being one of the first to bring premium WordPress themes to market. He ran an extremely successful marketplace for a while before deciding to take a WordPress hiatus. Since then, Tung’s design skills have only improved and he brings to DevPress some incredible looking work.
  • Patrick DalyMyself, Patrick Daly – Its a lot easier for me to brag on the three guys above. What I can tell you about me, though, is that I love “front-end engineering” or the “presentation layer” or more simply, the HTML, CSS, and Javascript. I plan on making it drop-dead gorgeous.

Between the four of us, we’re confident we’ll offer some of the best WordPress products available.

It won’t be long before we launch and there are many more details to share. So go to http://devpress.com/ to be notified when we launch. You can also follow us @devpress.

Scribe SEO Review

Scribe SEO Review

This is the most biased Scribe SEO review you’ll ever read. Why?

Well, for one, I designed and developed scribeseo.com. Secondly, I had a hand in the development of the Scribe platform.

That said, bias isn’t all that bad. In fact, in this case it just allows me to give you a magnified review of Scribe.

If you’re not familiar with Scribe yet, here’s a bit about it:

Scribe is an SEO software service for WordPress that analyzes the content of web pages, blog posts, online press releases, you name it… at the click of a button.

The Scribe API then reports back to the WordPress interface and tells web writers, bloggers, affiliate marketers, and small business owners how to tweak their content to get more search engine traffic, all while maintaining quality reader-focused copy.

Let’s assume you’ve installed and configured the plugin (which is pretty easy) and you’ve written a post. Now, you just hit the “Analyze” button and Scribe gives you its report…

SEO Score Card

Scribe SEO Review Score CardThe first screen you’re presented with is the score card — an overview of scoring factors and recommendations. It gives you a quick glance at things you can do to improve your copy.

The Good

Beyond a simple interface that highlights the changes you need to make, it scores a host of factors that make the score card quality:

  • Character and word count of the title
  • Title keyword usage and placement
  • Character and word count of the description
  • Description keyword usage and placement
  • Character and word count of the body
  • Body keyword usage and placement
  • Keyword density
  • Hyperlink count and prominence
  • Reading ease

The Bad

Every post/page is unique and following the recommendations blindly could hurt you. Achieving a score of 100% shouldn’t be your goal. Keep in mind that the analysis is only scanning the content you’ve just written and not the rest of the content that will appear around the post (header, sidebar, footer, etc.). As long as you remember that the score card is a guideline you’ll be ok.

Keyword Analysis

Scribe SEO Review KeywordsYou’re likely writing content with the hopes that people will find it through a search engine (duh!) so you need to be aware of what keywords people are going to use to get to your page. Its pretty tough to pull these out of the air. You never know if a word you might search for is what other people would use. So, we have keyword analysis…

The Good

There’s some tools out there that let you paste in your content and specify the desired keyword. Well, like I already said — you don’t really know what people are searching for. Scribe takes the guess work out of it finds the keywords you are using. You can see which words will likely get you ranked and then you can make a judgment call about whether you want to target that term. Fortunately, that call is easy to make with all of the data provided.

  • The keyword’s rank within your content
  • Prominence
  • Frequency
  • Density
  • Annual Search Volume

Plus, Scribe gives you suggestions for making keywords more of a primary keyword or less.

The Bad

Despite what any analysis tells you, there aren’t any hard and fast numbers to determine what the golden number of keywords should be. So, the suggestions Scribe gives are based upon industry theories, but like most SEO advice, they need to be taken with a grain of salt.

Tags

Scribe SEO Review TagsCategories and tags are used in WordPress for organization which helps users just as much (or more) as it does search engines. Sometimes its hard to remember to add tags. Even more difficult is to come up with tags.

The Good

Scribe gives you semantically relevant terms that you can use as tags. These are terms that the plugin as determined to be good search keywords and are relevant to the content of your page or post.

The Bad

Scribe should give you an option to add tags to your post. Maybe a check box and an “Add to post” button? Its not all that bad, but would be a time saver.

Conclusion

I’ve left out a handful of other features (SERP example, SEO best practices, integration with WordPress themes and plugins, etc.). Although, I’ve covered the meat and potatoes of what make Scribe SEO what it is.

Scribe for WordPress is an excellent plugin that can be used by anyone and is especially helpful for those that already know what they’re doing but just need to save time.

Just remember that SEO can’t be completely automated and it requires some common sense. With that in hand, I give Scribe two thumbs up. But don’t take my word for it.

By the way, affiliate links were unashamedly used in this post. Scribe is the only thing I promote using affiliate links … because I trust it enough to do so.

Scribe

ScribeScribe is a unique tool that allows online publishers to analyze and optimize their content on the fly. Traditional SEO tools don’t integrate so seamlessly with the creation of the content. That’s why its perfect for web writers, bloggers, affiliate marketers and entrepreneurs.

Scribe is a WordPress plugin combined with an API that allows you to tap into the content optimization service right from your WordPress interface.

The site was designed and built to be promote the Scribe service and and WordPress plugin. Together with Brian Clark of Copyblogger, we were able to put together something appealing.

Website: Scribe

Platform: WordPress

Scribe SEO Review

WordPress for Project Management

This is a call to all those interested in using WordPress as a project management tool. I’m certainly not alone in desiring similar functionality that existing project management tools offer, namely Basecamp.

There’s been some attempts that are full on plugins, but they don’t quite fit the bill, and more importantly they’re out of date and mostly unsupported.

Before I tell you my plans, let’s make the case for WordPress Project Management.

Why Would You Want to Use WordPress for Project Management?

1. Because you can
This is usually a terrible reason for doing something, but WordPress is an extensible platform that’s obviously proven it’s worth so why not add to it some really great new functionality? WordPress developers have no doubt that it can be done, but it hasn’t been thoroughly tackled yet.

2. Cost
Basecamp and other PM solutions out there are reasonably priced, but we’ve been spoiled with open-source software, so we need our “free” fix. The cost does start to get steep when you’re managing lots of projects though.

3. De-fragmentation
If I could centralize all of the web-related things I do then I’d be much happier. I’d prefer that my project management and in-development sites be more closely tied together so that my clients can more easily stay in tune.

4. Control
We “WP self-hosters” love control. I’d prefer to control my brand, my data, features…you name it.

What Does Project Management Really Include?

  • User accounts
  • Multiple projects
  • To-do lists
  • Collaboration

At its core PM generally offers those. Let’s take a look at how WordPress can handle those. We’ll also introduce WordPress MU, since it has quite a bit to offer in our case.

  • User accounts –> Done.
  • Multiple projects –> Done. You can use each child blog as a project.
  • To-do lists –> I think 2.9’s introduction of custom post types could find a use here. There still needs to be some customization.
  • Collaboration –> Done. Posts and comments.

What Else Do We Need?

So if you wanted to use WP for PM today you could do it, but it’s not ideal.

I think WP should handle PM in the front-end for the most part. This way we can control the user-interface more easily, and only provide the user’s with what is necessary. This means we need a theme.

A Theme

Really you could use any theme you wanted and using posts and comments you’d have a fairly organized setup. Of course, they wouldn’t be ideal. A step in the right direction is the P2 theme. Most importantly it allows you to post directly from the front-end. Secondly, it presents posts and comments in a more digestible fashion than the traditional blog post UI.

Most people love the Basecamp interface, so we should really look to it for inspiration. In fact, it’s so nice that I decided to clone it.

I’ve created a new theme called Basechamp. Before you freak out, I know it’s a complete rip-off. I’ve intentionally just copied it while I experiment with the PM idea. It won’t be released to the public until its got its own skin. Also know that it’s a very incomplete piece of work.

So there’s a ray of hope that achieving a project manager can mostly be achieved with a simple theme.

What’s Lacking

What this theme doesn’t yet account for is the administrator. If you’re using WPMU to set this up you can assign a theme to all of the child blogs (each its own separate project). If you’re the admin though you may want to see an overview of all projects, so we’d need to add a template that called data from all projects.

What if someone other than the administrator is assigned to multiple projects, they need an overview page as well. I need to figure out how to best implement this.

All project updates need some sort of email subscription management (subscribe to new posts and comments, daily/weekly summaries, choose to notify certain users of the new post or comment).

To-list lists and milestones need an extensive calendar system.

So, My Plans?

As you can tell, I’ve got something in the works that I plan to release at some point. I’ve already got some support behind this, but I’m interested to know who else may be interested in using this and who might want to help finish it up. Also, the theme will be a child theme for Hybrid and Justin Tadlock has already shown some interest in the project.

In the meantime, we’ll call this Project Basechamp. Give your ideas for a new name when it’s launched.

What am I looking for?

  • A new design for the theme that takes inspiration from Basecamp
  • To-do list implementation
  • Calendar support for to-do lists and milestones
  • Robust email functionality
  • General help and ideas

How to get involved

Leave your comments. Also, join the forum. Serious developers will get access to the code.

Share your Basechamp feature ideas.

Child Theme Inclusion in the WordPress Directory

Before you get too excited, child themes aren’t yet in the theme directory. That’s what this post is aimed at achieving though.

For those unfamiliar with child themes, just take a look at this explanation of why and how to use them.

Just this week I released two child themes for Hybrid. Obviously this is my motivation for promoting the inclusion of child themes in the official WordPress theme directory. Though, I think this idea can greatly benefit the entire community. Today you won’t find any child themes in the directory because it doesn’t support theme yet.

Back in April, Justin Tadlock wrote a similar post that proposed several changes to the directory. Joseph Scott took some time to reply and address some of the issues facing his proposed upgrades.

Child themes pose an interesting challenge. In part because they can, at their own option, replace portions of the parent theme which makes automated testing harder. But perhaps the most difficult part to that puzzle is providing an easy experience for end users when they want to use a child theme. A number of people find it challenging to install a regular theme, adding another layer of issues for them to be aware of isn’t likely to help.

I’d like to expound on the problems and propose some specific solutions.

Problem: Testing and Approval

One of the problems brought up is that automated testing of child themes would be harder. I can’t really speak to this specifically since I’m not familiar with the automated testing that goes on behind the scenes, but here’s what I know is included in the automated testing:

  • Verification of certain style sheet requirements (i.e. theme name, version, tags)
  • Checks for the existence of a screen shot
  • Checks for the uniqueness of the theme name and directory name

Perhaps it checks for the existence of certain templates, but in the case of a child theme the automated checker could ignore that rule.

Other than that, I can’t come up with anything more that might be included in the automated testing. From my limited knowledge, those wouldn’t present any problems in the automated testing. The rest of the theme development checklist includes things that would need to be manually checked.

So, with a couple of minor tweaks (checking if the style sheet signifies a parent theme and possibly ignoring the existence of certain templates) I think the automated testing could easily be achieved.

Manual Approval

After a theme makes it through the automated process it moves onto manual approval. This process wouldn’t be any different than the existing process. In fact, child themes would probably present fewer problems than standard themes because they would likely adhere to most of the templates established by their parent.

Problem: User Experience

“perhaps the most difficult part to that puzzle is providing an easy experience for end users when they want to use a child theme”
–Joseph Scott

Indeed, this is a hard part. Especially since another point Joesph made was that lots of users still have a hard enough time understanding how to use themes in general. So let’s keep that in mind while I present some options to integrate child themes into the directory.

Redesigning the Theme Page

We’ll start with the parent theme and we’ll use Hybrid as an example. Essentially, we need to make Hybrid the primary theme and avoid the child themes dominating any of the UI. Since the theme pages already use tabs I figured we could add a “Child Themes” tab if any child themes exist.

Parent Theme
Hybrid Theme Page

Clicking on the theme title or the screen shot would take you to the child theme’s unique page.

I think child themes should have their own pages. They would need their own page because they too would have their own “Stats” tab, ratings, and what “others are saying” section.

Child Theme
WP Full Site Theme Page

Of course a reference to the parent theme is necessary so a simple information box should suffice.

This is where the user experience complications begin.

Notice the “Download” button has a note that the parent theme will be included in the download. This prevents anyone from downloading a child theme, uploading it and being confused as it why it doesn’t work. There’s one foreseeable dilemma here. If someone downloads a child theme, uploads the child and the contained parent theme and unknowingly overwrites an older version of the parent theme there may be compatibility issues. I don’t see any way around this, but I wouldn’t say its a deal breaker. More on this in the next section…

Automatic Installer

Installing from within WordPress presents another issue. The installer would need to check if the parent theme exists. That should be easy enough. If the theme exists then skip installing it, however, what do we do if an older version exists? Do you prompt the user with an option to upgrade the parent?

Problems:

  • User installs the child, upgrades the parent, but the child theme isn’t compatible with the current parent version
  • User installs the child, skips upgrading the parent, but the child theme is dependent upon the latest version

I’m actually stumped on this one. I could really use some ideas here.

Summing it Up

The inclusion of child themes in the official WordPress Themes directory is good idea because it gives themes greater flexibility and makes theme management easier for users. There’s a few problems to overcome before allowing child theme submissions into the directory, but nothing a little more brainstorming can’t resolve. I think with enough support from the community we could get this implemented rather quickly (who can even know what that means though?).

Update: Vote for this idea on WordPress.org

Start of WordCamp Day 2

For those of you at WordCamp Dallas you don’t want to read all about it again, and for those of you not in attendance, you can watch what you want here: http://www.ustream.tv/channel/cali-live. You’ll also be able to find details of the sessions on some of the people’s sites below.

So, rather than bore you with information, let me fill you in on some new faces.

So this is just a handful of the people I’ve met so far and encourage you to check out.

Launch of ChurchRoot

churchroot-banner

I’ve kept it fairly secret, but it’s time for the unveiling of ChurchRoot!

ChurchRoot is a brand new platform to find church WordPress themes & is my latest project.

In it’s very early stages, ChurchRoot is just offering one theme. There will be more themes, new pricing, a theme club, and much more in the coming months.

So go check out ChurchRoot.

WordPress Tips 2009

WordPress Tips 2009

I was looking through one of my old posts, Hardcore WordPress Tips, and realized just how outdated it is. It’s just one year old this week and already 5 of the 10 tips I would consider bad information.

Most of the bad tips are simply because WordPress evolves so rapidly that there are better solutions now. A couple of tips I need to revise because I’ve learned a lot more since last year and have better advice.

So, on with the show: WordPress Tips 2009

10. Use the Yahoo! User Interface Library

For theme developers, creating a theme that is flexible is a must-do today. WordPress has been around long enough that crappy themes shouldn’t even be made anymore (unfortunately they still are). One step to ensure that your theme isn’t crappy is to take advantage of some incredible resources Yahoo! provides.

The YUI Library is hosted code: Javascript and CSS. I just use the CSS. Using their grid system, creating a theme is easy, flexible, and much more easily browser compliant. Check out more details in my Easy Workflow for Site Creation post.

9. Interlink!

spider-webThe more you link to other content on your site the more bots access it. The more bots access, the more impressive you may be in search engines.

Link to Similar Posts

You can certainly do this manually in your post by referencing old blog posts…and you should. But you should also use an automatic method as well. Linking to related posts helps search engines categorize your page better. The more you can zero in on what your page is about the better you rank.

Similar Posts, by Rob Marsh, will do just that. Similar Posts not only does a great job with what it’s supposed to do (retrieving relevant posts) but it’s part of a plugin family that all use the same library for configuring functions. Read on…

Link to Popular Posts

Popular Posts is another member of the family of plugins written by Rob Marsh. So rather than use several methods of retrieving posts, stick with one to keep your life easier and things streamlined.

8. Lockdown

With every release WordPress becomes more secure. On the other hand, everyday hackers become increasingly smarter and more malicious. Out of the box, WordPress can’t be as secure as it’d like to be, so they even give us some tips.

WordPress’ site already has an article on on Hardening WordPress.

One of the quick things you can do is restrict access to the WordPress administration side. Create the file, “.htaccess” in /wp-admin/ and paste the following into it, replacing the IP address with your own. Find your IP.

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Access Control"
AuthType Basic
order deny,allow
deny from all
# whitelist this IP address
allow from 55.555.555.55

Secondly, create an empty index.html file in your /wp-content/plugins/ directory. This will prevent the listing of your plugins for the world to see, making it a bit harder for hackers to find exploits.

Next, delete the username “admin” (obviously make a new username for yourself first), and use a strong password for your login.

Finally, install WP Security Scan to make sure everything checks out.

7. Boost Your Site’s Speed

You can optimize your site all you want, but if you’re not on a good host then you’re going nowhere. So first, switch over to HostGator because they’re the best host I’ve ever used.

After you’ve setup on HostGator, hardcode some things in your theme.

WordPress themes work by including functions that make calls to the database that give it the correct paths to files, etc. This is great for making a theme portable, but it ends up slowing the site down by taxing your database more than necessary.

Anywhere you see…


…you can replace it with your root level URL (ex. http://www.example.com/)

You can change…


…to the path of your stylesheet.

I could go on. But all you really need to know is to look for functions that you could replace with absolute paths and reduce the amount of database calls.

WP Super Cache

WP Super Cache is an awesome plugin that caches your pages and serves them up more quickly. It comes with lots of options which is really nice. It can be a bit difficult to install sometimes, but it may really pay off. It’s especially nice when you have a load of extra, unexpected traffic.

6. Give Some Flow to the Bots

robotOf course we know that bots (spiders) crawl the Internet checking out pages in order to provide results in search engines. These bots need some direction when they’re crawling — basically they crawl link to link. Obviously we need to give them some links. We need to give bots the right links. In addition to links, there is some meta information bots will pay attention.

The best solution for directing bots where you want them to go (and don’t want them to go) is by using the Robots Meta plugin.

For example, you probably don’t need bots to waste their time on the following pages (especially if you’re a one-author blog):

  • The login and register pages
  • All admin pages
  • Author pages
  • Date-based archives
  • Tag archives

Using this plugin you can prevent bots from accessing these pages and really create a well defined path for spiders.

5. Setup Shop With Google

google-analyticsGoogle Analtyics

Google Analytics is the leader in website stat tracking. Create an account and paste their code in the footer.php file of your current theme.

If you’re not comfortable with editing code, don’t know where your footer.php file is, or you change themes frequently then a plugin is your best option.

Google Analytics for WordPress makes the tracking script easy to install and also has a few extra goodies for making tracking your site usage even better.

google-webmaster-toolsGoogle Webmaster Tools

Google Webmaster Tools is an awesome resource that gives you a behind the scenes look at how Google is interacting with your site. There’s too much valuable information here for me to even begin to describe, so just create your account already!

Well, there is one thing you should know about. You’ll need to submit a sitemap to the Webmaster Tools site and there’s no better WordPress sitemap generator than the Google Sitemaps Generator for WordPress.

4. Use Header Tags Correctly

A theme that is well made will have already taken this into consideration. Search engines pay special attention to how a site’s code is written. Certain tags like Header tags can give text more importance as well as define how a page’s content is organized.

Make sure your WordPress theme knows How To Use Header Tags Correctly. This particularly applies to your sidebar. It’s full of incorrect header tag usage by default, so make sure to correct those issues.

3. Meta Information – Title, Description, Keywords

Go grab Head Space 2, a robust plugin for customizing page titles, descriptions, and keywords. This will make your website much more SEO friendly…as long as you know what you’re doing.

Once installed, you can use the following as a guide for how to configure the plugin:

  • Posts / Pages: %%title%% - Blog Title
  • Categories: %%category%% Archives %%page%% - Blog Title
  • Tags: %%tag%% Archives %%page%% - Blog Title
  • Archives: Blog Archives %%page%% - Blog Title

Courtesy of yoast.com.

2. Permalinks

chainPermalinks, or the URLs to pages on your WP site, are part of what makes WordPress the best choice for a blog or CMS. WP allows you to customize your URL structure very easily.

By default, however, WordPress URLs aren’t optimized for search engines. Recently it’s been pointed out that your URL structure can slow your site down as well, so let’s take a look at building the best permalink.

Permalinks for Speed

WordPress needs to know what page to display when given a URL. For example, http://example.com/2009/01/22/hello-world/ is obviously going to take us to the “Hello Word!” post. How does WordPress know that though? Through several attempts of trying to figure out what the URL is trying to get to WP will finally figure it out. It’s in that time, though, that your user is waiting for WP to figure things out.

Basically, it’s easier for WordPress to retrieve the page/post if a numerical value is the first thing in the URL (i.e. %post_id%, %year%, etc.).

Don’t look to my site as an example because I’ve just recently learned this and haven’t gotten around to changing things up yet. Also, this method isn’t necessary. You won’t notice any difference in speed until you’ve got hundreds or even thousands of posts/pages, but it’s always good to build a scalable site from the start.

Read more details on efficient permalink strategies.

Bad:

/%postname%/%post_id%/
/%category%/%postname%/

Better:

/%post_id%/%postname%/
/%year%/%category%/%postname%/

Permalinks for SEO

So if we want a speedy site (by using the method above) AND we want to ensure that our URLs are the best for search engines, then the following method is the choice.

Having your keywords in the URL is always a plus. Search engines can use it as further evidence for what your page is about. Google also places the URL below each search result and bolds keywords — just another way that might help improve your chances of being clicked.

So we need to make sure to include %postname%. This will render the post/page slug (ex. hello-world). If your site is heavily reliant upon categories you may want to include your category name as well. So here’s our options:

/%post_id%/%postname%/

or

/%post_id%/%category%/%postname%/

We can even take this one step further. Your URL doesn’t need to contain every word from your post/page title, just the significant ones. Instead of hand editing every permalink you can use SEO Slugs to automatically strip your permalinks of stop words, like ‘a’, ‘the’, ‘in’, etc. SEO is all about the details!

1. Prepare for Disaster

alarmBackups are often an afterthought (like after you lost the data!). The truth is, the world is fallible and for one reason or another your site may get royally screwed up someday and you’ll either be back up and running within an hour or your heart will still be fluttering as you look blankly at your missing files and database.

We make mistakes, servers make mistakes, web hosts make mistakes, so just count on it. Be prepared!

Backup the Database

Get yourself the WordPress Database Backup plugin. You can schedule DB backups or get on-demand backups. I have my backups emailed to me weekly (with Gmail that’s no biggie). I’ll always have an archive…as long as Gmail doesn’t blow up.

Backup the Files

Secondly, backup your server files. If for some reason everything goes wrong, you’ll need the database and your theme (especially if you’ve done any customization). Plus, the image paths stored in the DB won’t have anything to show for themselves without files on the server.

Some hosts will allow you schedule file backups and this is the ideal situation. If they don’t have a solution to do this, then you’ll just need to be well disciplined and do this yourself via FTP every once in a while.

WordPress provides great detail on database and file backups.

Conclusion

I hope this guide has been a great help. Please add your own advice or questions in the comments.

You can also subscribe for regular WordPress, SEO, and web design tips.

Good luck with WordPress in 2009!