Loading
- How to setup WordPress CDN with W3 Total Cache and MaxCDN
- How to create CDN for WordPress with MaxCDN
- A blog between something and everything
- The Fuzzy Logic of the WordPress (.com) Terms of Service
- Why Some People Never Make Money Online
- Disqus LOOPHOLE for SPAM Comments in WordPress
- WordPress htaccess: The Definite Guide
- W3 Total Cache -Plugin: The Complete Settings Guide
Set WordPress to use CDN with just couple of clicks. No uploading files, no complicated settings. Just W3 Total Cache and MaxCDN. Cake is harder than this.
Setting up a Content Delivery Network (CDN) for a website can be complicated. You might need to upload files to the CDN storage, update all links to point to the CDN, and time-consuming operations. Even with plugins or addons, all that easily takes at least 30 minutes.
ILL SHOW YOU HOW SETUP WORDPRESS CDN IN A MINUTE OR LESS.
You do need to first setup W3 Total Cache and create CDN for WordPress with MaxCDN, as instructed in the previous post. Even with all that, it wont take you too long, and more importantly, itll be very easy. And you only have to do this once.
W3 Total Cache and MaxCDN take care of everything, you dont need to manually change the image or file URLs. You dont need to upload anything to CDN or anything. Just enable CDN in W3TC with MaxCDN. Its so simple that its pretty damn close to magic if you ask me.
THE CDN INFORMATION W3 TOTAL CACHE NEEDS
Before you can configure W3 Total Cache to use CDN, you must have the account details from MaxCDN. (See the previous post)
From MaxCDN, you need
* the CUSTOM CDN URL, which required you to create a new CNAME record, and
* the MAXCDN API ID and API KEY.
The Custom CDN URL is something like: "cdn.example.com" (without the quotes), depending on how you configured your Pull Zone at MaxCDN. The API ID is numeric ID, e.g. 1234. And the API Key is a string of various characters.
On the previous post, we set up the MaxCDN account and the pull zone for our WordPress blog. We got the API ID/Key and created CNAME record for the CDN. If you followed the instructions on that post, you should now have what you need.
Got the API ID/Key and the custom CDN URL?
OK, heres how to set W3 Total Cache and your WordPress blog to use MaxCDN...
SETTING UP MAXCDN TO W3 TOTAL CACHE
1. Go to W3 Total Cache settings on your admin area (Click Performance on the left)
2. On the General Settings -page, scroll down to Content Delivery Network settings
3. Check the checkbox to Enable CDN
4. Choose (Origin Pull) "Mirror: NetDNA / MaxCDN"
5. Click Save changes
Youll very likely see a warning on red: "Content Delivery Network Error: The "Replace default hostname with" field must be populated."
To fix, and get things running...
1. Go to the Content Delivery Network (CDN) Settings
All checkboxes on CDN Settings - General can be checked...
2. Enter the API ID and API Key you saved from MaxCDN to Configuration...
Leave SSL Support as Auto, unless you know better.
3. Enter the new custom CDN URL you updated on the CNAME records, e.g. http://cdn.zemalf.com, into the "Replace sites hostname with:"
4. Click Test NetDNA
If you see "Test passed", all is cool.
(if not, theres probably something wrong with the API ID/Key, or the DNS server has not been updated with the new CNAME yet)
5. Click Save changes to put MaxCDN into action.
And then, one last thing...
* Go to the General Settings -page and
* click on empty all caches
Now if you open your blog, and check the Page Source, youll see that the minified JS- and CSS-files are served from the custom CDN URL, and also images and files from your Media Library.
If there are files that are not in the Media Library, or among your theme-files, you should add them to the Custom file list under Advanced settings. These might include JavaScript-files from plugins you didnt add to Minify Settings, or images/files uploaded outside the Media Library.
ALL DONE. TEST TO SEE THE RESULTS
Go to Pingdom Tools or WebPageTest.org to see how fast the different pages on your blog are loading.
You can also analyze your blog with Firebug / Page Speed / YSlow if you want, but note that they dont necessary recognize your custom CDN URL unless you tellem. Of course, you will see the benefit in speed, even that the "CDN rating" in YSlow is F for example.
It is also possible that loading speed on individual tests go up. For me, because the site was stupidly fast to start with: full load time went up, but response time for the first byte, the render start and document completely loaded got faster. So getting everything loaded takes (just) a bit longer, but the visitor sees (something from the) page faster, so its better overall.
However, CDN will even the load on traffic spikes and keep the site fast for everyone, which might not be the case when you dont have the CDN. Also, using CDN will even the loading speeds for visitors from different locations.
SUMMARY
* Get your MaxCDN API ID, API Key and custom URL for the CDN (see previous post)
* Enable CDN in W3 Total Cache: (Origin Pull) "Mirror: NetDNA / MaxCDN"
* Enter API ID and API Key you saved from MaxCDN to W3TC CDN Settings
* Enter the custom CDN URL to W3TC CDN Settings
* Test
-------------------------
Original post from Zemalfs Website optimization blog:
How to setup WordPress CDN with W3 Total Cache and MaxCDN
5. Click Save changes
Youll very likely see a warning on red: "Content Delivery Network Error: The "Replace default hostname with" field must be populated."
To fix, and get things running...
1. Go to the Content Delivery Network (CDN) Settings
All checkboxes on CDN Settings - General can be checked...
2. Enter the API ID and API Key you saved from MaxCDN to Configuration...
Leave SSL Support as Auto, unless you know better.
3. Enter the new custom CDN URL you updated on the CNAME records, e.g. http://cdn.zemalf.com, into the "Replace sites hostname with:"
4. Click Test NetDNA
If you see "Test passed", all is cool.
(if not, theres probably something wrong with the API ID/Key, or the DNS server has not been updated with the new CNAME yet)
5. Click Save changes to put MaxCDN into action.
And then, one last thing...
* Go to the General Settings -page and
* click on empty all caches
Now if you open your blog, and check the Page Source, youll see that the minified JS- and CSS-files are served from the custom CDN URL, and also images and files from your Media Library.
If there are files that are not in the Media Library, or among your theme-files, you should add them to the Custom file list under Advanced settings. These might include JavaScript-files from plugins you didnt add to Minify Settings, or images/files uploaded outside the Media Library.
ALL DONE. TEST TO SEE THE RESULTS
Go to Pingdom Tools or WebPageTest.org to see how fast the different pages on your blog are loading.
You can also analyze your blog with Firebug / Page Speed / YSlow if you want, but note that they dont necessary recognize your custom CDN URL unless you tellem. Of course, you will see the benefit in speed, even that the "CDN rating" in YSlow is F for example.
It is also possible that loading speed on individual tests go up. For me, because the site was stupidly fast to start with: full load time went up, but response time for the first byte, the render start and document completely loaded got faster. So getting everything loaded takes (just) a bit longer, but the visitor sees (something from the) page faster, so its better overall.
However, CDN will even the load on traffic spikes and keep the site fast for everyone, which might not be the case when you dont have the CDN. Also, using CDN will even the loading speeds for visitors from different locations.
SUMMARY
* Get your MaxCDN API ID, API Key and custom URL for the CDN (see previous post)
* Enable CDN in W3 Total Cache: (Origin Pull) "Mirror: NetDNA / MaxCDN"
* Enter API ID and API Key you saved from MaxCDN to W3TC CDN Settings
* Enter the custom CDN URL to W3TC CDN Settings
* Test
-------------------------
Original post from Zemalfs Website optimization blog:
How to setup WordPress CDN with W3 Total Cache and MaxCDN Heres more posts like to this:
* How to create CDN for WordPress with MaxCDN
* W3 Total Cache -Plugin: The Complete Settings Guide
* The 6 most essential WordPress plugins
Learn how you can easily setup content delivery network with MaxCDN to get a faster loading site with a scalability that youll need as your traffic grows.
In this post, Ill show how to setup CDN for WordPress with a MaxCDN. In more detail, youll learn how to create a "content delivery pull zone" for your blog inside MaxCDN and how to setup a CNAME for that CDN (Content Delivery Network).
After these step, the next post continue by going through the steps needed to put W3 Total Cache and MaxCDN work together.
This post will do also if youre setting the CDN for Joomla or Drupal. If thats the case, follow along setting up the MaxCDN side of things, and look into the instructions on MaxCDN site for your platform.
MAXCDN
This post got started when a fellow from MaxCDN contacted me a while back, probably because of my speed related posts and guides, and asked if Id want to join their affiliate program. They offered me an account to test when I asked, so I took the offer and have used MaxCDN here at the blog for several months after that.
There hasnt been any issues with it, the CDN has worked extremely well and it made this blog even faster than it was (and I believe the effect would be even bigger with not-so-minimalistic design). This isnt a review, but I can say that IM MORE THAN HAPPY WITH HOW EASY MAXCDN WAS TO SETUP AND HOW WELL IT HAS WORKED FOR ME. With that, Im confident to write a little guide about it.
MaxCDN is not free, but its very reasonable priced and comes with 30-day money back guarantee in case youd just want to test it. Plus the first 1TB that you get for a flat free will last a good while. MAXCDN HAS WORKED VERY WELL FOR ME AND THE SETUP IS AS EASY AS IT CAN GET (NO NEED TO MOVE OR UPLOAD STUFF ANYWHERE), so Im proud to recommend them with my affiliate link.
But now, dont worry if all that CDN and CNAME jargon at the beginning sounded scary, its quite simple in the end, especially with these step by step instructions...
1. GET A MAXCDN ACCOUNT
This step is quite simple.
* Go to maxcdn.com,
* click on "Sign Up Now" and youll be taken to the order form
* Create a new account.
Go to your email, find the maxcdn account verification email and click the link on the email
2. CREATE A NEW CDN ZONE FOR YOUR BLOG
After your account is verified, login to the CDN control panel with your new account
Click Manage Zones from the top-menu
(This is the area you create "zones" for your files)
Click "Create Pull Zone"
* Add Pull Zone Name (e.g. _blog_, this will be part of the long URL provided by MaxCDN)
* Add your blog URL as the Origin Server URL (where you normally access your site = URL as seen in browser window, e.g. _http://example.com_ or _http://www.example.com_)
* Use the final destination URL, e.g. if you redirect www.example.com to example.com, use example.com and vice versa
* Add custom CDN domain (e.g. _cdn.example.com_, a sub-domain that will "mask" the temporary MaxCDN URL)
* Note that you need to create a CNAME record for this custom CDN domain, and Ill show you how in this article
* The custom CDN domain is like a subdomain of the main domain, but instead of hosting the sub-domain on your server, the sub-domain will be the URL for MaxCDN via CNAME record.
* The prefix can be anything, but for clarity, you probably want to include the "cdn" in it, e.g. my blog is zemalf.com, so I made my custom CDN domain cdn.zemalf.com. If your blog is example.com, you can make the CDN domain cdn.example.com and so on.
* Add a label for the zone (e.g. blogs name, this is shown on the MaxCDN dashboard)
* Enable compression by checking the checkbox (like on a site, gzip compression is a good thing for speed)
* Click Create
After MaxCDN creates the zone, youll see a notification like this:
* log in to your account at panel.dreamhost.com
* click Manage Domains
* click DNS under your blogs URL
* Find Add a custom DNS record to...
* Add "cdn" as Name (or any other prefix you set for the custom CDN domain at MaxCDN
* Choose CNAME for the Type
* Add the long domain name you got from MaxCDN to Value
* Add (optional) comment (I added "maxcdn")
After creating the CNAME record, you can wait for a day to ensure all DNS servers are updated with the new CNAME before you start using the custom CDN URL, e.g. set up W3 Total Cache to use MaxCDN.
Check that the CNAME record works before configuring your blog / website.
* If the CNAME record creation went OK, the Custom CDN URL (e.g. cdn.example.com) now "points" to your blog.
* You can test if the custom CDN URL opens your blogs front page. If it does, then its all good.
* To double check, run the URL through WebPageTest.org or some other service that accesses the URL from otherside of the world.
5. START USING YOUR NEW CONTENT DELIVERY NETWORK
When the custom CDN URL works, you can access all files in your site via that URL and it will be delivered through the MaxCDN content delivery network.
For example, if you normally open an image from example.com/images/example.jpg, that same image now opens with cdn.example.com/images/example.jpg as well, and its loaded from content delivery network.
As there is no "special setup", MaxCDN can be used on any website, replacing the normal URL with the Custom CDN URL, leaving the "path" as it was.
In theory, you could go, search & replace the URLs of all static file (e.g. images, CSS- and JavaScript -files, etc.) with the new CDN URL by hand and itd work just fine. But theres no reason to do that by hand, when you can do it without any of that trouble even when files change.
There are plugins and addons for the most popular platforms, like Joomla, Drupal, vBulletin and Magento. For WordPress, the easiest way to start using MaxCDN is to use W3 Total Cache -plugin, as after setting it up with MaxCDN, itll get your blogs files served via CDN automatically after you set it up once.
The next post has the instructions for the W3 Total Cache and MaxCDN setup. If you dont have W3TC installed yet, start with my W3 Total Cache guide.
SUMMARY
* Sign up for a MaxCDN account
* Create a pull zone for your blog at MaxCDN
* Get your MaxCDN API Key
* Create a CNAME record for the custom MaxCDN URL
* Start using your New CDN for WordPress (or any other site/platform you have)
-------------------------
Original post from Zemalfs Website optimization blog:
How to create CDN for WordPress with MaxCDN
Click "Create Pull Zone"
* Add Pull Zone Name (e.g. _blog_, this will be part of the long URL provided by MaxCDN)
* Add your blog URL as the Origin Server URL (where you normally access your site = URL as seen in browser window, e.g. _http://example.com_ or _http://www.example.com_)
* Use the final destination URL, e.g. if you redirect www.example.com to example.com, use example.com and vice versa
* Add custom CDN domain (e.g. _cdn.example.com_, a sub-domain that will "mask" the temporary MaxCDN URL)
* Note that you need to create a CNAME record for this custom CDN domain, and Ill show you how in this article
* The custom CDN domain is like a subdomain of the main domain, but instead of hosting the sub-domain on your server, the sub-domain will be the URL for MaxCDN via CNAME record.
* The prefix can be anything, but for clarity, you probably want to include the "cdn" in it, e.g. my blog is zemalf.com, so I made my custom CDN domain cdn.zemalf.com. If your blog is example.com, you can make the CDN domain cdn.example.com and so on.
* Add a label for the zone (e.g. blogs name, this is shown on the MaxCDN dashboard)
* Enable compression by checking the checkbox (like on a site, gzip compression is a good thing for speed)
* Click Create
After MaxCDN creates the zone, youll see a notification like this: Pull Zone has been successfully created. Please create a CNAME record for cdn.example.com to blog.example.netdna-cdn.com"SAVE THE CUSTOM DOMAIN URL AND THE TEMPORARY MAXCDN URL FOR REFERENCE, as well needem soon, e.g. copy-paste the notification with the "Please create a CNAME record..." to a text editor. In the text file, you should have: * Custom CDN URL, e.g. cdn.example.com * The long MaxCDN URL, e.g. blog.example.netdna-cdn.com 3. GET THE MAXCDN API KEY To set up a content delivery network for your blog, we started by creating an account at MaxCDN and proceeded to create a new Pull Zone in MaxCDN. Next, we need to generate a MaxCDN API ID and Key the W3 Total Cache will use... * Go to MaxCDN and login * Click Manage Account * Click API * Click + Add Key (button on the right) * Enter Description (e.g. "API for W3 Total Cache on example.com") * Select Individual Zones * Select the Pull Zone you just created. * Click Save You could use the same API for all your sites, and choose Master, but this is the more secure way to do this, and the individual API ID/Key will not be not overused. Click the API again, and youll see your newly created API Key there. COPY-PASTE THE API ID AND THE API KEY TO A TEXT-FILE. Keep your MaxCDN API ID and API Key safe, no stranger needs to see those. So you and those configuring your websites for you only. You can always find them from MaxCDN dashboard, but since well be putting them into use, its handy to haveem in a text file. You should now have these saved: * Custom CDN URL you setup, e.g. cdn.example.com * The MaxCDN URL, e.g. blog.example.netdna-cdn.com * API ID (4-5 digit number) * API Key for the ID (long string of characters) Next step is creating the CNAME record for the custom CDN URL. To do this, jump into your hosting control panel, and create the CNAME record to the MaxCDN URL. Thats the one you saved from the MaxCDN message: xxx.yyy.netdna-cdn.com, e.g. "blog.example.netdna-cdn.com". After creating the CNAME record, using the custom CDN URL (cdn.example.com) will be "the same" as using the long MaxCDN URL (blog.example.netdna-cdn.com), which again, serves the content of the origin URL you created the Pull Zone for (e.g. example.com) via MaxCDN content delivery network. 4. CREATE A CNAME RECORD FOR THE CUSTOM CDN URL TO THE LONG MAXCDN Before you start using the newly created content delivery network, you need to create a CNAME record for the custom CDN URL to the MaxCDN URL. The CNAME record is done to the main domain. CNAME record, or the "Name", will be the prefix of your custom CDN URL. For example, if the CDN URL is cdn.example.com, CNAME record "Name" is "cdn" (without the quotes). The "CNAME" in the CNAME record is the long MaxCDN URL, e.g. blog.example.netdna-cdn.com. How you create the CNAME record depends a bit on your hosting provider / domain registrar. Usually CNAME is created on your hosting control panel, where you can manage your domains. I added instructions below on how to do it with cPanel (e.g. Host Gator and Bluehost) and how to create CNAME record on DreamHost control panel. If your (uncommonly) using name servers other than your hosting provider, its possible that you can/must manage CNAMES on your domain registrar. If thats the case, define the CNAME record there. On hosts with cPanel, like Host Gator or Bluehost: * find the Domains section, and * click Simple DNS Zone Editor, * Find the Add an CNAME Record, * Enter Name = cdn, * Enter CNAME = the URL you got from MaxCDN, and finally * click Add CNAME Record after filling the values. To update DNS record on DreamHost...
* log in to your account at panel.dreamhost.com
* click Manage Domains
* click DNS under your blogs URL
* Find Add a custom DNS record to...
* Add "cdn" as Name (or any other prefix you set for the custom CDN domain at MaxCDN
* Choose CNAME for the Type
* Add the long domain name you got from MaxCDN to Value
* Add (optional) comment (I added "maxcdn")
After creating the CNAME record, you can wait for a day to ensure all DNS servers are updated with the new CNAME before you start using the custom CDN URL, e.g. set up W3 Total Cache to use MaxCDN.
Check that the CNAME record works before configuring your blog / website.
* If the CNAME record creation went OK, the Custom CDN URL (e.g. cdn.example.com) now "points" to your blog.
* You can test if the custom CDN URL opens your blogs front page. If it does, then its all good.
* To double check, run the URL through WebPageTest.org or some other service that accesses the URL from otherside of the world.
5. START USING YOUR NEW CONTENT DELIVERY NETWORK
When the custom CDN URL works, you can access all files in your site via that URL and it will be delivered through the MaxCDN content delivery network.
For example, if you normally open an image from example.com/images/example.jpg, that same image now opens with cdn.example.com/images/example.jpg as well, and its loaded from content delivery network.
As there is no "special setup", MaxCDN can be used on any website, replacing the normal URL with the Custom CDN URL, leaving the "path" as it was.
In theory, you could go, search & replace the URLs of all static file (e.g. images, CSS- and JavaScript -files, etc.) with the new CDN URL by hand and itd work just fine. But theres no reason to do that by hand, when you can do it without any of that trouble even when files change.
There are plugins and addons for the most popular platforms, like Joomla, Drupal, vBulletin and Magento. For WordPress, the easiest way to start using MaxCDN is to use W3 Total Cache -plugin, as after setting it up with MaxCDN, itll get your blogs files served via CDN automatically after you set it up once.
The next post has the instructions for the W3 Total Cache and MaxCDN setup. If you dont have W3TC installed yet, start with my W3 Total Cache guide.
SUMMARY
* Sign up for a MaxCDN account
* Create a pull zone for your blog at MaxCDN
* Get your MaxCDN API Key
* Create a CNAME record for the custom MaxCDN URL
* Start using your New CDN for WordPress (or any other site/platform you have)
-------------------------
Original post from Zemalfs Website optimization blog:
How to create CDN for WordPress with MaxCDN Heres more posts like to this:
* How to setup WordPress CDN with W3 Total Cache and MaxCDN
* WordPress Settings for Every Blog
* WordPress Speed: How fast is your blog?
What if I told you that this blog is not just about Internet marketing, WordPress or SEO? Yes, there is a lot here. Is there a method behind the madness?
After my post about never making money online, I got a couple of unsubscribes (email subscribers). Thats OK and normal, people unsubscribe, but because it was timely with the post, Im guessing the topic had something to do with this...
I started wondering if all the awesome readers and subscribers of this blog really know what I do and what Im about? Some have read my About-page, but not nearly everyone. And to be honest, I dont want to scare people on the About-page with all the things I do and write about, just the highlights...
As I have variety of topics covered here (yeah, yeah, you should niche down and focus), one might think Im a one-trick-pony, depending on what page they originally landed on, read and decided to subscribe and continue reading...
If one came here because they read my W3 Total Cache -guide and read my posts on how to speed up WordPress, theyd know that I know
* WordPress
* Website optimization
But would they know Im into affiliate marketing and earning money through the Internet? Would they know Im interested in personal development, getting things done, and have written post or two about personal productivity.
Would they know that I love efficient tools and ways of working like using a blog post buffer, and have shared tips on how to use Google Reader like a pro? They probably wouldnt, unless theyd read my top posts page or browsed through my blog archives.
Thats the problem with being jack of all trades, a generalist.
If one would land on my blog and first read the perfect permalink structure study or the WordPress permalinks guide, theyd know Im deep into WordPress and the tech behind it all, and also that I do in-depth research for the stuff I write and dont take the easy to road to find the right answers.
On the other hand, coming in through the guide on how to connect your social media profiles or the top 7 must-use social networking sites, one might think Im just one of the "social media coaches" you see around.
If they left right away, they wouldnt see my Beyond Blogging book review or my take on the 31 Days to Build a Better Blog workbook, which both reveal that I dont half-ass anything here, including the reviews (which are microformatted with hReview mind you, something I definitely should write about).
If one landed on my posts about blog SEO, keyword research or how to get indexed in Google in 6 hours or less, theyd also know Im interested and know a lot about
* search engine optimization
* blogging, and little
* WordPress mixed in.
But they wouldnt necessarily know that I like optimizing images and htaccess rules to make websites faster? Or that Im a big fan the ultra-optimized Google Analytics async tracking code?
If the first post one would read here was little advice on getting nowhere or do less, well theyd know I can be pretty damn lazy blogger at times and that Im not afraid to admit that I have failed or made mistakes. Or that Im occasionally tired of the games we play and stupid **** we do just because everyone else is.
Those whove read the last post on why some people never make money online, might not know that its really about making time, not money for me and that Im not looking to get rich (quick or not), but rich enough.
And with all that marketing talk, it might not be apparent to an occasional reader that I dont just know WordPress, but PHP as well, and have posted neat tricks like how to show RSS subscriber or Twitter follower counts as plain text.
If someone read my comments on some other blog and ended here as a result, theyd know I that like blog commenting, but would they know that they were exposed to the advanced blog commenting tricks Ive used to drive traffic and links to my blog?
Those whove read this blog from the start, or know my story before I started this blog, would also know that Im into gaming, XBox 360, World of Warcraft, EVE Online and stuff, although all my gaming posts have since been moved from this blog to my gaming blog (to reduce the variety of topics even a little).
* I dont expect people to go through my whole blog and all the links in this post, but I wanted to share you a bit about what I write here on the blog, since its a lot.
* I write about things Im interested in and things I do. Theyre all somewhat related to blogging, Internet marketing and using different methods to do online business and make money.
* I dont limit myself to any one tool, system or tactic, even that I do specialize in WordPress, SEO and website optimization in general (thats a wider topic than just speed btw).
So dont expect me to write just about WordPress, just about SEO or focus only on making faster websites. Dont expect me to write only about making money or marketing. Thats just not who I am. I like to study and learn a wide variety of topics, and share those experiences with you. Theres so many things I want and can do that being a generalist is the my way.
I write about and help people with wide variety of things related, but not limited to Internet marketing, WordPress and SEO. I wrote this post to shed a light on the broad spectrum of topics Im interested about.
If all that is cool with you, you subscribe and read this blog. If not, wander away, and I welcome you back the day when something Ive written is useful and helpful to you.
In addition to reading this blog, you can connect with me via my Facebook page, follow me via Twitter and check out my YouTube channel.
-------------------------
Original post from Zemalfs Website optimization blog:
A blog between something and everything
Liked this post? You can find more great posts from the blog archive.
In this post I will prove to you that almost every WordPress.com should be suspended as a violation of the Terms of Service of the site. Proceed with caution
Warning: Theres a healthy dose of irony (and little bit of sarcasm) in this post.
Did you read the line above this?
And the one two lines above this?
Good - This post is about WordPress.com and its Terms of Service, and me wondering how any blog can comply with the TOS :)
OK, now - smile, laugh a bit... And read on.
FACT: WORDPRESS.COM DOES NOT LIKE COMMERCIAL SITES AND/OR RANDOM ****
Take a look at the quote below, from the WordPress.com Terms of Service, or TOS, as its often called... 
the Content is not spam, is not machine- or randomly-generated, and does not contain unethical or unwanted commercial content designed to drive traffic to third party sites or boost the search engine rankings of third party sites, or to further unlawful acts (such as phishing) or mislead recipients as to the source of the material (such as spoofing); - WordPress.com TOSThat quote is highlighted on the page, so its damn important, OK? Excellent - now check this quote from WordPress.com support as an partial explanation for the above quote and the TOS in full...
WordPress.com does not allow blogs that are created for the purpose of directing traffic to commercial web sites, affiliate/ptc programs or multi-level marketing campaigns - WordPress.com SupportAccording to these two quotes, ANY WORDPRESS.COM THAT HAS BEEN CREATED FOR THE PURPOSE OF DIRECTING TRAFFIC TO COMMERCIAL WEB SITES, IS IN FACT, AGAINST THE TOS. FACT: LINKS ARE THE MOST IMPORTANT FACTOR FOR THE SEARCH ENGINE RANKINGS Further, any hyperlink has the purpose to "direct traffic" to its destination. And each and every website is either directly or indirectly commercial, even the non-profits (because they link to their donators / sponsors, from whom some are commercial). Because any link, in theory will provide tiny support to search engine rankings, and thus, increase traffic of the target site, all links on WordPress.com are bad. Clear so far? * Directing traffic to a commercial web site is against WordPress.com TOS * Any hyperlink will drive traffic * Every website is indirectly or directly connected to a commercial site (with a link) Ergo, EACH AND EVERY WORDPRESS.COM THAT HAS LINKS MUST BE BANNED, because each and every WordPress.com blog links to a commercial website, directly or indirectly (2-3 links away), thus at least "boosting the search engine rankings" of a commercial site. WERE ALL DOOMED! Stay with me. Read that TOS quote again. WordPress.com blog must not have links to any site, because each and every link will "drive traffic to third party site" if anyone clicks on it (and someone will), or boost search engine rankings of third party sites (= not WordPress.com?), that are commercial. OK, it also says with unethical or unwanted commercial content... Unethical is kinda clear, but WTF is unwanted? "Happily", the "clarification" from the support pretty much says that any content directing traffic to commercial website is bad = each and every website in the Internet, apart from Wikipedia maybe, but then again, there are links to commercial sites in Wikipedia, which boost their SE rankings, so linking to Wikipedia will boost the rankings too... The 14 million blogs of WordPress.com (as of September 2010, according to WordPress.com stats), should be deleted. Maybe apart from the ones ran by WordPress.com staff / Automattic folk, since its their place. DOOMED! Not convinced? Think of it, and look at your WordPress.com blogs: * Do you not autopost content via Posterous there? * Do you not link to your Twitter account? * Do you not post links to your WordPress.com blog? * Do you not create WordPress.com only to act as a satellite to your "main site"? Links to Twitter are bad, let alone (auto)posting your Tweets to the sidebar or the blog itself (thats double whammy since its machine generated/automated). Plus, 100% Twitter users link to some site that is commercial, and Twitter links purpose is to drive traffic to the site. Adding Delicious widget is against the TOS since it links to god knows what places that sell stuff = commercial. You certainly cannot link to your main site, because obviously youll be boosting your search engine rankings, and why youd want to do that unless youre in it to gain something... DOOMED, I TELL YOU. Ill be the first to admit it, that I have created WordPress.com blogs, because I want to aggregate stuff I do into one place, including this blog, Twitter and Posterous, just to name few sources - and thats machine generated, isnt it, although I wrote it the first time, but Im geeks are pretty damn close to robots, so that makes it nearly-machine generated. And I certainly have posted links in WordPress.com posts to sites Ive something to gain from, as a pitiful attempt to boost the search engine rankings, and even that Im the Zen Master of *Not* Making Money Online, one might argue that Im "driving traffic" to a commercial site (Im 100% sure one site Ive ever linked to from WordPress.com, is commercial). On the other hand... Since the ~14 Million blogs are still running, Im guessing Ive misunderstood something of this :D What do you think? ------------------------- Original post from Zemalfs Website optimization blog: The Fuzzy Logic of the WordPress (.com) Terms of Service
Heres more posts like to this:
* Blogspot Blog Migration to WordPress
* Why I Have a Self-Hosted WordPress Blog
Imagine to make money online by working for just couple of hours. Thats the Internet lifestyle. But without ONE THING, you will never make any money
During the past year Ive read a lot of eBooks and studied many training courses. All that in addition all the blogs I follow and read, the email lists Ive subscribed to. In addition to the free stuff, Ive purchased many information products, starting from simple $7 products and up to the $97 a month coaching/training programs.
Ive liked (nearly) all the products and courses Ive bought and learned a lot. In total, Ive used hundreds to educate myself to online marketing. By now, I should be making tons of money, right? Well Im making some, but were talking a few dollar here, another there -- probably in the range of four figures a year (not month).
So I am making some, but I didnt go through all that "education" to make couple of bucks. I want the hundreds, the thousands, the tens of thousands. But only very few get there, so how can I make sure I get there? It certainly wont happen if I (or you) sit on your ass and do nothing.
I shared my thoughts about this topic in my Posterous already (you can check it here: Success - Doing the things that you dont enjoy, which have to be done), but I wanted to continue on the subject...
HOW TO NEVER MAKE MONEY ONLINE
As got past that intro, theres a chance that youre interested in making money online. You are, right? But you havent made much either, no matter how hard youve tried. You want to build yourself the Internet lifestyle you hear people talking about. Youve already worked your ass off to make it happen.
Or have you really? By running around and looking for the perfect solution, looking for the next big thing, you keep yourself busy. False sense of productivity. INSTEAD OF WORKING HARD on the stuff that works (but is hard and boring), YOU GO FOR THE SHINY NEW OBJECT. Sound familiar? The Never-Ending Cycle of Internet Marketing Product Jumping(TM), the eternal journey, where the only action you take is: "Add to Cart".
You want to make money online, but instead of making it, you look for "the system". You look for the amazing new software that will make you money, push-button easy. Just enter your PayPal address and hit go, and let the money flow in. Not gonna happen.
There are new cool products, services, eBooks and Internet marketing courses launched all the time, each promising to make you rich. You watch the product launch videos with your eyes wide open, stunned at the amazing information they give away for free.
You read their perfectly formatted, A/B tested, but so annoyingly long sales pages. You see the proof. You see how the marketer or someone else have made a lot of money using "the system". The system works.
Youre hooked in. You buy their shit stuff. You dive into the training, reading the eBooks, watching the videos. Your brain is full of new information. You cant wait to start using that to make money. The product was worth every penny. Wow. Youre so excited that you acted fast enough to get the limited offer. Youre in the exclusive group who got to see the info, and now all you have to do is make it happen.
Why youre still waiting? Youre not going anywhere, because youre not doing anything. Instead of doing something, you move to the next product. You use hundreds, if not thousands of dollars to WSOs at WarriorForum. Amazing stuff. If you have the budget, you buy the Product Launch Formulas, Kajabis and Video Bosses too. Youre learning so much! You really are.
All That Info -- And Nothing... Still havent figured out why youre not making a dime? Youre not making money, because you buy yourself a feeling of progress in the next shiny new object you buy. Its gonna be all the same. No matter how good the information you get is, nothing will happen.
Nothing will happen because you are lazy. Or youre afraid to do anything. Maybe youre afraid to waste time and money, so you dont put any effort into what you do. Youre half-ass, instead of kick-ass.
Somehow you convince yourself that youre good where you are. Of perhaps you have the self-doubt. Whatever the reason, youre not gonna do anything. Why some people will never make money online?
BECAUSE IT TAKES A LOT OF WORK!
You need to write ebooks, you need to do affiliate marketing, you actually need to blog to make money blogging (go figure!). You need to get traffic. You need to build a better blog. WHATEVER YOUR CHOSEN METHOD IS, YOU HAVE TO WORK TO GET TO YOUR GOALS. Buying the course, training or eBook telling you how is not enough (duh!).
Getting overwhelmed by the number of options is another thing. Dont spend time choosing and looking for the best option, do first, evaluate second. You dont have to make it perfect the first time, what ever it is.
Yaro Starak, in his post about why people struggle to get what they want said: 
Sadly most people know what to do, they just don’t do it. The reason is a lack of belief and confidence. - Yaro StarakTake the lack of belief and confidence, add some laziness, and finally mix in the fear. Its much, much easier to buy new stuff and lie to yourself that youre taking action. You might be lying to yourself that you dont have the skills. That its too late. You cant possible achieve what someone else did. Truth? You master the art of making excuses and you achieve nothing. Thats why some, if not most people are not making money, or theyre making tens of dollars, and not thousands. The people who make money put what they know into use, they work hard. Those who dont do, dont get. Dont be fooled about the big figures someone got "easy". Before they got easy, they worked hard, they failed, they put in the hours and then got results. The only 100% certain fact in the Internet marketing is the result of not doing anything. Thats right. The result of doing nothing is zero. Doing nothing, gets you nothing. Some people will never make money online, because THEY DO NOT DO ANYTHING, they just fake it to themselves by buying information products that teach them making money. THE VERY FEW WHO DO WORK HARD, MAKE ALL THE MONEY. At some point, they have put in the hours (or the dollars to pay for someone elses hours). They are not smarter, they are not luckier, they just do more that those who dont make money. Its really as simple as that, even if you dont want to admit it. Luckily - theres is one, and only one, solution to all this. With this one thing, _THE ULTIMATE SYSTEM_, everything is possible. But if you expect it to be easy, youre not gonna like it. Its the *real* secret to making money online. Find the closest (literally) shiny object and look into it. Will YOU be part of the very few who make it? ------------------------- Original post from Zemalfs Website optimization blog: Why Some People Never Make Money Online
Heres more posts like to this:
* Make time, not money
* 37signals: A Secret to Making Money Online
* The games we play and the stupid **** we do to get seen online
Are you running Disqus on WordPress blog? Youve probably seen plenty of SPAM and removed them with Disqus. Well, those comments are not really gone...
Are you running Disqus Comments on your WordPress blog?
Have you received comments that youve marked as spam or deleted?
You have, right? We all have.
Standard business, we get spam comments or comments not compliant with our comment policy, we mark them as spam and remove the comment...
Stay with me...
WHEN COMMENT IS LEFT TO WORDPRESS BLOG WITH DISQUS COMMENTS, THE COMMENT IS ALSO ADDED TO WORDPRESS DATABASE, LIKE A NORMAL COMMENT WOULD.
This is good in case you would remove Disqus one day, youd still have the comments.
OK - cool
BUT
After the comment is received, Disqus picks up the comment, so the comment going to WordPress database it is not caught by SPAM filters or anything...
Not a problem, we just manually marked the comment as spam...
RIGHT?
well...
No.
Disqus doesnt think it needs to "communicate back" to the WordPress database and remove the comment there as well...
Check your normal comments (click Dashboard > Comments > Comments to see comments in WordPress database), and YOU WILL FIND COMMENTS THERE THAT YOUVE DELETED OR MARKED AS SPAM IN DISQUS, SAFELY IN THE WORDPRESS DATABASE.
The same SPAM comment, marked as SPAM in Disqus, is in the WordPress comment, approved like any good comment...
LOVELY!
And if Disqus being slow as hell wasnt enough...
:sigh:
BUT
IT GETS WORSE
Spot a comment from "normal" comments that was spam, removed from Disqus, but still in WordPress database etc...
Not a problem, DISQUS WOULDNT SHOW A COMMENT REMOVED FROM ITS OWN SYSTEM AND ONLY EXISTING IN WP DATABASE, WOULD IT?
YOU BET YOUR SORRY ASS IT WOULD!
Go to the blog post in question...
You cant see the comment there...
OK - good...
Open the page source.
Search for the spam comment.
The same SPAM comment is now HIDDEN in the page source by Disqus Comments. Not visible on the page, but there it is...
WTF?
Looks like Disqus Comments on WordPress, at least with the Disqus Comments -plugin, help SPAM comments to turn our blogs into black hat SEO shit, hiding spammy comments and links in our page source.
Please tell me that this is just some oddity in my blog.
-------------------------
Original post from Zemalfs Website optimization blog:
Disqus LOOPHOLE for SPAM Comments in WordPress
The same SPAM comment, marked as SPAM in Disqus, is in the WordPress comment, approved like any good comment...
The same SPAM comment is now HIDDEN in the page source by Disqus Comments. Not visible on the page, but there it is... Heres more posts like to this:
* How to stop your blog comments from being blocked by Akismet
* An introduction to Disqus blog commenting system
* How to leave comments on a blog
WordPress htaccess file needs tweaking for security and performance. To make things easy, here is a ready-made WordPress htaccess that anyone can use
Can I ask you - is your WordPress htaccess is in a good shape?
* Do you have the essential security rules in place?
* Do you know what you should have there?
* Are you afraid to touch the whole darn thing?
No worries - after reading this post you will know the answers. You will know exactly what kind of htaccess file you should have. I will not bore you with technicalities, or go into details that you dont need, but instead - I GIVE YOU THE SOLUTION, right now:
ULTRA QUICK INTRO TO HTACCESS
* _.htaccess_ is the default name of a directory-level configuration file for a web server
* it was originally created for per-directory access control, but nowadays htaccess can include many other configurations, mostly related to content control.
* The file name is .htaccess ("dot htaccess"). Dont forget the "dot". In some operating systems, the files beginning with "dot" might be hidden, so keep that in mind.
* the name of the htaccess-file can be changed by configuration (which is wise for security, but beyond the scope of this article).
* .htaccess overrides the rules in the main configuration file, usually called httpd.conf.
* FOR PERFORMANCE, ITS BETTER TO USE HTTPD.CONF -FILE, BUT ON SHARED HOSTING, THE WEBMASTER DOESNT USUALLY HAVE ACCESS TO THE MAIN CONFIGURATION -FILE AND NEEDS TO RELY ON .HTACCESS.
* if you DO have access to httpd.conf, all non-directory specific rules should go into httpd.conf instead of .htaccess.
I promised I wont bore you with details you dont need, so thats it - in fact, you dont even need all the above, but I couldnt call this article definite guide if I didnt add some of that stuff in... If you want to know even more, check the links below on this post for all the htaccess information youll ever need and then some.
WORDPRESS HTACCESS
Good, default WordPress htaccess looks like this:

# BEGIN htaccess
# Protect the htaccess file
Order Allow,Deny
Deny from all
# Protect the htaccess file
Order Allow,Deny
Deny from all
# Disable directory browsing
Options All -Indexes
# Enable the following of symlinks
Options +FollowSymLinks
# No ETags, No Pragma
Header unset Pragma
Header unset ETag
# Make sure proxies deliver correct content
Header append Vary User-Agent env=!dont-vary
# Ensure proxies deliver compressed content correctly
Header append Vary Accept-Encoding
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
# END htaccess
WARNING: The redirect rules at the end might be different in case youve installed WordPress in a directory and/or run several blogs from the same domain. If WordPress has already added mod_rewrite -rules into the .htaccess -file (similar to above), DO NOT delete/edit them.
With these rules in place we have the basic security in place
* .htaccess file itself is protected,
* WordPress wp-config.php is protected, and
* directory browsing is disabled.
Apart from the security, we just need the default WordPress redirect rules (the last rules there).
ADD MORE RULES AS NEEDED
The rules above are the starting point and suitable for any blog. As said, the default rules are what any WordPress blog needs. IF YOU DO NOTHING ELSE, BUT ADD THE RULES I SHOWED ABOVE, YOU WILL BE FINE. The following posts are for the tech-heads, geeks and crazy tweakers like me:
* The Ultimate Htaccess
* Stupid htaccess Tricks (Perishable Press)
* .htaccess rules for site speed optimization (Zemalf.com)
* The most essential .htaccess rules for blogs (Zemalf.com)
EDITING THE HTACCESS FROM WORDPRESS DASHBOARD
I dont recommend using a plugin that creates htaccess, because you dont really need to use such a plugin, but you can use a plugin that allows you to edit it easily from the Dashboard, so you dont have to mess with FTP or SSH if you dont have to.
From the WordPress plugins I use and recommend, Robots Meta offers just that (in addition to all the useful things it does for SEO and stuff). With Robots Meta, you can edit the htaccess file from the plugin settings (just remember to back up the content before editing and saving).
Advanced users should always use FTP or SSH to edit the files.
WORDPRESS HTACCESS AND W3 TOTAL CACHE
With the default rules in the htaccess,
* we can let W3 Total Cache add the rules it needs for Browser Cache, and
* we dont necessarily need to (manually) add the .htaccess rules for performance.
Also, se can add other .htaccess rules for blogs, but we can skip the mod_deflate / Expires rules.
THE RULES ADDED BY W3 TOTAL CACHE ARE *NOT* OPTIMAL, BUT THEYRE GOOD ENOUGH. And since editing .htaccess is quite technical, and hard for many WordPress bloggers out there, its good that non-techies dont need to touch it too many times.
For tech people, theres still the option to just disable Browser Cache -option in W3TC, and tweak the caching/proxy settings manually, and this is the best option for website performance. BUT for the "average blogger", the rules above + the rules added by W3TC are everything they need.
SUMMARY
ADD THE RULES I PRESENTED ABOVE TO YOUR .HTACCESS -FILE BEFORE INSTALLING W3 TOTAL CACHE (or add them in by replacing everything else but the W3TC rules). ALWAYS TAKE BACKUP OF YOUR BLOG AND THE HTACCESS BEFORE EDITING THE FILE.
If your site "dies" after editing the file, you probably did something wrong - restore the backup (or add only the rules in this post in) and try again. Its not hard, but be careful when deleting / modifying the rules already in the file, as some rules can and will be, site-specific.
AFTERWORD
I hope I managed to present the kind of htaccess rules that every WordPress blogger could use. With the feedback from my earlier posts with htaccess rules for WordPress, while they were highly useful and comprehensive, I learned that some parts of them were complicated for the "technologically challenged".
Thus, the rules in this post make up for what I think is, truly essential WordPress htaccess. Beyond this, its tweaking and tuning, adding your personal favorites, etc.
What do you think? And also: Did these .htaccess rules work for your blog?
-------------------------
Original post from Zemalfs Website optimization blog:
WordPress htaccess: The Definite Guide Heres more posts like to this:
* .htaccess rules for site speed optimization
* The Ultimate WordPress Permalinks Guide
* The most essential .htaccess rules for blogs
Learn how to easily install W3 Total Cache -plugin on your self-hosted WordPress blog and how to configure its settings for maximum speed
The extended version of the W3 TOTAL CACHE GUIDE is available as a free eBook:
Download the free W3 Total Cache Installation and Configuration Guide from MediaFire.
INTRODUCTION
INSTALLING AND CONFIGURING THE W3 TOTAL CACHE -PLUGIN FOR WORDPRESS is part of a step-by-step process to optimize WordPress for speed that will make it easier to retain readers and keep the site speed on a level that Google appreciates as well.
The initial steps to speed up WordPress are laid out as the WordPress Speed Challenge here at my blog.
WHY W3 TOTAL CACHE?
With this free guide, you can easily make your WordPress blogs pages load faster than before and save money on hosting bills as you can stay on shared hosting and still make your blog withstand huge amounts of traffic without compromising the performance.
Installing W3 Total Cache (_W3TC_ for short) is just like installing any other plugin for WordPress (super simple via the Dashboard). The default options will make W3TC handle page caching, which it does similarly, and even a bit better, than the WP Super Cache.
But with proper configuration, W3TC does much more, like combining and minifying (compressing & making smaller) JavaScript and CSS-files, and also cache Database queries and make using Content Delivery Network easy (read: automatic). Because of all this, the W3 TOTAL CACHE IS THE BEST CACHING PLUGIN FOR WORDPRESS.
This guide is meant for WordPress blogs on shared hosting, who cant use more advanced caching solutions like Opcode caching and/or memcache, which are available on dedicated servers and virtual private servers. With this guide, you can handle loads of traffic with a blog on shared hosting, and you can stay on shared hosting until you can afford to pay for better (if you need it then).
For blogs that do need more powerful hosting solutions, Total Cache is even better. With the advanced options like Database Caching and automated use of Content Delivery Network, W3TC is the ultimate caching solution (the "Total" in the plugin name is there for a reason) and this is why huge blogs like Mashable use it.
HOW TO INSTALL AND CONFIGURE W3 TOTAL CACHE FOR WORDPRESS
The first step is to uninstall any other caching plugin you might be using, like WP Super Cache. We dont need (or even cant have) two caching plugins running, so you need to uninstall WP Super Cache before you move on.
Installing and configuring the W3 Total Cache is a simple step-by-step process... and actually since you dont necessarily need to take one of the steps and one you can skip altogether, its really 3-7 steps, depending on how you count it :)
HOW TO INSTALL W3 TOTAL CACHE
Heres the installation in short (as installing any WordPress -plugin):
* (Uninstall WP Super Cache, or any other caching plugin you might have installed)
* Install W3 Total Cache -plugin: Go to Plugins, Click Add New, Search for W3 Total Cache, click Install now for W3TC, confirm the installation and activate the plugin.
HOW TO CONFIGURE W3 TOTAL CACHE -PLUGIN
W3TC - GENERAL SETTINGS
* PAGE CACHE: ENABLED (Enable checked), Disk (enhanced)
* MINIFY: ENABLED (Enable checked), Disk
* Database Cache: Disabled (Enable unchecked)
* Object Cache: Disabled (Enable unchecked)
* Content Delivery Network: Disabled (Enable unchecked) (*
* BROWSER CACHE: ENABLED (Enable checked)
*) For the best performance and speed, I recommend setting up a content delivery network (CDN) and configure it into W3TC settings. Its optional as its not free, but its well worth it in the end. Depending on your hosting setup, it can even save you money as it takes the load and bandwidth off your main server.
I personally use MaxCDN, and wrote a guide on how to set it up here: CDN with MaxCDN.
W3TC - PAGE CACHE SETTINGS
Page Cache Settings - General
* Enable (checked) - Dont cache pages for logged in users
* Enable (checked) - Cache home page
* Enable (checked) - Cache feeds
* Disable (unchecked) - Cache URIs with query string variables
* Disable (unchecked) - Cache 404 (not found) pages
Page Cache Settings - Advanced
No need to touch these.
Page Cache Settings - Cache Preload
With Cache Preload, you can automatically "fill the cache", using a XML sitemap. This means serving pre-cached pages to all visitors, even if a page has not been visited recently. Its OK to leave this disabled, and keep it disabled if you run into performance problems when the preload activates, or lower the number of Pages per interval.
* Enable (checked) - Automatically prime the page cache
* Update internal - 907
* Pages per interval: 7 (increase/decrease as needed)
* Sitemap URL: Your blogs sitemap.xml URL, e.g. http://example.com/sitemap.xml
W3TC - MINIFY SETTINGS
This is where the magic happens, and also, this is the hardest part of W3 Total Cache configuration. If youre uncomfortable to look into HTML source and find CSS- and JS-files there, skip this section. You wont have minify, but Page Cache will work just fine. However, for performance optimization and site speed, this is essential.
Skip the General, HTML and JavaScript for now, and scroll to...
Minify Settings - Cascading Style Sheets
CSS Minify Settings:
* Enable: Enable (checked)
* Disable: Combine only (unchecked)
* Enable: Comment Removal (checked)
* Enable: Line break removal (checked)
If you run into problems with badly coded CSS, try disabling the Comment- and Line break removal. Well coded CSS will still work, bad ones might get into problems.
CSS File Management
Theme: The active theme should be chosen, but you can set configurations to all installed themes here (even for non-active ones, in case you ever activate them).
* Open another browser window or tab, and open your blog.
* Open the page source (right-click, show page source).
* Open Find (e.g. CTRL+F or from menu: Edit > Find)
* Search for ".css" (without quotes)
* Copy the full URL of the first .css-file you find, e.g. http://example.com/wp-content/themes/yourtheme/style.css (do not copy this URL, you must get it from YOUR BLOGS page source)
* Go back to the window/tab with W3 Total Cache settings and the Minify Setting -page, click Add a style sheet under Cascading Style Sheets...
* Paste the .css -file URL in, unless the css-file is specific to certain page/template, choose All Templates. Just in case, click Veriry URI to see that the URL is correct
* Go back to the page source, hit next on the find to locate the next css-file. Copy the URL to the W3 Total Cache, Verify.
* Repeat until youve added all css-files from the page source to W3TC.
Notes: If there is "version number" like "?ver=2.4.1" in the CSS-files URL, remove it.
For example: /styles.css?ver=2.4.1 would go into W3TC as /styles.css - This way, W3TC will pick up the CSS, even if the plugin/theme updates and the CSS-version changes.
Note that you can change the order of the CSS-files by dragging them (hover your mouse over the file, and youll see an "up-and-down" arrows), which might help if some CSS-files need to be before/after another. Its best to follow the same order of the files they were in the source code (taken that everything was working).
After you Save changes, W3TC might remove part of the URL, this is normal.
Minify Settings - Advanced
* Update external files every: 216000 seconds
* Garbage collection interval: 216000 seconds
For high traffic sites, lower the Garbage collection to 86400, or just leave it there by default.
Save Changes.
Minify Settings - JavaScript
TO AVOID PROBLEMS - DO NOT ADD AdSense, Chitika or such advertising code to W3TC!!
The process is similar to adding the CSS-files, but the problem is that many plugin- and theme-authors are not very good JavaScript coders, so they code cant handle minification.
* Enabled: Enable (checked)
* Disabled: Combine only after
* Disabled: Combine only after
* Disabled: Combine only before
* Enabled: Comment removal
* Enabled: Line break removal
Go to your blogs page source, find ".js" files. Add them one by one to W3TC. Again, remove the "?ver=2.4.1" and similar version numbers if you seeem. For performance, its better to Embed JavaScript to the bottom of the page = Embed before and use the "Non-blocking" -option
Non-blocking can be used if the functionality of that script is not needed when loading the page, but only after the page is loaded. (In general, interface scripts can be non-blocking, and scripts that modify the content usually need to be "blocking")
If a script doesnt work correctly when embedded to the footer (before
Download the free W3 Total Cache Installation and Configuration Guide from MediaFire.
INTRODUCTION
INSTALLING AND CONFIGURING THE W3 TOTAL CACHE -PLUGIN FOR WORDPRESS is part of a step-by-step process to optimize WordPress for speed that will make it easier to retain readers and keep the site speed on a level that Google appreciates as well.
The initial steps to speed up WordPress are laid out as the WordPress Speed Challenge here at my blog.
WHY W3 TOTAL CACHE?
With this free guide, you can easily make your WordPress blogs pages load faster than before and save money on hosting bills as you can stay on shared hosting and still make your blog withstand huge amounts of traffic without compromising the performance.
Installing W3 Total Cache (_W3TC_ for short) is just like installing any other plugin for WordPress (super simple via the Dashboard). The default options will make W3TC handle page caching, which it does similarly, and even a bit better, than the WP Super Cache.
But with proper configuration, W3TC does much more, like combining and minifying (compressing & making smaller) JavaScript and CSS-files, and also cache Database queries and make using Content Delivery Network easy (read: automatic). Because of all this, the W3 TOTAL CACHE IS THE BEST CACHING PLUGIN FOR WORDPRESS.
This guide is meant for WordPress blogs on shared hosting, who cant use more advanced caching solutions like Opcode caching and/or memcache, which are available on dedicated servers and virtual private servers. With this guide, you can handle loads of traffic with a blog on shared hosting, and you can stay on shared hosting until you can afford to pay for better (if you need it then).
For blogs that do need more powerful hosting solutions, Total Cache is even better. With the advanced options like Database Caching and automated use of Content Delivery Network, W3TC is the ultimate caching solution (the "Total" in the plugin name is there for a reason) and this is why huge blogs like Mashable use it.
HOW TO INSTALL AND CONFIGURE W3 TOTAL CACHE FOR WORDPRESS
The first step is to uninstall any other caching plugin you might be using, like WP Super Cache. We dont need (or even cant have) two caching plugins running, so you need to uninstall WP Super Cache before you move on.
Installing and configuring the W3 Total Cache is a simple step-by-step process... and actually since you dont necessarily need to take one of the steps and one you can skip altogether, its really 3-7 steps, depending on how you count it :)
HOW TO INSTALL W3 TOTAL CACHE
Heres the installation in short (as installing any WordPress -plugin):
* (Uninstall WP Super Cache, or any other caching plugin you might have installed)
* Install W3 Total Cache -plugin: Go to Plugins, Click Add New, Search for W3 Total Cache, click Install now for W3TC, confirm the installation and activate the plugin.
HOW TO CONFIGURE W3 TOTAL CACHE -PLUGIN
W3TC - GENERAL SETTINGS
* PAGE CACHE: ENABLED (Enable checked), Disk (enhanced)
* MINIFY: ENABLED (Enable checked), Disk
* Database Cache: Disabled (Enable unchecked)
* Object Cache: Disabled (Enable unchecked)
* Content Delivery Network: Disabled (Enable unchecked) (*
* BROWSER CACHE: ENABLED (Enable checked)
*) For the best performance and speed, I recommend setting up a content delivery network (CDN) and configure it into W3TC settings. Its optional as its not free, but its well worth it in the end. Depending on your hosting setup, it can even save you money as it takes the load and bandwidth off your main server.
I personally use MaxCDN, and wrote a guide on how to set it up here: CDN with MaxCDN.
W3TC - PAGE CACHE SETTINGS
Page Cache Settings - General
* Enable (checked) - Dont cache pages for logged in users
* Enable (checked) - Cache home page
* Enable (checked) - Cache feeds
* Disable (unchecked) - Cache URIs with query string variables
* Disable (unchecked) - Cache 404 (not found) pages
Page Cache Settings - Advanced
No need to touch these.
Page Cache Settings - Cache Preload
With Cache Preload, you can automatically "fill the cache", using a XML sitemap. This means serving pre-cached pages to all visitors, even if a page has not been visited recently. Its OK to leave this disabled, and keep it disabled if you run into performance problems when the preload activates, or lower the number of Pages per interval.
* Enable (checked) - Automatically prime the page cache
* Update internal - 907
* Pages per interval: 7 (increase/decrease as needed)
* Sitemap URL: Your blogs sitemap.xml URL, e.g. http://example.com/sitemap.xml
W3TC - MINIFY SETTINGS
This is where the magic happens, and also, this is the hardest part of W3 Total Cache configuration. If youre uncomfortable to look into HTML source and find CSS- and JS-files there, skip this section. You wont have minify, but Page Cache will work just fine. However, for performance optimization and site speed, this is essential.
Skip the General, HTML and JavaScript for now, and scroll to...
Minify Settings - Cascading Style Sheets
CSS Minify Settings:
* Enable: Enable (checked)
* Disable: Combine only (unchecked)
* Enable: Comment Removal (checked)
* Enable: Line break removal (checked)
If you run into problems with badly coded CSS, try disabling the Comment- and Line break removal. Well coded CSS will still work, bad ones might get into problems.
CSS File Management
Theme: The active theme should be chosen, but you can set configurations to all installed themes here (even for non-active ones, in case you ever activate them).
* Open another browser window or tab, and open your blog.
* Open the page source (right-click, show page source).
* Open Find (e.g. CTRL+F or from menu: Edit > Find)
* Search for ".css" (without quotes)
* Copy the full URL of the first .css-file you find, e.g. http://example.com/wp-content/themes/yourtheme/style.css (do not copy this URL, you must get it from YOUR BLOGS page source)
* Go back to the window/tab with W3 Total Cache settings and the Minify Setting -page, click Add a style sheet under Cascading Style Sheets...
* Paste the .css -file URL in, unless the css-file is specific to certain page/template, choose All Templates. Just in case, click Veriry URI to see that the URL is correct
* Go back to the page source, hit next on the find to locate the next css-file. Copy the URL to the W3 Total Cache, Verify.
* Repeat until youve added all css-files from the page source to W3TC.
Notes: If there is "version number" like "?ver=2.4.1" in the CSS-files URL, remove it.
For example: /styles.css?ver=2.4.1 would go into W3TC as /styles.css - This way, W3TC will pick up the CSS, even if the plugin/theme updates and the CSS-version changes.
Note that you can change the order of the CSS-files by dragging them (hover your mouse over the file, and youll see an "up-and-down" arrows), which might help if some CSS-files need to be before/after another. Its best to follow the same order of the files they were in the source code (taken that everything was working).
After you Save changes, W3TC might remove part of the URL, this is normal.
Minify Settings - Advanced
* Update external files every: 216000 seconds
* Garbage collection interval: 216000 seconds
For high traffic sites, lower the Garbage collection to 86400, or just leave it there by default.
Save Changes.
Minify Settings - JavaScript
TO AVOID PROBLEMS - DO NOT ADD AdSense, Chitika or such advertising code to W3TC!!
The process is similar to adding the CSS-files, but the problem is that many plugin- and theme-authors are not very good JavaScript coders, so they code cant handle minification.
* Enabled: Enable (checked)
* Disabled: Combine only after
* Disabled: Combine only after
* Disabled: Combine only before
* Enabled: Comment removal
* Enabled: Line break removal
Go to your blogs page source, find ".js" files. Add them one by one to W3TC. Again, remove the "?ver=2.4.1" and similar version numbers if you seeem. For performance, its better to Embed JavaScript to the bottom of the page = Embed before and use the "Non-blocking" -option
Non-blocking can be used if the functionality of that script is not needed when loading the page, but only after the page is loaded. (In general, interface scripts can be non-blocking, and scripts that modify the content usually need to be "blocking")
If a script doesnt work correctly when embedded to the footer (before 


WP-DBManager will automatically create a folder called backup-db in the wp-content folder if that folder is writable. If it is not created, create it and CHMOD it to 777. See
3. OPTIMIZE THE WORDPRESS DATABASE
Optimizing database will clean and optimize the WordPress database, removing unneeded data, making the database calls faster (because there is no unnecessary data to go through).
If you go to Database (Database), you can see the overhead on the right hand side, and at the bottom of the table, youll see how much unneeded data you can remove right away (by doing the optimization).
Heres how to do the optimization manually...
* Click Database
* Click Optimize Db
* (Scroll down if needed) Click Optimize
4. CONFIGURE AUTOMATIC BACKUP AND OPTIMIZATIONS OF THE WORDPRESS DATABASE
After doing backup manually once and optimizing the database by hand, we can now automate and schedule the WordPress database backup...
Go to your WordPress Dashboard (admin area)
* Click Database
* Click DB Options
* Ignore the advanced options on top, look down to Automatic scheduling
* Set Backup frequency, e.g. once a day
* Enter an email address you want the backup to be sent to
* Choose if you want to GZIP the backup file
* Adjust the optimization schedule, once a week is fine
* Click Save Changes -button
SOURCE AND REFERENCES
* 
My traffic stats are public at
All in all, my efforts in improving SEO has started to pay off. 50% increase in search engine traffic is awesome. Most of that came from Google.
Part of the good results come from writing more content on May, which both increased rankings, because Google likes fresh content, but also because I started slowly building some links to the blog.
This goes on to show that my on-page SEO, overall 
