How to Make your WordPress Site Faster

Recently, aecnu (Joe) made a really interesting comment with a rock solid point while answering a question concerning hosting services where separate servers are used, one for hosting, another for a data base and archive; in fact it could be possible for up to three different servers (or more?) providing varying items for your viewers and/or subscribers.

Lets use this to start a conversation about ways to get our own sites smoking along the internet highway.

aecnu to me: Thank you for the great question.

They are setup in local host fashion and on the same server.

This avoids as in Go Daddy's case the databases from being spread across several servers while at the same time the web site speed is not compromised due to the round trip it takes in this type of configuration i.e. web server --> mysql query --> mysql separate server --> processes query --> sends back to web server.

As you can see this round trip indeed adds time to site processing to any site that uses MySQL databases.

The advantage of this is the server is separate and can process independently from the web server.

The disadvantage is other then round trip time is they probably have many sites from many web servers feeding off a single database server for example and when that server goes down, if it indeed goes down, then all the web sites attached to it are down as well even if the web server is fine. But then the sites are junk as well because no database to power them, especially when considering WordPress sites or any other database driven site.

However, in my configuration the web servers indeed contain the MySQL database server "localhost" and not only does this make for easy configurations, but if there is indeed an issue the other servers remain unaffected and the tragedy is localized to a single server instead of global --> or at least partially global.

In addition, the round trip time is non existent.

If you have a suggestion or a question, let's have at them.

