Home » performance

Tag: performance

The Successful WordPress Recipe

In almost all of the cases where I was hired to help with a website, I had to deal with a WordPress setup. I have done this often enough to discover some patterns and to create a “WordPress Recipe” that I can use and apply really fast and that was proven to work!

Why the recipe?

WordPress’s power is that it is simple to install and set up by a non-technical person. But that is also its weakness. It is easy to conclude that after a successful install “you’re done and ready to go”, but that is usually not the case.

The common elements

The online store. Most of the websites today sell a product or a service. The most flexible solution that I know of is to use WooCommerce, connected with PayPal. And of course, there are all sorts of add ons you can use to customize the store to your needs.

The newsletter service. As a business, you need a way to stay in touch with your customers and to get leads. The best way I know how to do this is by capturing emails and using them with a newsletter service. MailChimp is a common choice. Contact Form 7 is the plugin that connects MailChimp with your site.

The contact form. If you are selling a product, you need to allow your customers to ask for support. Also, prospective customers should be able to reach you with presales questions. You can solve this with a contact form done right. What do I mean by “done right”? Two things: first you need some sort of spam protection so that only genuine contact requests get to your inbox. And secondly, you need to save these requests in a database in case your email happens to not be working.

Website Analytics. It surprises me how many website owners do not have any analytics reporting setup. If you don’t use analytics you could be missing out on potentially vital information ranging from technical problems with your website to discovering how your customers find you and where, in turn, you can find them. The best tool for this is Google Analytics. It is easy to set up and does not require any maintenance. Once you have it on your website any time you need to make a big decision about your business you can consult the analytics data to determine what the impact may be on your traffic and customers. Usually, the WordPress theme has a way to add this code. If you need something more advanced then PixelYourSite is the tool I’d recommend.

Search Engine Optimization. This a very broad topic, but a good start can get you a long way. At the very least choose a theme that is SEO friendly and properly configure your website structure through permalinks. Also, install the free plugin from YOAST and follow the configuration steps to make your pages more “google friendly”. I should add here that starting with 2018 the mobile users have surpassed the desktop users (in the data I have access to), so the website needs to look great on mobile first and desktop second! This is a big departure from: let’s make a great desktop website and then we’ll fix it on mobile.

Social Share. This is one is optional in my mind because I am not very convinced that it helps. If you know better let me know in the comments below. Some themes do provide this feature as do some plugins, but I have not found anyone that I could recommend. What I usually end up doing is to create custom code to add social share on the pages that I need to.

Website Security. Unfortunately, none of the websites I was hired to work with had good security in place. In fact, many times I was hired to try and salvage a hacked website and that is not always possible. WordPress is notorious for being easy to hack. This is not actually their fault. The paradox is that the software is so easy to use and install that many people who use it are unaware of the online security pitfalls so they fail to take the required steps to secure their website. To get you started you should only use popular plugins that have a good reputation of high quality. And you need to install and configure a security plugin. The one that I use and I recommend is All In One Security. Your hosting can also help here if they provide a malware scanning service.

Backups. I have learned the lessons of good backups the hard way. These days I don’t even take on clients if they don’t agree with a backup policy. It is too risky and so easy to make a mistake that costs both me and the client. I don’t have a plugin to recommend here. I personally have a backup server, with custom code, where I keep version mirrors of my work and my client’s data. This allows me to do quick restores in case of trouble and to work fast, knowing that even if I make a mistake, I can always roll back.

The WordPress quick setup Recipe

  1. Install WordPress
  2. Install a theme. I recommend DIVI (with some caveats)
  3. Install WooCommerce and connect it with PayPal (or Stripe)
  4. Install Contact Form 7 and connect it with MailChimp
  5. Setup the contact form in Contact Form 7 and also install Flamingo. Configure spam protection with recaptcha. Do a test of the contact form to make sure it works.
  6. Add the Google Analytics code in your theme
  7. Install and configure YOAST
  8. (optional) Install a social share plugin (or use custom code)
  9. Install AllInOne Security plugin and configure it.
  10. Setup automatic, versioned backups.

A note about choosing a theme

As you know I recommend DIVI from Elegant Themes. What I like about it is that you can quickly have a beautiful website that is mobile friendly, it is super easy to update and it’s very customizable without having to write any code.

But all this comes with a price!

I am not very happy with the performance of the theme. Sometimes it feels bloated. But there are ways to mitigate this problem. Another much bigger issue is that you are locked in with this theme. If you decide to use DIVI you might as well purchase the lifetime package because it will be incredibly hard to change to another theme down the line. If you think this may be an issue for you then you may want to look into Beaver Builder.

