WordPress Optimization For Shared Hosting In 2024
Shared Hosting Hosting on Shared environments so they share their resources share with other people also so you don’t get the actual benefit of that shared hosting. Today I will tell you about WordPress Optimization For Shared Hosting Environments.
What is our Goal?
⦁ To make WordPress run as fast as possible on a Shared Host.
⦁ To do it without spending money – only free/open source solutions.
⦁ Who Is This Presentation For?
⦁ Everyone (Beginners/ Pros/ Users of Other CMS)
⦁ Solutions work in shared and dedicated environments.
Causes of a slow site/server load
⦁ High traffic volume (a wonderful problem)
⦁ Large page size
⦁ Complicated pages
⦁ Database calls (of the unnecessary variety)
⦁ Plugins and 3rd party widgets
⦁ No caching
Page Size and complexity what can we do?
⦁ Reduce Complexity – Minimize HTTP Requests
⦁ Think about what features you really need
⦁ Fewer widgets / fewer plugins
⦁ Fewer iframes
⦁ Get rid of 3rd party widgets and tracking services
⦁ Style sheets at the top
⦁ Scripts at the bottom
⦁ Fewer images
CSS Sprites
⦁ Use CSS sprites to reduce the number of images on your site without sacrificing variety.
⦁ Reduces the number of HTTP requests to pull the images.
Compress Your Image
⦁ Compress your images
⦁ Compress your images
⦁ Compress your images
⦁ Don’t use larger images than needed.
⦁ If your blog has a content area of 600 pixels wide why are you uploading an image 2400 pixels wide?
⦁ Does it need to be a JPEG, PNG, or GIF?
Size Matters
600x 401 Pixels – 520 KB PNG
It’s not the size, it’s what you…..
600x 401 Pixels – 36.1 KB JPG
Experiment with image types
⦁ Experiment with formats and compression
⦁ Choose the right image type for the post/site
⦁ Does my picture of Dexter & Masuka really need to be 2MB?
Culling The The Database Cells
⦁ Plugins – If you don’t need them get rid of them
– Do you really need to show off how many visitors are on your page?
– Do you need 20 related posts in your feed or at the end of your post?
⦁ Widgets – Do you really need them?
– Can the output be cached?
⦁ Optimize Code
– Reduce the number of recurring DB calls by coding them out
⦁ Cache
– Cache your pages for better performance
– Use an object cache
Code Out The Calls
⦁ WordPress makes a lot of unnecessary DB calls.
– Template path
– Favicon
– Graphics
– Links
⦁ These calls are made to facilitate designers and developers..
Code Out The Calls
Code from Header.php in the WordPress Default Theme – Twenty Eleven
The same section of code but with unnecessary calls coded out.
Offload The Works
Offload parts of your site to 3rd party services –
– Comments – Disqus, Facebook, etc…
– Random / featured posts
– Hot posts
– Feedburner
– Imgur / Flickr
– Ajax Libraries
Cons of offloading –
– Reliant on a third-party service
– If they’re slow, so are you. I go down, so may your site
Offload The Work
A number of the javascript libraries distributed with the
WordPress is also hosted on Google’s AJAX Libraries
CDN
This provides numerous potential performance benefits:
– increases the chance that a user already has these files cached
– takes a load off your server
– uses compressed versions of the libraries (where available)
– Google’s servers are set up to negotiate HTTP compression with the requesting browser
– Decreased latency
Caching
Browser Caching
– Essentially helps a server reduce the number of requests that each visitor’s browser makes to your site by caching the files on the user’s computer so they don’t download them again.
– Server Caching
– Server caching caches the generated pages on the server so they don’t have to be reassembled when requested by a new user.
Browser Caching
⦁ Browser caching works best with repeat visitors.
⦁ We’re telling the user’s browser to hang on to files such as images for a set period of time instead of downloading them again.
⦁ Browser caching is done in your .htaccess file
⦁ Expires can also be set in the header
Inside the .htaccess file
Server Caching
⦁ Caching saves pages that have been accessed so they can be served to another visitor without rendering them again
⦁ There are many caching plugins out there but for typically ⦁ shared host environments we
recommend and use WP-Super-Cache
⦁ When properly set up the performance is increase is phenomenal
Setting Up WordPress Super Cache
⦁ Use mod_rewrite to serve cache files.
⦁ Compression allows you to send a zipped file to the user’s browser rather than individual page parts
⦁ Preload allows you to cache your pages in advance of anybody visiting them
– 2 ways to do this – Do it in bulk or just set it to preload mode – we just set it to preload (less server load)
– Remove bots from the set of excluded user agents
– set your Expiration – Default is 3600 – we use 172800 (2 days)
Why An Object Cache?
⦁ Cache Widgets independent of the main cache
⦁ Allows for more dynamic content while reducing server load
Object Cache To The Rescue
⦁ Plugins and widget output typically ISN’T
CACHED
⦁ They run EVERY TIME a page is loaded
Now That You Have a Cache
Minify
– WP Minify grabs JS/CSS files in your generated WordPress page and passes that list to the Minify engine. The Minify engine then returns a consolidated, minified, and compressed script or style for WP Minify to reference in the WordPress header.
– In plain English – strips out all the white space, comments, and bloat from your CSS and JS files allowing them to be sent to the user quicker
Pipelining with Multiple Hosting
⦁ The Poor Mans CDN
⦁ Split Components Across Domains to reduce DNS lookups
www.yoursite.com/images/a.png —>
www.yoursite.com/images/b.png —>
www.yoursite.com
assets1.example.com/a.png
assets2.example.com/b.png
Final Tips
⦁ Beware the DNS lookup penalty
⦁ Use a maximum of 4 domains/subdomains (2 recommend)
⦁ Remove revisions
⦁ Optimize database
⦁ Permalink structure
⦁ No http://yoursite.com/%postname%/
⦁ Yes http://yoursite.com/%post_id%
⦁ Backup everything
⦁ Pay For A CDN
⦁ WordPress Codex is your friend.