Classic Do-It-Yourself WordPress Mistakes To Avoid

DIY fail chair
Tell us what you think of your hosting for the 2014 WordPress hosting survey!

As a very powerful, well-documented, and relatively user-friendly CMS, WordPress attracts a lot of do-it-yourself energy.

In general, this is great. It’s a testament to people’s high hopes for WordPress, and it’s a great way to learn the software. Unfortunately, DIY efforts often go seriously wrong. As a developer, I often find myself taking over after a DIY effort has fallen apart entirely—or batting cleanup when a site almost works, but looks really weird and has a few key missing features.

Here are the first, and worst, mistakes that someone new to WordPress is likely to make. We’ve seen all of these mistakes many times, and we may have even committed some of them ourselves (but we’ve suppressed those memories). Enjoy!

1. Trying to build your site from a default theme

WordPress default theme

If you’re new to WordPress, it’s easy to approach building your site as follows:

  1. Install WordPress.
  2. Customize WordPress to look like you want.

You probably know a bit about WordPress themes, but you either go with a free theme that looks nice, one of the preinstalled default themes, or a “bootstrap” theme that’s designed to strip WordPress down to its essentials.

Soon you find yourself way in over your head, doing things like hacking your header file to reposition the nav menu, writing stylesheets from scratch, and deleting large sections of your page templates (for example, the entire header or footer).

This is a problem because: sites built on a totally incompatible theme are generally very ugly; pulling your site apart like this will make it brittle and buggy; it takes forever, because you’re ignoring many of WordPress’s most helpful features.

Do not take Twenty Fourteen—or the first nice-looking free theme you find—and start trying to build it into your real estate site or home cooking blog. There’s a thing for that.

You probably need to learn about: the power and flexibility of WordPress themes, particularly premium themes. For all but the most custom projects, finding a premium theme that gets close to your needs and customizing from there is the correct choice. Google some WordPress theme lists—there are thousands, so try to be specific, like “flat WordPress magazine themes” if you like flat design and are running a magazine site—or find a site you love that’s running WordPress and see what theme it uses. (More on how to do that in a later post!)

Do not take Twenty Fourteen—or the first nice-looking free theme you find—and start trying to build it into your real estate site or home cooking blog. There’s a thing for that.

2. Ripping up theme files and/or cluttering them with HTML markup

Hardcoded menu in header file

Exhibit A: a nav menu hardcoded into header.php

A lot of the time this comes from frustration. You can’t figure out how to get your homepage slider to work in WordPress—but it works just fine on your static HTML site. Why not tear out the part of the theme that was handling the slider code, and paste all the HTML slider markup from the earlier site (plus the JS that makes it work) directly into home.php?

This is a problem because: it makes WordPress static rather than dynamic; it’s a sign that you don’t know what you’re doing, usually meaning trouble ahead; it clutters up and garbles the code of your WordPress install, making it harder to work on later.

You probably need to learn about: WordPress functions, which are the correct (and dynamic) way to do most of the things you might be tempted to do by hand. For example, your slider is quite likely handled by a shortcode, which can be triggered by the do_shortcode() function. Doing the slider the correct way would let you modify slider contents from within the WordPress admin.

3. Manually recreating functionality best handled by plugins

Don't reinvent the wheel

Reinventing the wheel…

Especially when you’re new to WordPress, it’s easy to do by hand things that plugins do much better. A classic example is pasting your Google Analytics tracking code directly into header.php, rather than using Google Analyticator or a similar plugin. Doing it this way means that Analytics won’t integrate with your site or the WordPress admin in the ways that Analyticator makes very easy; and pasting a glob of Analytics markup into your theme also has the liabilities described in #2 above.

Another example (out of many I can imagine) would be manually styling columns inside a post with inline styles ("width: 50%"), rather than using Column Shortcodes or something similar.

This is a problem because: reinventing the wheel is time-consuming and generally leads to worse results.

You probably need to learn: the instinct to look for a plugin first. WordPress’s thousands of free plugins cover a crazy amount of ground, and if what you’re trying to do seems at all like something another person would have wanted (“a good chessboard engine,” “a nice collection of flat button designs“), then start Googling for a plugin and don’t give up until you find it.

Edit: This isn’t to suggest that you should rely on plugins for everything, instead of writing simple scripts (like filter and action hooks)—if you know how to write them. This advice is intended to help relative WordPress newcomers avoid, for example, cobbling together their own e-commerce solution without knowing that WooCommerce may be a much better option.

4. Confining WordPress to the “blog” part of the site

This is where you keep your old site running, and build a WordPress install at “/blog”. You then manually copy over all the CSS styling from the main site, and probably paste in the main site’s navigation menu as raw HTML into your header.php file (again repeating mistake #2 above).

This is a problem because: duplicating your main site design in WordPress is time-consuming; you’re now maintaining two versions of your stylesheet, navigation menu, etc.; dozens of really helpful WordPress features are only available at the blog section of your site; only part of your site is under content management.

Many sites with WordPress blogs should actually be WordPress top-to-bottom.

You probably need to learn about: WordPress as a CMS, not just a blogging platform. Many sites with WordPress blogs should actually be WordPress top-to-bottom. Sophisticated web apps are an exception, but if you’re transitioning, say, a company blog over to WordPress, chances are you’ll be well-served by moving the rest of the site too. You’ll only be maintaining one version of everything, and you’ll get the benefits of WordPress across the entire site. Much better in the long run.

In conclusion…

In general, these errors all boil down to not knowing what WordPress makes possible—they’re a bit like taxiing an airplane cross-country.

In general, these errors all boil down to not knowing what WordPress makes possible—they’re a bit like taxiing an airplane cross-country. So if you feel your DIY project really start to bog down, it’s a sign to breathe, take a step back, and learn a little more about this majestic piece of software you’ve started to work with.

If you’re a WordPress do-it-yourselfer, we hope these tips have helped you—and if you know someone embarking on a DIY project, please share them! They can make the difference between a good first experience with WordPress and total frustration. And, as always, we’d love to hear your thoughts in the comments below.

Image Credits: Flickr, everton137

Found this helpful? You'll find us helpful!

WPShout is published by a full-service WordPress-loving constultancy, Press Up. Get in touch with us about your project or business idea, we're knowledgable and friendly.

Fred Meyer

About the author

Fred Meyer is cofounder of Medivate and Press Up, and a WPShout admin. He loves meditation, jazz piano, and warm but rainy weather.

3 Comments

  • When I originally commented I appear to have clicked on the -Notify me
    when new comments are added- checkbox and from now on every
    time a comment is added I receive four emails with the exact same comment.

    There has to be a means you can remove me from that service?
    Thawnk you!

 

Add a comment

required

required

optional