WordPress Plugin Count: Quality, not Quantity

I was at WordCamp Vegas this weekend and I noticed, on several occasions, that some of the audience balked at the suggestion of installing plugins. It would seem that somehow the impression is being given that ‘less is more’ in terms of the number of plugins that a WordPress installation should have. I am not exactly sure how this message is being delivered, other than through a network of non-developer-type people who are advising other non-developer-type people on how to build a WordPress site.

I hope this post sheds some light on the ‘Less is More’ phenomenon.

We’ll start this explanation at a n00b non-developer-type level and get a little more technical as I go on.

WordPress is comprised of a series of files that sits on a computer. In the case of your website, the computer has a ‘hole’ open for the “World Wide Web” to access some of its content. This ‘hole’ is called a ‘port’ (think ‘porthole’ from the Titanic). Any computer that has this port open (among other things) can display certain files to the web. These files have to be text-based files–kinda like opening a text editor (not Microsoft Word) and saving a blob of text as blob.txt. Then, the World Wide Web of people can go to the address to your server (your domain name, usually) and access blob.txt and view its contents. You can have several types of text files that get a little more advanced. The next step up from a text file is what’s called an HTML file (that stands for HyperText Markup Language). This is a way to format your text file so that a browser can interpret things like location of the content and the type of content that you are showing.

So, let’s talk about ‘Less is More’ at this level. When a website is accessed, it accesses the HTML page (this is usually ending in .htm or .html with some variations). If that page is filled with JUST the blob from your blob.txt file, it will load faster than a fly avoids a swat. But if you’ve got that file filled with a bunch of links to other files (usually, this is links to images, ‘style sheets’ or ‘javascript’ files, which I won’t get into here), then the load time starts to slow down. If you have ten small images on the page, the slowdown is barely noticeable. If you have ten VERY LARGE images (file size, not necessary width/height) on the page, you can go grab a cup of coffee while you wait for the page to load.  You can also bet that this is a poorly designed page as each page should have only the most appropriately sized image on the page to do its job.  The same goes for CSS files and for Javascript files-Anything outside of the existing HTML file could cause a slow-down if it is not developed/designed properly.

So, now we get to WordPress. A step up from HTML is what is called ‘scripting languages’ (something that can be run at the time it is accessed). There are various types of scripting language out there, but WordPress uses  ‘PHP,’ which stands for Hypertext Preprocessor – I know, it’s a little mixed up with the acronym, but just go with it. If you notice, this explanation started with just Text, went on to HyperText markup language and now we’re at HyperText PreProcessor. It’s getting a little more advanced, right?

Right. PHP is a text file that usually ends with .php. This file actually needs a ‘server’ to ‘interpret’ the file and run it at the time it is accessed. So there is this extra layer, if you will, of applications that must be running in order to show a PHP file. These files consist of a mixture between the scripting language and HTML (although, if developed correctly, the files would highly separate out the two).  You could have a PHP page that is a mile long that could load up in less than a second. The cool thing is that the server only access the parts of the file that is needed to run. It doesn’t need to read the entire script every time the page loads. This makes for a little more flexibility than a straight HTML page does because you can be highly selective in what you access when you load the PHP page. You can add a second mile to your PHP page and it might never change page-load. It might start making the PHP code unreadable, but it doesn’t necessarily change the page load.

So, let’s talk about ‘Plugins’ now. WordPress is uniquely designed to allow for ‘interrupts’ to occur throughout the core of its code. These interrupts are places in which a developer can insert their own code and override what’s happening at the core level. A developer can either do this in the themes functions.php file (highly unadvised) or create a plugin (two big thumbs up). The plugin will generally have 5-7 additional lines of commented code than you would have in the functions.php file, however these are pieces of code that you can now turn on and off at your leisure, as deemed necessary.

Just as with HTML, you can have hundreds of these ‘interrupts’ that WordPress calls ‘Hooks’ or ‘Actions’ and ‘Filters’ either in your functions.php file or as plugins and this would never effect the speed of your site.

The problems begin when the plugins are coded inefficiently. There are a number of different ways to have inefficient code for a WordPress site, but primarily it is either a lot more code that is processed than needed (lots of iterating over data or queries of data) or it is running the plugin with the wrong hook/filter. Another issue can be when a developer doesn’t use unique names of their methods and it ends up overriding or stepping over other plugins or core functionality that wasn’t intended. Once you start having inefficient plugins installed, it can effect the site-speed drastically and immediately.

So, How can we avoid poorly designed plugins slowing our sites down?