tlcorbin

  • Gabe

    If you're serious about performance the first step is typically to outsource server performance and maintenance so you can focus on growing your business.

    Specialty WordPress hosts do this job pretty well, but performance varies from host to host. For example I use WP Engine. It's expensive, but it's worth it to me. They handle caching and other speed optimizations so sub 250ms load times are common with sub 500ms load times the rule anywhere in the US. Aside from WP Engine there are other specialty WordPress hosts like ZippyKid, WebSynthesis, Page.ly and others. Even one of the staff members, @aecnu, has his own hosting service that specializes on multisite installations. So take a look at the choices above and see who offers the features you need in your budget range. You won't see any $4.99/mo plans, but you get so much more. To be honest, I'd pay twice what I pay now for specialty WordPress hosting. It's worth it.

    Whatever you decide, to improve speed the first step is getting a specialty WordPress host with WordPress experts managing your server. That'll take care of the low hanging fruit like first-byte times. Some hosts even manage caching and include a CDN. The only exception would be if you're adept at server administration, but even then you'll have to ask yourself if it's worth the time. That's time you could be spending on customer development and growing revenue.

    There are obvious things like compressing images, using clean code, minimizing redirects etc. but a lot of people never look at minimizing http requests. Running your site through Pingdom Tools can identify all of the http requests from the server. Often you'll see extraneous (and often duplicate) js and css, multiple font requests (e.g. multiple Google Font requests can be combined), etc. This is usually due to poorly coded plugins. Common files like jquery should be pulled from Google's CDN since it's more likely to be cached in users' browsers. There are plenty of things you can do for optimizations, but the above will get you started.

  • Gabe

    @Brian made a good point, your host choice can be a complicated decision. They're all good, but they really do work differently. For example, I started with WP Engine over a year ago, but left because I found it too restrictive and decided to go back to managing my own server. After things began to grow I and WP Engine matured a bit I tried them again early this year, am still with them and I’m very happy with their services.

    I've never tried Page.ly like @Brian uses or others, but they're all pretty solid and have different benefits. For example, if you're exclusively using the Genesis framework, WebSynthesis is optimized for it. If you want to retain more control of your multisite network, take a look at @aecnu's hosting services which I believe also allow cPanel access. Some folks will want cPanel access so they can use WHMCS with WPMU DEV's WHMCS plogins and other things on their server. If that's the case some hosts like WP Engine wouldn't work because SFTP access is the extent of backend access. This has definitely changed my business model in some ways because of these limitations, but it's also given me huge advantages in other areas. So consider your business model when choosing your host.

    Another speed consideration is where your audience is. A CDN can help for international customers, but if your target audience is in Asia or Europe you're better off with a host who has a datacenter there rather than relying on a CDN.

    I haven’t tried it yet, but new way to improve page load times will be Google’s PageSpeed service. It’s still in beta, but it looks pretty neat.

    Whatever you decide, don’t skimp on your host decision. If you think about it, your host is the foundation of your business, especially if they’re a specialty WordPress host and play an active role in your ability to run your business.

  • tlcorbin

    Hello, Gabe and Brian, you are correct Gabe, I am not willing to devote a large part of my working day learning to fine tune server operations, that is my number one argument in favor of using a hosting service, so using a service that is WordPress-centric makes complete sense.

    When starting a new enterprise, online or offline, timing and budget is everything; while setting up the basics does anyone really need super service to drive a site that could be hosted locally? And how much traffic would be a reliable marker for the need for high performance hosting?

    tlcorbin

  • tlcorbin

    Wow, you and Brian really nailed it with your reply's.

    Whatever you decide, don’t skimp on your host decision. If you think about it, your host is the foundation of your business, especially if they’re a specialty WordPress host and play an active role in your ability to run your business.

    But this remark drove the point home for me and speaks to the heart of the matter.

    Thank you both.

    tlcorbin

  • Gabe

    While setting up the basics does anyone really need super service to drive a site that could be hosted locally? And how much traffic would be a reliable marker for the need for high performance hosting?

    In short: No. Most will fail and never need to scale. Of those that need to scale, the vast majority of their 'customers' will be splogs because they don't take adequate anti-spog measures like the Anti-Splog plugin and others. I'd focus more on block resource sucking splogs and getting qualified traffic first. But I also think there's a better way to reframe the discussion.

    Anyone on here can be successful starting their own multisite/membership network, but since the bar for entry is so low now there is plenty of competition. To succeed it takes building a great service that fills a need, getting the word out and getting attention, converting visitors into customers, retaining those customers and reducing churn, supporting those customers and thrilling those customers to the point that they tell others about you. The process never stops and it takes a long time (even years) to gain traction. Depending on your budget, you want to make sure you can pay the bills for hosting and other needs until your project starts bringing in revenue. It's why most people keep their day jobs and leave these things as side projects,

    So, anyone can do it, it just takes a lot of time and effort. A lot of people underestimate the importance of design, site speed, conversion optimization, etc. For example, I'm no designer but every time I built a new site I thought it was incredible. A few months later after I learned more and got better, I realized how crappy it was. The point is just keep working at it, keep learning, keep getting better and stay focused.

    A lot of people try to do too much, add too many plugins and themes, and try to give customers too many options. Customers just get lost in it all. Pick what you want to be good at and focus on doing that better than anyone else. Keep it simple so it's easier to maintain and keeps both the support overhead and technical debt low.

    So what was the point of that? The point is too many people worry about scaling and other forms of premature optimization. As entrepreneurs we like to believe that once we launch the flood gates are going to open and people are going to be throwing money at us. That’s rarely the case unless you’ve already got an audience.

    To answer the main question, you'll know when you need to scale. Sites will slow down (even go down), maybe you'll start to be throttled, etc. So if budget is an issue just host locally if possible or use budget hosting (at least in the development stage) and get some revenue first before increasing overhead costs.

    But on the other hand, paying more for hosting not only takes away the issue of scaling, but it also lets you focus on other things. Most WordPress specialty hosts can upgrade you seamlessly, so it's not too much of an issue. But again, if budget is an issue or you're in the very early stages and not even sure what you want to do, double however long you think it'll take you to launch and stay with a budget solution until you figure it out. That money can come in handy for outsourcing later.

    So it’s not much of a clear answer but it all depends on your situation. Scaling and managing traffic are some of the last things to worry about. Actually getting traffic/conversions is the hard part.

  • tlcorbin

    Hello again, Gabe,

    A few of the purposes of this particular topic is to contrast the perceived need for speed with useful utility, deliberate design with trial and error, spending with investing, going at risk with playing it safe; even more importantly, learning to ask the right questions.

    I concur that most venture start-ups will fail, success cannot be guaranteed; however, a road map has been around the major pitfalls is being created. So far these mile markers have been established for those searching out answers:

    • Invest time deciding what it is you want to accomplish with your website, rudimentary research and planning will pay off,
    • The initial site design is not going to be the end all-be all dream we hope for, it will evolve,
    • Keep the site and services simple and streamlined, limit themes, plugins and fluff,
    • Host the site with a service within your budget, you can upgrade later,
    • After the initial set up, secure the site, against splogs, comment spammers and more,
    • In addition to the start up costs, a large amount of your time will need to be invested in the day to day operations,
    • Or an outside webmaster will be required to do that for you, which will add to the start up financial burden,
    • Operate your site for a period of time before aggressively promoting it, to learn the ropes,
    • When the activity load of the site begins taxing the limits of your hosting service, upgrade,
    • Select a hosting service that specializes in the wp-centric sites and issues,
    • After reaching this milestone, then it is time to worry about image compression, clean code, fewer redirects, minimal http requests, duplicate js and css, poorly coded plugins and cache management among a host of issues,
    • If managing your site stops being fun, turn the reigns over to someone else, or prepare to watch weeks, months or years of effort die an agonizing death affecting you and those clients that invested in your dream.

    There you have it Gabe; from my vantage point, your responses were very helpful and very clear.

    Now, what about developing traffic/conversions . . .

    tlcorbin

  • Zyniker

    Generally, a very good start for speeding up your site (and improving your rankings, particularly with Google) is to enable gzip compression (for faster load times and less bandwidth usage) and browser caching.

    Here is the basic code I use on my sites:

    # BEGIN Deflate
    
    <IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
    </IfModule>
    
    # END Deflate
    
    # BEGIN Expires
    
    <IfModule mod_expires.c>
    
    # Enable expirations
    ExpiresActive On
    
    # Default directive
    ExpiresDefault "access plus 1 month"
    
    # My favicon
    ExpiresByType image/x-icon "access plus 1 year”
    
    # Images
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    
    # CSS
    ExpiresByType text/css "access 1 month”
    
    # Javascript
    ExpiresByType application/javascript "access plus 1 year"
    
    # PDF
    ExpiresByType application/pdf "access 1 month"
    
    </IfModule>
    
    # END Expires

    This covers both gzip (the Deflate section) and browser caching (the Expires section).

  • elpino

    Lots of great, suggestions here for big clients and big proyects, since my country is not that big i have lots of little clients that are not gonna have this big 100k visits, etc. but would like their sites to load a little faster without paying a big hosting company plan.

    So do you any solutions for little clients side, like some plugins or tools to recommend, does multi db makes site faster? if site really big? making multinetwork? would like to know some suggestions and tools for small clients. without the need to pay for services, free or regular tools and tweaks you could install on a website, gabe google options sounds great option https://developers.google.com/speed/pagespeed/service

    any more suggestions like this? like a plugin combo or tweaks for making it a little more faster for those visitors spike days.

    Regards
    Alex

  • aecnu

    Greetings Alex,

    Thank you for the great questions as always.

    There are indeed many ways to speed up a site and in summary of what Gabe and tlcorbin both mentioned is it truly starts at the host.

    As Gabe mentioned those specializing in WPMU Hosting to include the likes of WP Engine that are indeed worth their weight in time and effort to get your site speeding right along and configurations to match.

    I know my servers are not the only game in town but try out a $3.95 plan and see if it does not blow the doors off the competition - obviously not expensive at all and you indeed get the performance.

    I know it is not unlimited everything but those for the most part are all lies anyway, sales rhetoric, unlimited disk space but they count and limit your files, unlimited bandwidth but they throttle the bandwidth - just ridiculous BS in my book - smoke and mirrors.

    It is amazing how many members here have issue after issue that originate from their host, sub domain resolving, not enough memory errors, timing out, etc. and in these cases the least of their worries are speed.

    But it is possible with the many host available that are WordPress centered and knowledgeable to make life a lot simpler - but unfortunately most fall for the lies and rhetoric wanting to believe it, the biggest is almost never the best at anything, and how is that hope and change working out for them? - Just more Grand Illusion.

    Have a GREAT weekend!

    Cheers, Joe

  • elpino

    So the only way to speed up a site is with a hosting? no tools would speed up the site, if i have one of this top of the line hosting solutions after that i cant install anything else that would put the site more faster? does multi db plugin helps? any combo suggestion after i have a great hosting, etc. example if i buy your reseller plan, and sell my clients, hosting account on your company, what to install to every wordpress for my clients, any basic combo ideas to basic plugins that i can install to every wordpress to make it more optmized, etc.

  • tlcorbin

    Hello, Alex aka elpino, great handle. WP-centric hosting is a clean way of reducing some of your speed problems and display problems. I just finished posting this Starting a new Website, Consider Things on this List and Then Ask Questions, it is a summary of things on this page.

    Zyniker posted this:

    Generally, a very good start for speeding up your site (and improving your rankings, particularly with Google) is to enable gzip compression (for faster load times and less bandwidth usage) and browser caching.

    And he included the code with that post.

    Where in this world are you located? Ah, you are in the Dominican Republic? It is a beautiful country as I remember, but I didn't care much for the Haitian side of the island,because of their government in the late 60's, talk about bad neighbors, they were very unpleasant.

    . . . since my country is not that big i have lots of little clients that are not gonna have this big 100k visits, etc. but would like their sites to load a little faster without paying a big hosting company plan.

    Since you are indeed located in the Dominican Republic, some of the problems that you are likely having with speed, is that not everyone has fast internet service or the latest in computer technology, which means some of the older computers will have difficulty displaying your page quickly. I noticed that you are using several animated flash displays, they can be bandwidth hogs. So, part of your problem is to keep your clients educated about properly setting up their computers and keeping their software updated.

    You seem to be indicating that you want to expand your business plans; one way is to resell hosting plans and another is to set up a multi-user site on a wp-centric hosting service and sell subscriptions, that would allow you to keep your plans simple and basic, limiting themes that work well in your market area and limit plugins for a balanced product.

    If that is the case then speeding things is not really going to help until your new operation is up and running.

    tlcorbin

  • elpino

    Dear tlcorbin thanks for your comments but really they are of no help and don't answer my specific question, i think i have to open a new thread with this specific question, never been to haiti but hear is a very poor country and almost on the old age in tecnology, our country is actually the most advance latin american country, in telecomunications, my iphone plan is 4g with speed of 10mps to 20 off hours, most of the neighborhood have fiber optic internet service plan, they go from Plan 20 Mbps mine personally is 100 Mbps / 5 Mbps, i travel alot to NYC and really bad speed over there, only in Canada i have found more speed than here in internet, in NYC 4g plans only give speeds of 5 mbps shared, so i think our country is good in the speed part, 95% of the websites down here don't use flash, so don't know were the flash think came from, from the start i tell a client to no use flash. i already have 100+ clients with a little re-seller account i have, my question was really about with plugins to install to speed up a wordpress site, since im new to wordpress i used to use joomla. checking to migrate all joomla sites to wordpress.

  • Zyniker

    tlcorbin and elpino,

    The best way to go about speeding up his sites is probably to use the .htaccess code I posted, supra, and use a WordPress caching plugin (there are a few popular ones out there). Having visitors hit a cached (i.e., static) HTML page instead of running a bunch of database queries should result in a pretty sizable improvement in load times (beneficially, it also takes some of the load off your back end).

    If you have all of these sites installed under WordPress MultiSite, then you'll be able to install the plugin and activate it at the network level. If you have a bunch of individual installs, which I think might be the case here, then you'll have to invest a little more work upfront (i.e., installing the plugin onto each of the sites), but the benefits derived should be roughly equal.

  • aecnu

    Greetings Alex,

    Thank you for the question and it is absolutely not the only way, but you are only as fast as your slowest moving part and so why build on slow hosting or hosting that is not WordPress friendly just to fight trying to speed up where one made the first mistake?

    Plus most of the other ways are mentioned but there is a limit to what they can do for you.

    There is not one single person, not a soul on my hosting running caching because they do not need it. But on the other hand many members have said that running caching on BlueHost have improved their sites speed considerably which is totally logical since they practice bandwidth throttling.

    The good caching plugins compress the file as well as cache a copy and therefore gives the appearance of caching.

    As most people who deal with hardware know, anything that is performed by the hardware is better and usually far superior then the equivalent in software and then the hardware itself is critical.

    For example one of my clients who would not switch to me for six months because he thought that my 6Gbps Hard Disk Drives could not keep up with his then current SSD Drives. But after he tested me on it and called my bluff found out it was the truth. Why? Because even with SSD drives the i/o could not go faster then 6Gbps - hence you are only as fast as your slowest moving part in this case the i/o.

    But he found the performance superior for other reasons as well which are beyond the topic of this thread but to be point blank the combination of hardware and software to include the configurations of those items makes for a superior product and superior speeds.

    Now instead of $600+ a month for things he did not need he spends under $200 and gets more then just performance, but more of everything.

    Hosting is the foundation. Put a Lamborghini 12 cylinder motor on a roller skate and see how far you get. Just like in cars one must match the motor to the transmission to the rear end or it will not perform well - period.

    This I have perfected and consider it proprietary information and the performance shows.

    The other folks above gave the clues for the htaccess files etc. So chipped into the topic with the one item that was not thoroughly exposed and that I am qualified to give expert opinion on. Bachelors Degree CIS University of Berkeley 1993, Masters Degree Computer Technology 1996 also UofB

    Of course the education in these fields will not help one bit if you do not keep up with the fast moving technology - the nature of the beast.

    Cheers, Joe

  • elpino

    Greetings @aecnu for the comments about the hosting part, but i was already aware of this since im foliwing your great blog posts on your company since i join in november to wpmu, and readt all the post on the forum about this in november, just wanted to know extra stuff to do beside the hosting foundation.

    Greetings Alex,

    Thank you for the additional question.

    Multi DB will not help at all with a single site that has many posts.

    It helps with MultiSites that have many sub sites/blogs by dividing those subsites into smaller databases rather then having to parse through one giant database.

    Thanx for this extra info was currios about this ask various times but no one answer, now i know is only good for multi sites, i learn about memory cause of your blogs and how you give 512 php.ini instead of the regular 256 ot less other providers give.

    Im looking fwd to using your services, sadly i already have tine left on my hostgator plans, when they expire i will migrate to your great service.

    Right now im new to wordpress so wanted to know for example when you personally setup a wordpress what are the must have plugins that gotta go on the wordpress to be optimize.

  • aecnu

    Greetings Alex,

    Actually that post I originally made in this thread was not directed at you specifically sir, it was for the benefit of all those folks that will come across this post - maybe I should have opened with just greetings? :smiley:

    And you are welcome when you get to it and I look forward to when you get to experience what I am talking about first hand!

    Right now im new to wordpress so wanted to know for example when you personally setup a wordpress what are the must have plugins that gotta go on the wordpress to be optimize.

    The biggest mistake people make when they start a site is enabling cache if they are going to use it at all - because it messes with their head while they are trying to develop and the changes they make do not show up until the cache is refreshed manually or automatically.

    It was a pleasure as always!

    Cheers, Joe

  • tlcorbin

    Hello Guys, wow this thread has been busy, great.

    Joe you are absolutely a gold mine of information.

    Alex, perhaps you should check with Host Gator and see how much of your money you can get back, then invest those funds in yourself, by subscribing to hosting with a wp-centric web hosting service (perhaps with someone that is not a stranger to you). This link may be of value to you, it offers tech information dealing with speeding up your website that I have book marked as useful and makes Zyniker's code information a little clearer.

    This should help with some of your questions.

    tlcorbin

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.