-
AuthorPosts
-
February 15, 2014 at 7:31 am #1056
WordPress is extremely dynamic and versetile, which is why Symbiostock was built on top of it.
Wordpress’s versatility comes at the cost of server resources however. WordPress’s popularity also has another cost: WordPress is loved by search engine spiders, and spammers! Both create a heavier demand on a site than a typical human browsing around.
The first problem (search engine spidering) is great to have. The second problem can become a plague and can make a webmaster miserable.
When dealing with this issue of how to speed up your website, a webmaster must make some balanced and intelligent decisions.
The Considerations
The issue of load balancing and dealing with these common issues are important, because they directly effect your paying audience, as well as SEO and search ranking.
The Balance
While we’d love to have every page load lightning fast, the truth is a large amount of processing is needed before the final output of a page. And while we’d love to block out resource hogs (spammers and non-human visitors) this has to be handled properly as well so as not to get in the way of your paying audience and the valuable search engines which bring the paying audience to you.
The ideal:
Pages load instantly! Spammers are blocked out! Customers and Google love me!
The reality:
Certain pages must load dynamically (via programs and resources they depend on) and spam filters can block customers (and payments!) as well.
Caching and Spam Filters: Your New Skill!
We are going to talk about caching and spam filters in one article because they are both matters of resource use and customer experience. When you see your pages load lightning fast, your going to feel refreshed for sure! When you see spammers lose interest in your site, you will have a huge advantage in overall performance as well. The end result: Your website has gone from being stuck in the mud to flying freely with brand new wings.
+ —- + —- + —- + —- +
CACHING – TUTORIAL
If a page does not change, why go through the millions of calculations over and over again to produce the same result? Its far better to produce it once and save it, then afterward deliver the static (unchanging) file on demand with every visit. Its actually redundant and uncessary to programatically rebuild a page with every visit. As mentioned in our introduction, though, there are advantages and disadvantages in caching.
ADVANGAGES
1 Faster Page Load
2 Happier Customers (customers stay on your site)
3 Better Google Rank ( moz.com/blog/how-website-speed-actually-impacts-search-ranking ) (ei, more customers)
DISADVANGES
1 Changes in site design do not reflect immediately.
2 Customers may not see events that reflect their activity (carts, available downloads) and thus become irritated and leave.
3 HUGE sites with lots of pages (in our case, images) must generate that cache, which takes time.
4 Requires careful attention in setup to be effective.
5 Can give other unexpected results which are easy to forget in troubleshooting a given problem.
6 A FULLY cached site (keyword pages, categories, images, pages) can be easily over 1000 megabytes!
7 Widgets (such as related images) may not always be current, but reflect a past snapshot based on the cached file.
The top three advantages far outweight the six named disadvantages.
SETTING UP CACHING
Installing
It is suggested you use ]WP Super Cache ( http://wordpress.org/plugins/wp-super-cache/ )
In your WordPress admin panel:
Select to PLUGINS -> ADD NEW.
Search: wp super cache
Click “Install now”. (WP Super Cache should appear first above all other results)
Settings
Once installed, WP Super Cache’s main panel can be found here:
SETTINGS -> WP Super Cache (Should be at bottom of list)
Now, here is the fun part! All those complicated decisions… Good new though! The best decisions have been made ahead of time for you. 😉
You have the options: Easy | Advanced CDN | Contents | Preload | Plugins Debug
Please follow these directions. To make things easier, we give screenshots followed by explanation.
TAB: EASY — Settings
[attachment=7:3d39dlt8]EASY1.png[/attachment:3d39dlt8]
Explanation: We turn it on! Isn’t that easy!
TAB: Advanced
Its “Advanced” … but not that advanced.
Screenshot 1:
[attachment=6:3d39dlt8]ADVANCED1.png[/attachment:3d39dlt8]
Choose:
[x] Cache hits to this website for quick access. (Recommended)
[x] Use mod_rewrite to serve cache files. (Recommended)
What is this doing? Simply using recognition patterns to reference the location of the stored pages. Mod-rewrite references an “.htaccess” file used by apache (your server’s main serving engine). If you were to choose PHP, your asking it to use a more programmatic approach to finding the stored file (slower).
Screenshot 2
[attachment=5:3d39dlt8]ADVANCED2.png[/attachment:3d39dlt8]
Choose:
[x] Compress pages so they’re served more quickly to visitors. (Recommended)
[x] Cache rebuild. Serve a supercache file to anonymous users while a new file is being generated. (Recommended)Screenshot 3
[attachment=4:3d39dlt8]ADVANCED3.png[/attachment:3d39dlt8]
Choose:
UPDATE STATUS (Don’t forget this!)
If you wish, you can also push “View Mod_Rewrite Rules” but this would be more relevant to a developer.
Screenshot 4
[attachment=3:3d39dlt8]ADVANCED4.png[/attachment:3d39dlt8]
Commit the mod-rewrite rules. Do not skip this!
Screenshot 5
[attachment=2:3d39dlt8]ADVANCED5.png[/attachment:3d39dlt8]
Expiry Time & Garbage Collection
This is a subtle dropdown menu by default — click on it if it does not show options.
Set:
Cache Timeout: 604800 (1 week)
Scheduler: Once Daily.Very important: Make your expiration at least a week ( 604800 seconds ).
Why?
By default is set to a very small expiration time, which means many of your customers will see a non-cached page on first-visit. Set it to at least a week, and thus first-time viewers do not have to wait for a first-time page load caching process.
Here we are making a logical decision:
Yes, we want our pages to reflect the current changes on the site (for instance, your “related images” being current to your latest uploads) but that is hardly as important as your viewer’s experience. So yes, your widgets might not be perfectly up to date, but the far more important priority is being addressed – that is, giving the user a fast-loading page so they do not lose interest, and they experience a seemless browsing experience.
Screenshot 6
[attachment=1:3d39dlt8]ADVANCED6.png[/attachment:3d39dlt8]
Commit the changes you just made ( don’t forget! 🙂 )
Screenshot 7
[attachment=0:3d39dlt8]ADVANCED7.png[/attachment:3d39dlt8]
This is also quite important. If you cache the customer page, they may not see what they currently have in their cart. Or even more confusing, they might see someone else’s cart!
To put it simply, above the first text-box you see this statement:
“Add here strings (not a filename) that forces a page not to be cached. For example, if your URLs include year and you dont want to cache last year posts, it’s enough to specify the year, i.e. ’/2004/’. WP-Cache will search if that string is part of the URI and if so, it will not cache that page.”
Simply put all the pages that must not be cached in this box. Perhaps you have other pages other than the customer page that you do not want to cache. Be sure to include these.
Now simply push:
“Save Strings”
TAB: Preload
[x] Preload mode (garbage collection only on legacy cache files. Recommended.)
[ ] Preload tags, categories and other taxonomies.
[x] Send me status emails when files are refreshed.1 – [x] Update Settings
2 – [x] Preload Cache NowBy preloading the cache, you are simply having the pages ready ahead of time, so that customers can see the pages instantaneously. Without triggering this process, your cache depends on visits to create a cached file (which does not please the first visitor, be it human or google spider)
TAB: Plugins
Bad Behavior
[x]Enabled []Disabled(Amazingly, these two plugins work together! See how important they are?)
You will also find options for other plugins that may or may not be relevant to you. I’ve skipped them since its not essential to this tutorial.
SUMMARY:
Being a webmaster can be a lot of fun. Pay attention to your rankings after you’ve accomplished this very significant detail. You will find your analytics improve greatly.
On a personal note, I had neglected my site a lot while creating Symbiostock. I didn’t pay attention to caching, and things suffered. Recently I had fixed my caching and spam control, and I see daily sales again. My traffic and rankings have improved as well.
While I can’t imply you’d see exactly the same results as I did (my site is years old) you may have a proportionally similar example relative to how well your portfolio usually does, your site’s age, etc.
SPAM CONTROL – INTRODUCTION
Spammers are busy people. They are also very smart, and use smart software. You’d be amazed at the culture behind the spam business – its full of low-end idiots who waste their time on rediculous and outdated SEO tactics, and some very successful “black hat” spammers who hijack computers and servers to do their bidding for them, and make quite a bit of money. They sell anything from their own website “services” to knock-off products, to drugs and p*rn*graphy.
In both cases, spammers are very aggressive and threaten your site in these ways:
1. They are leaching bandwidth.
We are living in priveleged times when bandwidth is not so expensive. Still, we should not take it for granted. There’s no such thing as a free lunch. Don’t give away your bandwidth to spammers, scrapers, and other malicious users.
2. They are exploiting your site, and by extension your users.
Comment spam as innocent as “Wow, great blog post!” will have a backlink hidden in your new commenter’s profile in many cases, sometimes leading to a site which will not help your own rankings (if your affiliated with a spammer site, you inherit some bad SEO karma!)
3. They are testing and possibly exploiting site weaknesses.
Wordpress sites, though reasonably secure, can often have weaknesses based on the webmaster’s indescretions (an obvious one being overly simplistic passwords such as “12345” ( http://www.youtube.com/watch?v=a6iW-8xPw3k ) [I’m sad for you if you cannot view the previous link] ).
If your site gets compromosed then you may be unknowingly sending emails to your users, hosting get-rich-quick adds, and quite a few other things.
In a nutshell, having a fairly bulletproof site will not only stop spammers in action, but you will eventually be dropped from the lists their software keeps. Like you, they don’t want to waste time or energy (bandwidth, go figure) so having a well established spam control system is going to help you also stop getting the negative attention.
The good news:
The good news is that times are catching up on spammers. It only takes a few spammy acts to get listed on world-wide registries, and be locked out of any other sites by default. This forum you are reading is (at this time) completely spam free because it checks several spam registries before allowing users an “in” to post.
SPAM CONTROL – TUTORIAL
You must know how to install plugins by now, so if you haven’t done so, please install these plugins and get them activated:
1 Akismet ( http://akismet.com/ )
2 Bad Behavior ( http://wordpress.org/plugins/bad-behavior/ )
3 Sweet Captcha ( http://sweetcaptcha.com/ )
Between these three anti-spam programs, your armed to the teeth already.
Simply activate Akismet and Sweet Captcha. Register the API keys where needed. (Ask for help in the http://www.symbiostock.org forums if this is new / confusing for you)
Bad Behavior
Good news. This is far easier than setting up WP Super Cache
Simply follow:
Plugins -> Add New and search “Bad Behavior“. Install.
Now, go to:
Settings -> Bad Behavior.
Most of the default settings on this page are fine as-is. But ensure your API key is set up:
http://www.projecthoneypot.org/httpbl_configure.php?rf=24694
After obtaining your API key, input it it in the box labeled “http:BL Access Key”.
That was easy! Now your locked down! But, actually, your locked down a little too much. Now paypal will get it’s hand slapped for trying to complete a transaction for you! Thus…
Go to:
Settings -> Bad Behavior Whitelist (very important).Your going to see three boxes. Input this text into all three of them:
https://www.paypal.com/
ipn.sandbox.paypal.com
notify.paypal.com
66.211.170.66
NOTE: Its been discovered that this might not be sufficient for everyone in every location. So here is a complete list of Paypal IP addresses for whitelisting:
IP addresses for PayPal servers
https://ppmts.custhelp.com/app/answers/detail/a_id/92Without whitelisting paypal, you’ll possibly find your transactions never complete properly, and you will have to deliver downloads to your users manually.
Keep the badguys out, but do not block the good guys.
SUMMARY
Why did we wait a year for addressing these two big plugins? Because as much good as they can do, they can also cause much frustration. As you can see, they require some specific set-up which, when not done properly, can hinder positive aspects of a Symbiostock-run site. So please enjoy the wonderful benefits of a properly set up caching and spam-control system. You will find it gives your site wings, and it will improve everything from performance, to SEO, to sales!
Please post questions below.
March 18, 2014 at 4:16 pm #9685I’ve followed all the caching steps above, and have no issues in the normal performance of my site (1-2 second load times). When I am adding new images (editing the draft prior to publication) the site starts to run really slow on both the admin and production side. I get “Lost connection to the site” warnings in the draft images I am editing. My Pingdom site checker sometimes sees the site as down (ie more than 30 second response time).
Is this related to the caching – ie when a new image is published, does the caching software start to create a new cache, and if I add several new images, does that take all available processing power? Should caching be turned off during a big image upload session, and if so, is there an easy “on/off” setting I should use that doesn’t lose my settings?
Steve
-
AuthorPosts
You must be logged in to reply to this topic.