1) Vet your plugins: Always read all of the reviews and check which version number of WordPress the plugin works on. Do a google search for anyone complaining about the plugin before installing it.

Screen Shot 2014-12-18 at 9.42.28 AM

2) Test your plugin: It’s always best practice to have a copy of your site on another space so that you can test things out before you actually put them on your website. You will be able to catch the small nuances of site-speed before it hits your actual site. Here’s a good tutorial on how to set up a staging site for your WordPress installation.

3) Go premium if you can: Of course, follow my first suggestion for these plugins and vet them well. However, paid plugins generally have much better support when things go wrong and that can be a life-saver (or money saver/money maker).

4) Use a caching plugin. I should have put this first, actually. A caching plugin is magical. It takes the output of the PHP page and turns it into an HTML file to be accessed. This takes away that extra layer of having the applications that interpret PHP have to work to deliver the page. It does mean that you have to delete those html files every now and then but all of the good caching plugins have that option. I recommend WP-Super-Cache or W3-Total-Cache. I usually use WP-Super-Cache for all of my projects that require caching.

WP-Super-Cache Delete Options
WP-Super-Cache Delete Options

Having a ton of well-contained plugins that do very specific things is a much better alternative and does not cause significant site slow-age. On the other hand, having one or two poorly executed plugins can be catastrophic to your bounce rates. As you can see, the quantity is not nearly as important as the quality.

With that… Happy Plugin-ing. :)

I’m consolidating my brand

Essence Interactive is being put to rest. I’ll be doing development under ‘Tabby Chapman’ from now on. Yes, I’m going from full on registered Corp to Sole Prop.  Weird, right?

Well, EIinc is registered in New York and I haven’t been doing my work under the corp in a long time. I did keep some of my business-related bills registered under the corp to make taxes easier but… taxes are never easy right? Anyway, so now I’m developing under my actual name. That means this blog might occasionally get a little nerdy and developy. Probably not. But it might. I’ll also probably keep a lil’ portfolio here too. A sexy one.

That’s all. If you really are interested in learning about developing and knowing what projects I’m working on, subscribe to this blog and you’ll be updated on my projects AND on my life. Bonus.

So, you wanna start a website?

several computers on a deskAlright, so you’ve been hearing about this thing called the “Internet” now for like, 10 years and you’ve even ventured onto Facebook, and although you still don’t quite get it, you have finally come to terms with the fact that… YOU NEED A WEBSITE. Now the question is, “What the heck? How do I do this?”

Perhaps you invest in a mac because you’re told you can do it yourself with their tool called iWeb. Or you’ve gone out and purchased Dreamweaver, because someone said that’s what you use. Okay, now what? You could sludge through tons and tons of online tutorials on how to use these tools, but most people who do eventually come to terms with the fact that… they need help.

So, where do you start?

Well, first of all, you probably know someone or know someone who knows someone who can do a website for a reasonable price. So, start trying to get into contact with whoever that person is. But when you finally DO have your meeting with that person, come prepared!

This post will give you a few questions and info to gather for your new website venture and your first meeting with your web person. I’ll be posting a series of blogs that will help you with the entire process over the next few weeks but for today we’ll just deal with the first meeting.

  1. What kind of business do you have? This is important because there are a set of specific pages that most web designers know should exist depending on what your website is trying to sell. For instance, if your business is a storefront where you sell designer boots, then your designer will need to know that you’ll need a shopping cart and all of the bells and whistles that go with this. If your business is selling your voice-over skills to the local studios, your designer will need to ensure that you have a voice-over portfolio page and possibly some special access to possible recruiters or employers. If you’re a novelist, there will need to be pages about your works and publications. I think you get the drift.
  2. Given no budget, what would you want your website to do in 10 years? No, I know that there probably IS a budget, but giving your web designer an overall perspective on what you’re eventually going to do with the website is helpful in planning. Now, you may not know and that’s okay. But do try to take at least 10 minutes to sit down and jot some ideas on what it COULD do. :) Trust me, you’ll really probably like the process.
  3. What do you expect this website to do for you? Make sure your developer/designer knows what you are expecting from the website. “I want 100,00 hits in two months” is an example of that. This helps the designer/developer know what they can provide for you on a more reality-based set of circumstances. For instance, if you are Julia Roberts, that may work. But if you are not someone of great fame already, the designer/developer can help you redirect goals to a more reasonable level and give you a good process in order to eventually get to that final goal.
  4. Why should anyone care? And of course, I mean this in the nicest way possible. Really, why are you unique. Why should anyone give a damn about your website? If you want to create just some store out on the internet, fine… a designer/developer would probably gladly except your money in exchange for another store out there. But its ALWAYS good to be UNIQUE in what you are bringing and to be clear about that uniqueness.
  5. What is your budget? Come on, now, this is a serious question. I’ve experienced a lot of people who like to keep that question vague to see what they can get out of me and its just a bit annoying. :) State the budget. Trust me, your developer can give you an accurate quote based on that. If you asked for a 10 page site and then you say your budget is 300.00, then your designer/developer can at least adjust and give you one kick-ass home page.
  6. When do you want this completed? DON’T leave this open-ended. Give a deadline. Give a deadline for the proposal and don’t be afraid to set reasonable consequences.
  7. What do you like on other websites and what do you hate? Give examples. VERY HELPFUL!
  8. How much time and resources will you want to commit to this new venture after its done? Your team will want to know this in order to quote out the possibility of an admin-able website to enable you to change your own content, or they may not if you don’t intend on spending your time doing this. In my experience, paying more money upfront to get the admin-able stuff is always the best bet because otherwise you’ll be paying here and there for things that eventually add up.
  9. Who is your target market? Type (Businesses or consumers?), ages, gender, etc. If you’re a website for elderly people, for instance, you will want to make sure your site accomodates larger texts. If you’re a website for teen girls, you’ll probably be looking for a more vibrant and hip look and feel to it.