Custom Web Application versus WordPress

Have you ever had this problem of wanting to create a specialized service for your clients and not being able to implement your vision because of the limitations of your website?

Have you ever wished your website was more flexible and more customizable so you can easily differentiate from your competitors?

Let us explore together a way of thinking about this.

When you hire someone to build your website to deliver your products and services, you may be faced with the decision of building on top of a standard WordPress install or creating something totally custom.

So how do you decide what to choose?

To discover the answer you need to consider a few factors:

  1. What are your business goals
  1. How will you manage your site
  1. How will you update your site
  1. How fast do you need to be ready to go live

If your business goal is to have an online presence via a blog, a newsletter and a store then it may make sense to go with something standard like a WordPress based website.

WordPress was built for blogging. It is a very popular choice, so it has a big community developing plugins and extensions that will allow you to have an online store and a newsletter subscription very quickly.

A big advantage to using WordPress is the ability to apply automatic updates and the user-friendly administrative dashboard. With very little training you can learn to manage your own website and apply the updates yourself.

Another big advantage is the large range of templates and themes that you can use to quickly customize how the website looks, without having to hire a designer.

WordPress looks like an amazing choice. Why not use it all the time?

Paradoxically, WordPress’s strengths are also its biggest weaknesses.

WordPress strives to be useful and easy to use for a broad range of users. And because of that, it has to be very generalist in nature and make a lot of assumptions about how it will be used. And while you can use plugins to add features to it, ultimately WordPress is a blog platform that has been optimized for blogging. It some cases it can feel bloated with features that you may never use.

But if your business adds value through a custom service it provides, then that works against what WordPress was built for. Yes, you can do it by extending the platform, but the performance and flexibility of what you can do will suffer.

This is where a custom solution shines. Like a bespoke suit, a web application built just for your customers will be optimized to deliver that service. The obvious advantage is differentiation. You will be able to offer a user experience that may not be possible with WordPress. If built properly another advantage is performance. Since you know what this web application is supposed to do, very specific optimization strategies can be employed.

What are the disadvantages of a custom web application

Custom web apps shine when it comes to delivering your business goals and the flexibility to implement specific user experiences for your customers. But how do they fare when it comes to managing the website and updating the website?

Since it is custom work, you will have to rely on your developer for updates and maintenance. And the administrative dashboard may also have to be built from scratch to serve your needs and your customers. This adds some risk to your business. If you ever need to change developers the new one has to be comfortable and knowledgeable enough to be able to take over and maintain the website.

A custom solution also adds a higher cost with managing the website. It may not be as user-friendly as WordPress. And if you want to get the administrative backend to be super polished it will add to development time.

Another risk added by a custom solution is the higher probability of unforeseen problems and bugs. WordPress has such a large user base that the problems are likely to be discovered quickly and dealt with. That is not the case when you build a custom solution that only you are using.

It is not all bad news. Most of these risks are mitigated by using time tested frameworks, best practices, and standards when building the custom website. Just like with bespoke suits, you don’t have to reinvent the industry to have something custom-tailored and of very high-quality.

How fast can you go live with a custom website? Not as fast as with WordPress, that is for sure. If you are in a hurry, custom work may not be the way to go.

Conclusions

If you only need an online presence and the ability to blog then just go with WordPress. It is low cost, it is fast and easy to manage. And if you have some free time on your hands you can do it yourself.

If you need to put something up quickly and time is of the essence, stat with WordPress and plan for an upgrade later on.

If your goals are more sophisticated, then we need to talk about value first. How much value will the website bring into your business? The more you base this on data and research the better. If the yearly revenue from the site covers the costs of a custom solution (including development and maintenance) then I would suggest you go with a custom solution because of the flexibility and growth opportunities. Otherwise, go with WordPress and plan for an upgrade later.

A word of caution

There is an advantage to being quick and show up on the market place. A simple but fast website launched quickly is much better than a perfect website launched too late.

That being said, too many times I was hired to fix a website built on a shaking foundation with obsolete technology that was very limiting to the business.

What I suggest is a good practice is to give yourself a deadline. Something like: I need to launch this month, but I know that will have to build something more complex and stable so I will plan and prepare to do it in 12 months.

In 12 months you will have learned a lot about your business and your customers, so when it’s time to “get serious” you will have a much better understanding of what it needs to be done and that will dictate the choice of technology. You will also not be in a hurry, so you can do things right.