This just about covers the info you should bring on your first meeting. Next, we’ll go over more specifics about budgeting and maintenance.

just another wordpress plugin post

Image of WordPress PluginsWordPress is my favorite software in the world. It can do just about anything. I mean, they even have a social network set of plugins as well. So, I figured I’d post a lil’ blog about my favorite wordpress plugins to use… and some I’m interested in using. I’ll go over my current three favorite (although there are so many)!

First of all, I am loving the Twitter for WordPress plugin, because I can always count on my public tweets showing up here. It’s just one less step that I don’t ever need to worry about.

Next, I love the Feedburner Widget plugin, because it makes it so that I don’t have to change the code to redirect the feeds. It doesn’t it automatically. Feedburner is the latest in Google’s RSS syndication technology (and by “the latest”, I mean that they acquired it from Feedburner a while back, much like YouTube) that allows you to do fancy schmancy things with your feed, starting at keeping track of which email addresses are reading the feed. Yum!

The Akismet is my ultimate favorite widget of all time. This puppy has saved me so so much time in all of my experience in blogging saving me from having to weed out the spammers from the real posts. Thank you Akismet!

Those are my top three! I have a few other plugins that I use depending on what the occupation is for any given client. And I’m kinda dying to try out this WordTour plugin soon! What are your favorite plugins?

Chrome Oddities

So, I recently made the fateful switch to Google’s browser, “Chrome” and have been liking the experience thus far, which the exception of having my developing tools on Firefox. Last night, I opened my browser and all the fonts had turned into these weird As with boxes around them.

At first, I thought, “hm… must be some sort of tongue-in-cheek thing that google’s doing?” But then I realized that it was happening on every page that I was going to! Pfft.

Anyway, after some google searching in Firefox, I ran onto an article titled “How to Fix Chrome for Mac Broken Fonts.” I might have just titled it “Fonts are broken on chrome!” or “Boxes around A’s on Chrome” but that doesn’t really matter, because they gave awesomely useful tips on how to correct the annoying issue, which is that you need to clear your fonts cache.

So, if you have the same issue, go read that article and you should be fixed in a jiffy!

Magento Geek Post!

So, I am a sucker for Magento Commerce software. In the past it has been a real bitch to install though, and has eaten up plenty of my time. I’m also one of the dorks who get yelled at a lot because…. wellllll… I LIKE dreamhost! I think, so far, it has worked well with my needs. I’ve been a customer with them for several years, and have no complaints yet really.

Anyway, In the past, it’s been hour after hour of trying to get Magento to install on dreamhost for my own nefarious reasons. There was tears, there were swear words, there were furious posts on magento message boards and pleas to Dreamhost support. There was always success in the end, but at my expense… let me tell you!

Well! Cry no longer, my friends! I read the coolest tutorial and used the coolest instructions and was able to get my mom’s new online store to install within MINUTES. That’s ALMOST as fast as it takes to install wordpress.

Impressed!

Here’s the toot:
http://www.gimmesoda.com/installing-magento-commerce-on-dreamhost/