<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog Tips &#187; How to&#8230; Stuff</title>
	<atom:link href="http://www.blogtips.org/category/how-to/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blogtips.org</link>
	<description>Blogging and Social Media for Nonprofit</description>
	<lastBuildDate>Thu, 22 Jul 2010 01:31:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Shared hosting: Pay Peanuts, Get Monkeys</title>
		<link>http://www.blogtips.org/shared-hosting-pay-peanuts-get-monkeys/</link>
		<comments>http://www.blogtips.org/shared-hosting-pay-peanuts-get-monkeys/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 22:05:43 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Advanced Stuff]]></category>
		<category><![CDATA[How to... Stuff]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.blogtips.org/?p=1213</guid>
		<description><![CDATA[
See the bottom of the post for updates on my adventures with shared hosting..
My experience in selfhosting my blogs with GoDaddy moved from a glowing enthusiasm via consternation and frustration into a deep distrust and disbelief. In this post, I want to take you through the past year, as I discovered some of the issues [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><img class="aligncenter" title="Tintin and The Seven Crystal Balls" src="http://theroadtothehorizon.net/photo/Tintin%20and%20the%20seven%20crystal%20balls.jpg" alt="Tintin and The Seven Crystal Balls" width="340" height="450" /></p>
<p>See the bottom of the post for <span style="color: #ff00ff;">updates</span> on my adventures with shared hosting..</p>
<p><em>My experience in selfhosting my blogs with GoDaddy moved from a glowing enthusiasm via consternation and frustration into a deep distrust and disbelief. In this post, I want to take you through the past year, as I discovered some of the issues one should know before choosing a selfhosting service.</em></p>
<p>Much is written about <a href="http://www.blogtips.org/selecting-a-blog-platform-selfhost-your-blog-or-not/" target="_self">hosting your own blog</a> and <a href="http://www.webhostingreviews.com/" target="_blank">how to choose your hosting company</a>. Whole blogs are dedicated to attracting customers to this or that hosting supplier, a clear sign hosting is big business.<br />
I will not analyse which hosting company is the best, nor what the pros and cons of all hosting companies or hosting formulae are. Others are more qualified to do so. But&#8230; as with most items we cover on BlogTips, I want to share my experience, hoping others will learn from my many mistakes. My experience concentrated mainly around  <a href="http://www.godaddy.com/">GoDaddy.com</a>, one of the biggest and cheapest hosting companies around.</p>
<p><span id="more-1213"></span></p>
<h4>My first steps into the hosting world:</h4>
<p>I have been blogging for over three years. My first blogs were hosted by <a href="http://www.blogger.com/">Blogger</a>, <a href="http://www.wordpress.com/">WordPress</a>, <a href="http://blogs.skynet.be" target="_blank">Skynet</a> and <a href="http://www.tumblr.com/">Tumblr</a>. Later on, I also started some blogs on <a href="http://www.posterous.com/">Posterous</a>. About two years into blogging, I thought <a href="http://www.blogtips.org/selfhosting-your-blog-or-not/">it was about time</a> to take more control over my blogs and to selfhost some of them.</p>
<p>As with many things in life, I found myself walking a road, unconscious of the direction I took, and soon enough, found myself in a middle of a mediaeval battlefield with all kinds of things happening I had no control over, no influence on the outcome, nor did I have the faintest clue &#8220;how the **&amp;&amp;%% I got there&#8221;. Let me explain: I choose GoDaddy.com as my hosting provider. It was not a calculated choice, but Godaddy was the service Google used as a registrar when I registered the domain of <a href="http://www.theroadtothehorizon.org" target="_blank">my very first blog</a>. The migration from a Blogger domain to my own, went fast and transparently, so I thought GoDaddy would also be the way to go for hosting services too. Little did I know that domain registration and hosting services are two   completely different things.</p>
<p>Via GoDaddy&#8217;s home page, I found a link to their selfhosting services, and registered. Not really thinking what I choose for. &#8220;Linux economy plan&#8221; smelled about right. And at less than US$4/month for 10 Gb of diskspace and 300 Gb/month of traffic, what could go wrong? Right? So before I knew it, I started walking the road of &#8220;Shared Linux Servers&#8221; selfhosting.</p>
<p style="padding-left: 30px;"><span style="color: #00ff00;">PLUS:</span> shared hosting services are cheap<br />
<span style="color: #00ff00;">PLUS:</span> shared hosting services provide loads of diskspace and high internet traffic quota</p>
<p>Starting my first selfhosted blog <a href="http://www.haveimpact.org">Have Impact</a> was a breeze. When I registered the domain, I could select the hosting service I wanted. The DNS entries &#8211; the link between the domain and the physical space where my blog lives &#8211; were done automatically. Installing WordPress was just a matter of clicking a few buttons and I had a blog up and running in minutes.</p>
<p style="padding-left: 30px;"><span style="color: #00ff00;">PLUS:</span> a fast and transparent link between the domain registration<br />
<span style="color: #00ff00;">PLUS:</span> an easy &#8220;Pay and Go&#8221; solution which brings up a website in no time<br />
<span style="color: #00ff00;">PLUS: </span>easy and fast installation of the blogging software</p>
<p>I thought: &#8220;Why did I not do this earlier?&#8221;</p>
<h4>A clear blue sky</h4>
<p>Using a selfhosted WordPress.org blog is pretty much like using a blog on WordPress.com, where your blog is hosted by WordPress themselves. But it gave me more freedom to install and tweak themes and plugins, making my blog do exactly what I wanted.</p>
<p>All fine so far. Apart from <a href="http://www.blogtips.org/selfhosting-your-blog-or-not/">a bit of a surprise</a> how much time it took to ensure my blogsoftware, themes and plugins were kept up to date with the latest software releases, I was a happy camper: My blog was puttering along nicely, with a few dozen posts, updated once or twice a week, and a few thousand visitors a month.</p>
<p style="padding-left: 30px;"><span style="color: #00ff00;">PLUS:</span> For a low traffic, simple blog shared hosting services are just fine.</p>
<p>So I continue walking on that path: I created several other blogs hosted by Godaddy, amongst which your very own <a href="http://www.blogtips.org/">BlogTips</a>, this blog. Before I knew it, I had a dozen selfhosted blogs, all on GoDaddy. I even started a Drupal site, <a href="http://www.humanitariannews.org/">Humanitarian News</a>.</p>
<h4><img class="alignleft" title="Tintin Moon Rocket" src="http://theroadtothehorizon.net/photo/tintin%20rocket.jpg" alt="Tintin Moon Rocket" width="200" height="200" />The first signs of trouble</h4>
<p>The latter took off into cyberspace like a rocket, with loads of content and more visitors every month. It was also the first site I experienced problems with. Problems I would also encounter with my other blogs later on: The increased traffic and the amount of posts I published forced me to tweak the site continuously: I applied aggressive caching and stripped it off all functions that had a bad influence on its performance. Soon I was forced into the Drupal internals, PHP/MySQL tweaks and all other stuff a naive blogger like myself should keep his hands off. Really&#8230; Soon enough, I needed help. As GoDaddy promised 24h/7d telephone and email support, I thought nothing could go wrong.</p>
<p>I learned their Email support did not work well. Most of the time, the answers I got were off-topic, or not to the point, and looked like pre-cooked &#8220;cut-and-paste&#8221; replies. It honestly felt like they let you go through a couple of to-and-fro iterations to ensure you are persistent enough, and you &#8220;really have a problem&#8221;, before you do get a real answer&#8230;</p>
<p>As most of my issues were performance related, most of the time, their answer was a standard &#8220;we see your site might be loading a bit slow, but we advise you to&#8221;&#8230; and then came an explanation on how to increase the speed of a website by compressing pictures, etc&#8230; Even though none of my performance issues had anything to do with the web-side (or front-end) of the chain of events, but were rather concentrated on the back-end.</p>
<p>The more I insisted, the more frequent the &#8220;end the discussion now&#8221;-killer sentence came: &#8220;We don&#8217;t see any performance issues on your shared server, but if you want better performance, we suggest you upgrade to a hosting package XYZ&#8221;&#8230; Which implied moving all my data myself, at a significant higher price tag. Beh..</p>
<h4>Shared hosting = shared trouble</h4>
<p>As time went by, I discovered I took the cheapest and most unreliable of all packages: a shared host. Meaning, I shared the machine my blog ran on, with thousands of other users, rather than having a machine to myself. Other formulae were &#8220;dedicated virtual hosting&#8221; services (where you run on your own virtual machine) or &#8220;dedicated hosting&#8221; (where you run on your own physical machine)&#8230;</p>
<p style="padding-left: 30px;"><span style="color: #ff0000;">Minus:</span> Shared hosting is not a good idea for high traffic sites<br />
<span style="color: #ff0000;">Minus:</span> There is little or no performance to be expected from shared hosts<br />
<span style="color: #ff0000;">Minus:</span> Email support seldom leads to actual solutions. Real support is only possible via telephone.<br />
<span style="color: #ff0000;">Minus:</span> Most Email support mostly consists of standard cut-and-paste answers.</p>
<p>The more I used the support services, the more I discovered problems: each time I called or emailed, I got another person on the line. Who might or might not do the effort of reading through the history of problems. Who might or might not be knowledgeable. Who might or might not be interested or motivated to really help you.</p>
<p style="padding-left: 30px;"><span style="color: #ff0000;">Minus:</span> There is not a single focal point for each account, nor a focal team. The quality of support really depends on the person.</p>
<h4>Consumer rights</h4>
<p>Around late last year &#8211; I also discovered other problems. The top of the iceberg, it seemed. <a href="http://www.petercasier.be/">One of my websites</a> ran significantly slower than all others. The lack of speed had nothing to do with my blog itself, nor the posts: Just about anything I did in the WordPress dashboard was at least ten times slower than on any of my other blogs. I found out the IP address from the server on which &#8220;the slow blog&#8221; was running, was in a different range from the servers of my other blogs. I gathered it ran on a different server array, or even ran in another location. That seemed like an obvious explanation of the source of the problem: the slower website must have a server with a resource problem: CPU, bandwidth, memory, load etc&#8230;</p>
<p>It was by then I also started see some variations in performance on my  other blogs, including <a href="../">this very same blog</a>, BlogTips. At  times the site would load THAT slow, browsers would time out. WordPress  admin functions would take minutes rather than seconds. The problem  would persist for about half an hour and by the time I called or emailed  support, the problem disappeared&#8230; To re-appear a few hours later, or  on the following day, or the following week, or the following month.</p>
<p>Next thing I knew, the CRON jobs on <a href="http://www.humanitariannews.org" target="_blank">Humanitarian News </a>stopped working. CRON is the mechanism scheduling and executing background jobs such as indexing your site for the internal search. CRON is particularly important on <a href="http://www.humanitariannews.org/" target="_blank">Humanitarian News</a> as it also imports posts from RSS feeds. No CRON, no new posts&#8230;<br />
Once more the answer from GoDaddy&#8217;s support desk was similar to previous issues: at first there was a denial there was a problem, but when I persisted, they confirmed there was indeed a problem, but were unable to tell me when the problem would be resolved. Nor could they inform me by email when the problem was resolved. This also made me realize there is no system to actually &#8216;close&#8217; a support ticket. A support issue seems to be closed the moment the client gives up, or when the answer is &#8216;we know of the problem, and it will be resolved. Bye!&#8217;&#8230;</p>
<p style="padding-left: 30px;"><span style="color: #ff0000;">Minus:</span> When there is a recognized problem that can not be cured on the spot, support often can not give you a time frame when it will be resolved, nor will they contact you when the problem is actually resolved.<br />
<span style="color: #ff0000;">Minus:</span> There is no system to close support tickets</p>
<p>That made me think about consumer rights&#8230; I guess I had only one right: To leave&#8230; But for the rest, it seemed I had no way to escalate a problem, or to appeal to what I felt was unfair consumer treatment. Imagine you buy a car, and the engine stops. You can drive it downhill, but for the rest, you won&#8217;t get far unless if you push it. And the garage won&#8217;t be able to tell you when the problem will be resolved. Would you accept that?</p>
<h4>The first step to recovery, is to recognize one is ill</h4>
<p>Despite repeated emails to the support service, little I could do to convince them about most of the performance problems. True, I used to manage DEC VAX and PDP systems twenty years ago, but Linux is not my thing and I have no system tools at my finger tips. I could not measure the actual performance of my site. But to my surprise, it seemed they did not have much of the tools neither to measure, monitor or benchmark performance issues on shared  hosts. And even less tools to analyse and/or cure the problems. I witnessed  little  eagerness, willingness (or ability?) to check performance logs.<br />
Nor  could anyone tell me what performance I could expect. What metrics were used? I figured I basically signed a blank  cheque.</p>
<p style="padding-left: 30px;"><span style="color: #ff0000;">Minus:</span> There is no benchmark or agreed performance to be expected from shared hosts.<br />
<span style="color: #ff0000;">Minus:</span> There is hardly any action taken on performance complaints</p>
<p><img class="alignright" title="Haddock in space" src="http://theroadtothehorizon.net/photo/haddock%20in%20space.jpg" alt="Haddock in space" width="250" height="227" />On some single occasions, I had GoDaddy admit there were actual problems on my shared server, but then their answer often was: &#8220;In the mean time, the problem has been resolved, please revert if you experience similar problems&#8221;.</p>
<p>It was then I also discovered:</p>
<p style="padding-left: 30px;"><span style="color: #ff0000;">Minus:</span> there is no refund for downtime, nor a money-back guarantee for dis-satisfied customers</p>
<h4>Signing a blank cheque</h4>
<p>As <a href="http://www.humanitariannews.org">Humanitarian news</a> continued to grow, I learned there were several system limits which are undocumented or rather grey-ishly documented: the fact that you can have 10 SQL databases per hosting service is fine, but none of them can be larger than 1 Gigabyte&#8230; If it grows larger than 1 Gigabyte, you can not back it up. Punto. It was also difficult to find what the maximum memory size. And there was no way to increase any of these. Virtual shared hosting formulae were not modular in design. Take or leave the standard formulae&#8230;<br />
It was also difficult for me to analyse the problem as I had limited access to error logs.</p>
<p style="padding-left: 30px;"><span style="color: #ff0000;">Minus:</span> Undocumented or poorly documented limitations of the hosting service.<br />
<span style="color: #ff0000;">Minus:</span> No PHP-error log access.</p>
<h4>Hackers aboard</h4>
<p>Then came the April-May debacle of <a href="http://www.blogtips.org/godaddy-hacked-again-another-way-to-cure/">the massive shared host hacks</a>. Several of my GoDaddy hosted websites got infected. Even though I cured the sites quickly, several sites went down repeatedly. I spent hours curing the infections the hackers left behind. Meanwhile Godaddy did not admit guilt, and continued to point the finger-of-blame towards WordPress and the individual users.<br />
I discovered how little repercussion the clients of (shared) hosting services really had. None of the hacks happened on dedicated hosts, the security holes apparently only happened on shared hosts.</p>
<p style="padding-left: 30px;"><span style="color: #ff0000;">Minus:</span> Shared hosting services are more vulnerable to hackers&#8217; attacks</p>
<p>I discovered how little support was given for the applications running on the hosting service: few of the support people actually understood Drupal, or WordPress, or Apache, or MySQL&#8230;, something which is not clearly stated when you sign up for a hosting service:</p>
<p style="padding-left: 30px;"><span style="color: #ff0000;">Minus:</span> Application support is limited.</p>
<p>The past few weeks, the problems with <a href="http://www.humanitariannews.org">Humanitarian News</a> got from bad to worse.The SQL server completely failed on several occasions, it timed out most others. This caused all kinds of database errors, which took days and days to resolve. I got mixed up into a whirl of snowball effects&#8230;</p>
<h4>The apotheosis</h4>
<p>It felt like the support desk would no longer put up with my persistent complaining on the lack of performance on their services: A few days ago, I received an email my website was put offline &#8220;as I used up too many resources&#8221;:</p>
<blockquote><p>It has come to our attention that your humanitariannews.org hosting account, specifically the humxxx database is causing the shared resources to be over-utilized. This, in turn, affects the usage by other customers.</p>
<p>We have disabled your database to return the server to normal usage. To re-enable your database, you will need to correct the following query:</p>
<p>Access is revoked. Problematic query:<br />
SELECT t.word AS realword, i.word FROM search_total t LEFT JOIN search_index i ON t.word = i.word WHERE i.word IS NULL</p>
<p>EXPLAIN:<br />
id select_type table type possible_keys key key_len ref rows Extra<br />
1 SIMPLE t index PRIMARY 152 266794 Using index<br />
1 SIMPLE i ref word_sid_type,word word 152 humxxx.t.word 29 Using where; Using index; Not exists</p>
<p>This query examines 7737026 rows, which is unacceptable in shared hosting.</p>
<p>Please respond to this message via email or phone with the steps you will take or have taken, to correct this issue, and access to your database can be restored.</p></blockquote>
<p>Admittedly the timing of this was rather weird. Anyways, I figured out the offending query was caused by the standard Drupal &#8220;Search&#8221; function. I disabled it, and it took GoDaddy 20 hours to bring the website back up. I asked them what the metrics they used to determine what resource consumption was acceptable and what was not. I am waiting for the answer.</p>
<p style="padding-left: 30px;"><span style="color: #ff0000;">Minus:</span> There are unclear metrics used on the use of shared resources</p>
<h4>I was given administrator rights to the entire server.</h4>
<p>Interestingly enough, when they gave me back the access to my own database, something really weird happened: I went into PHPMyadmin, to look at my SQL database and did not find the usual two databases, but over 2,400 databases. <em><strong>I clearly had access to the databases from all other users on my shared server. </strong></em></p>
<p><img class="aligncenter" title="list of databases on my SQL server" src="http://theroadtothehorizon.net/photo/list%20of%20databases%20on%20my%20shared%20host.jpg" alt="list of databases on my SQL server" width="305" height="400" /></p>
<p>And I found dozens of processes on my server too:</p>
<p><img class="aligncenter" title="list of processes on my shared host" src="http://theroadtothehorizon.net/photo/list%20of%20processes%20on%20my%20shared%20host.jpg" alt="list of processes on my shared host" width="430" height="187" /></p>
<p><strong><em>By error, I was given access to all 2,400 databases and all processes on my shared hosts</em>.</strong> I could delete 2,400 websites right there on the spot. Or I could play cat and mouse, and delete random SQL processes, and see how long it would take before Godaddy caught me.</p>
<p>Honestly lasts longer, though. I called them. Was put on hold for 12 minutes. Talked to a support guy. Who did not really seem to believe me at first. Then forwarded the request to the hosting experts, and thanked me for reporting the problem.</p>
<p>It took them a few hours to take away my &#8220;administrator&#8221; access on the shared server. This did not particularly strengthen my belief in the rigidness of the shared server management. And, just as before this incident, I could still read everyone&#8217;s access log (the log registering who does what on a website). <img src='http://www.blogtips.org/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  Godaddy is still checking if &#8216;that is normal&#8217; or not. (<span style="color: #ff00ff;">Update:</span> GoDaddy support confirmed it was normal I could read everyone&#8217;s access log)</p>
<div class="wp-caption aligncenter" style="width: 430px">
	<img title="access logs for all users on my shared server" src="http://theroadtothehorizon.net/photo/error%20logs%20of%20all%20users%20on%20my%20shared%20host.jpg" alt="access logs for all users on my shared server" width="430" height="254" />
	<p class="wp-caption-text">Access logs for a site called &quot;humongous&quot;</p>
</div>
<p style="padding-left: 30px;"><span style="color: #ff0000;">Minus:</span> &#8220;Shared hosting&#8221; and &#8220;security&#8221; are two words that should not be used within the same sentence.</p>
<p>I *did* get an email from &#8220;the office of the President&#8221; &#8211; that is the president of &#8220;GoDaddy.com&#8221;, and not of &#8220;the United States&#8221;, to thank me for reporting the security problem, saying they tried to call me to see if the issue was resolved.</p>
<p>I wrote them back stating the only way they could show their gratitude to me, and to their thousands of customers, was to monitor and cure their performance problems on the shared hosting servers&#8230;</p>
<h4><strong>So what did I learn from all of this:</strong></h4>
<ul>
<li> There are many hosting formulae, and many hosting suppliers. Choosing the right one is as critical as choosing the plot of land on which you will build your house.</li>
<li>GoDaddy Shared Hosting Services are only good for low traffic, low demand websites.</li>
<li>Technical support from Godaddy is limited, and only effective when you call.</li>
<li>If your website is critical, and you want a guaranteed performance and uptime, shared hosting is not what you want. Certainly not from Godaddy. Go for dedicated (virtual) hosts.</li>
</ul>
<h4><strong>The bottom line:</strong></h4>
<p>Am I pissed off? Kinda.. Mostly on myself. What kind of support would I have expected when paying US$4/month? Indeed: when you pay peanuts, you can only get monkeys.</p>
<p>I am now looking for another hosting formula, on another hosting provider. I will keep you in the loop of my discoveries in &#8220;Blogging Never-Ever-Land&#8221;.</p>
<p><img class="aligncenter" title="Tintin" src="http://theroadtothehorizon.net/photo/tintin.jpg" alt="Tintin" width="430" height="338" /></p>
<p><span style="color: #ff00ff;">Updates:</span></p>
<ol>
<li>One day after publishing this post, once again, BlogTips.org gave time-out errors. After half an hour online with the support services, they admitted there was a load problem on the server. They said it would typically take 3 days to resolve.<br />
Meanwhile <a href="http://petercasier.be" target="_blank">another site</a> gave &#8220;500 Internal Error&#8221; problems, which turned out to be a DNS setting which was changed. How? I still don&#8217;t know. &#8212; GoDaddy confirmed later on that this was a new option people could set. Apparently there was a problem in the migration.</li>
<li>Meanwhile, it seems that the option causing the DNS error is taken away from all hosting accounts&#8230;</li>
<li>I continued to experience problems, mostly time-outs when loading pages, but also performance problems with the SQL database. Godaddy support suggested I moved my shared hosting accounts to grid hosting, a process which can be done by the click of a button.<br />
Indeed, the migration process was fast and flawless.<br />
Let&#8217;s see if the performances gets better.</li>
<li>After migrating all but one of my hosting accounts to grid hosting, most of them started to give time-outs upon loading. Godaddy let me do a TRACERT to my domains, which showed on all but one, time-outs.</li>
<li>After 5 days of &#8220;we&#8217;re working on it&#8221;, I got a mail saying &#8220;Solved!&#8221;, but it failed at the first test. After that, for three days, I got &#8220;Working on it, but can not say when it would be resolved&#8221;.</li>
<li>The rest of my sites started to give &#8220;500 Internal errors&#8221;. I can&#8217;t wait for this holiday to end so I can migrate all my hosting accounts off Godaddy.</li>
<li>On July 20, Godaddy publishes an update on their support website: <em>&#8220;We&#8217;re aware of an issue within our Grid Hosting services impacting a few   customers.  While we&#8217;re fixing it, you might experience longer than  normal phone support hold times. Thanks for your patience.&#8221;<br />
</em>..a few customers&#8230; Right&#8230;</li>
<li>GoDaddy confirmed by telephone that TRACERT of one&#8217;s own domain should give a time-out as soon as the route enters their domains, as a security precaution. Makes me wonder then why I can do a TRACERT of all my domains I tried, except the one for the site which was unreachable&#8230; Beh.</li>
</ol>
<p>Pictures of &#8220;Tintin and The Seven Crystal Balls&#8221; and &#8220;Tintin, Destination Moon&#8221;, courtesy Editions Casterman.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blogtips.org/shared-hosting-pay-peanuts-get-monkeys/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Think Like A Social Media Marketing Genius</title>
		<link>http://www.blogtips.org/how-to-think-like-a-social-media-marketing-genius/</link>
		<comments>http://www.blogtips.org/how-to-think-like-a-social-media-marketing-genius/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 16:30:56 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[FYI Stuff]]></category>
		<category><![CDATA[How to... Stuff]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[social media (general)]]></category>

		<guid isPermaLink="false">http://www.blogtips.org/?p=310</guid>
		<description><![CDATA[An interesting slide set by social media guru Beth Kanter, showing how social media can be used as a marketing tool &#8211; specifically for non-profit organisations.
Some of the slides contain details you will only see when watching the slide show in full screen (click on the menu icon &#8211; Choose &#8220;Full screen&#8221;)..


]]></description>
			<content:encoded><![CDATA[<p></p><p>An interesting slide set by social media guru <a href="http://beth.typepad.com/beths_blog/" target="_blank">Beth Kanter</a>, showing how social media can be used as a marketing tool &#8211; specifically for non-profit organisations.</p>
<p>Some of the slides contain details you will only see when watching the slide show in full screen (click on the menu icon &#8211; Choose &#8220;Full screen&#8221;)..</p>
<p><img style="visibility: hidden; width: 0px; height: 0px;" src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNDU2ODE3OTEyMDMmcHQ9MTI*NTY4MTgwNTEwOSZwPTEwMTkxJmQ9c3NfZW1iZWQmZz*yJnQ9Jm89Yzk1NjM2MWM2NjRjNDU4MTk4OGYxNjJjNDg3NTZkMGUmb2Y9MA==.gif" border="0" alt="" width="0" height="0" /><br />
<object style="margin: 0px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=craigslistslideseinstein-090617200844-phpapp01&amp;stripped_title=craigs-list-nonprofit-bootcamp" /><param name="allowfullscreen" value="true" /><embed style="margin: 0px;" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=craigslistslideseinstein-090617200844-phpapp01&amp;stripped_title=craigs-list-nonprofit-bootcamp" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blogtips.org/how-to-think-like-a-social-media-marketing-genius/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nonprofit blogs: the common problems</title>
		<link>http://www.blogtips.org/nonprofit-blogs-the-common-problems/</link>
		<comments>http://www.blogtips.org/nonprofit-blogs-the-common-problems/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 14:25:19 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Easy Stuff]]></category>
		<category><![CDATA[How to... Stuff]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://www.blogtips.org/?p=1158</guid>
		<description><![CDATA[
777,  Seven hundred seventy-seven.
That is the amount of nonprofit blogs I have collected so far. They are all on my Delicious bookmarking list. Excerpts from their posts are republished on Humanitarian News and The NonProfit Blogs.
777, discarding blogs which have not been updated since six months.  777, including the Good, the Bad and the Ugly. [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><img class="aligncenter" title="close-up fishing net " src="http://theroadtothehorizon.net/photo/fishing%20net%20close-up.jpg" alt="close-up fishing net " width="430" height="285" /></p>
<p>777,  Seven hundred seventy-seven.</p>
<p>That is the amount of nonprofit blogs I have collected so far. They are all on <a href="http://delicious.com/nonprofitblogs" target="_blank">my Delicious bookmarking list</a>. Excerpts from their posts are republished on <a href="http://humanitariannews.org/nonprofitblogs" target="_blank">Humanitarian News</a> and <a href="http://nonprofitblogs.info" target="_blank">The NonProfit Blogs</a>.</p>
<p>777, discarding blogs which have not been updated since six months.  777, including the Good, the Bad and the Ugly. With absolute gems, but also &#8220;so-so&#8221; blogs. Blogs with daily updates, and blogs with one post per month. Team blogs, project blogs, blogs advising on nonprofit fundraising and those written by field workers deep in Africa. Photo blogs and blogs supporting scientific research.</p>
<p>For me, the nonprofit blogs collection is a good research basis:  As I flip through them, I turf different criteria, like their pagerank, an analysis published in <a href="http://www.blogtips.org/how-does-your-blog-score-on-pagerank/" target="_self">an earlier post</a>. Or I jot down <a href="http://www.blogtips.org/analyzing-200-nonprofit-blogs/" target="_self">different observations</a>.</p>
<p>As I was processing a batch of 150 new blogs in the last week, I took note of common problems I saw with many blogs. Let&#8217;s call it the <strong><em>&#8220;Top 10 of Nonprofit Blog Problems&#8221;</em></strong>:</p>
<p><span id="more-1158"></span></p>
<h4>Blog Problem 1: I have no clue what your blog is about</h4>
<p>As I showed <a href="http://www.blogtips.org/understanding-the-traffic-on-your-blog-part-2/" target="_self">in my case study</a>: about 85% of all traffic on your blog, are occasional or new visitors. They stumble upon your blog via search engines, bookmarking sites or forums. <a href="http://www.blogtips.org/understanding-the-traffic-on-your-blog-part-2/" target="_self">As the case study showed</a>, it only takes between 20 and 60 seconds for these new visitors to make up their mind, whether to stay on your blog or not. Thus, first impressions are important.</p>
<p>When I come across a new blog, one of the first things I look for is: &#8220;What is this blog all about&#8221;? I look at the title, glance quickly through the last blogposts, and often I check an &#8220;About&#8221; link on the page.</p>
<p>It is striking how many blogs obscure what they are all about. Is it a field blog? Are you solely writing about a certain event. Or is it about a research project? An advocacy blog?</p>
<p>If I can not make it out in the typical 20 to 60 seconds I spend on your blog, you lost me. As you will lose many new visitors.</p>
<p><span style="text-decoration: underline;"><em>My suggestions:</em></span><br />
Take an outsider. Have your nephew, a friend or your aunt go to your blog. Give them 60 seconds. In this time they have to tell you what your blog is about. If they can&#8217;t, you will need to change something:<br />
Make it obvious what your blog is about. Give your blog a clear title, publish a prominent tagline or slogan. Include an &#8220;About&#8221; tag somewhere on your prime real estate, as described <a href="http://www.blogtips.org/using-your-blog-real-estate-effectively/" target="_self">in this post</a>, linking to a page where you explain what your blog is all about. Ensure that &#8220;About&#8221; tag is visible on all blogposts and not just your home page.</p>
<h4>Blog Problem 2: I have no clue what your post is about</h4>
<p>You would be amazed how many blogs use vague titles. &#8220;June update&#8221;, &#8220;Pictures of the day&#8221;, &#8220;Links of 1/6/2010&#8243;. Those don&#8217;t tickle my interest.</p>
<p>Think of a post title as if it were a book title. Do you think a writer just slams any title on a book he worked on for six months? Of course not.</p>
<p>A post title is a teaser, just like a book title is. It should entice enough interest for people to actually read the content. Sure enough, &#8220;Links of 1/6/2010&#8243; contains probably some weblinks you recently discovered but &#8220;Links: Agriculture research in Africa, Harvesting Techniques and more&#8221; will tease more, wouldn&#8217;t it?</p>
<p>Remember many of your readers get you blog updates via RSS links, Email and aggregators. New visitors find a link via a search engine. If your title does not look  interesting, they will skip reading the post. Another visitor lost.</p>
<p><em><span style="text-decoration: underline;">My suggestions:</span></em><br />
Before you hit &#8220;Publish&#8221;, spent just 10 seconds thinking about the title. Ask yourself two questions: &#8220;Does it represent the content?&#8221; and &#8220;Am I teasing interest?&#8221;.</p>
<h4>Blog Problem 3: I can not find your RSS feed</h4>
<p>Returning visitors are a blog&#8217;s most precious resource. One new RSS subscriber, adds one more returning visitor.  So why do so many blogs hide their RSS?</p>
<p>Dear people, we live in the 21st century. The electronic age with its inherent information overflow. Most people don&#8217;t check updates on your blog every day, as they are following dozens of blogs. Most stay up to date via RSS readers, automatic Email updates, and aggregators. A blog without an RSS feed is a car without an engine. Nice, but pretty useless, unless if you tie a donkey in front of it. The car that is, not the blog.</p>
<p>Even if your blog has an RSS link, as a lazy visitor, I don&#8217;t want to go and look for it. Make my life easy please: make the RSS link prominent. Put a big fat RSS icon <a href="http://www.blogtips.org/using-your-blog-real-estate-effectively/" target="_self">on your prime blog real estate</a> and publish it correctly so browsers can pick it up.</p>
<p>Worse than NOT doing something, is to do something sloppy. Regularly, I come across blogs with outdated or faulty RSS links. The RSS feed is empty, contains outdated posts, links to an old Feedburner feed or <a href="http://feedvalidator.org/check.cgi" target="_blank">the feed just does not validate</a>. Some feeds feature blog posts with dates in the future, which appear on top of the RSS feed forever.</p>
<p><em><span style="text-decoration: underline;">My suggestions:</span></em><br />
Make it easy for people to subscribe to your blog with a prominent icon or &#8220;Subscribe&#8221; link, and check your own RSS feed regularly.</p>
<h4>Blog Problem 4: Your blog is slow</h4>
<p>I have a very fast Internet connection, but even then, I find blogs that take forever to load. As <a href="http://www.blogtips.org/how-to-speed-up-your-blog/" target="_self">I mentioned before</a>, if a page doesn’t load within 5-8 seconds, you will lose one-third of your visitors. People simply don&#8217;t have patience.</p>
<p>The common problems are not server related, but blogger related: too many pictures, or non-compressed pictures. A heavy Flash thingie on the banner. Or they are using too many widgets or RSS feeds.</p>
<p><span style="text-decoration: underline;"><em>My suggestions:</em></span><br />
In <a href="http://www.blogtips.org/how-to-speed-up-your-blog/" target="_self">this post</a>, I list ways to test your blog speed, and the most obvious ways to increase your blog&#8217;s download performance.<br />
If you selfhost your blog, it is a MUST to use a good cache plugin.</p>
<h4>Blog Problem 5: Who are you and how to contact you?</h4>
<p>When I stumble upon a new blog, I not only want to know what the blog is about, but also who you are, or what your organisation does. Don&#8217;t hide that information from me, please!</p>
<p>When you publish that information, make it concrete, to the point and short. Within the text, you can link to other pages or posts describing the various aspects of the work you do, but don&#8217;t give me a four course meal if I only want a snack. Please.</p>
<p>Why do so many blogs make it difficult to get in contact with the blogger? Scanning through my list of 777 nonprofit blogs, I often want to write a quick note or email to the blogger, when I notice a problem. If I want to do that effort, then why would you make that difficult for me?</p>
<p><span style="text-decoration: underline;"><em>Suggestions:</em></span><br />
Feature &#8220;Who are we&#8221; and &#8220;Contact us&#8221; as short but prominent links on <a href="http://www.blogtips.org/using-your-blog-real-estate-effectively/" target="_self">your blog&#8217;s prime real estate</a>. Or at least include them in your &#8220;About&#8221; text.<br />
Ensure this link is visible on every post, not just on the home page</p>
<h4>Problem 6: You have outdated links, missing pictures or dead videos.</h4>
<p>As blogposts rack up, it is more and more difficult to keep track of your older posts and to keep them up to date. However, visitors <em>do</em> land on older posts. Outdated links to internal or external posts, &#8220;Video no longer available&#8221;  or blank spaces where &#8220;a picture once was&#8221;, all give a very sloppy impression.</p>
<p>And not only that, search engines are said to punish sites with excessive dead links, so in the end your pagerank might suffer if you don&#8217;t maintain your posts regularly.</p>
<p><span style="text-decoration: underline;"><em>My suggestions:</em></span><br />
Use a tool like <a href="http://www.google.com/webmasters/tools" target="_blank">Google Webmaster</a> or <a href="http://validator.w3.org/checklink" target="_blank">the W3C Link checker</a> to verify your links regularly.<br />
From time to time, just have fun, and click around your site, browse through your old posts. Not only will you see what other visitors see, but sometimes it is just fun going through stuff you wrote three years ago! <img src='http://www.blogtips.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h4>Problem 7: Your blog or your posts are messed up</h4>
<p>Some blogs just don&#8217;t show up properly and blurbs of text, video or pictures run over the margins. Too lazy  to crop a picture to the right size? Or or ignorance on how to change the code of embedded videos to make it fit within your post column?</p>
<p>Remember also that <a href="http://www.blogtips.org/browser-compatibility-what-you-see-is-not-what-you-might-get/" target="_self">inter-browser compatibility is a real challenge</a> for a blogger.</p>
<p><span style="text-decoration: underline;"><em>My suggestions:</em></span><a href="http://www.blogtips.org/browser-compatibility-what-you-see-is-not-what-you-might-get/" target="_self"><br />
This post</a> gives you some useful tools to check how your blog looks like in different browsers.<br />
Spend the time to ensure the post is properly formatted.</p>
<h4>Problem 8: Too much text</h4>
<p>Yep, it is easy to take a Word document and then simple cut/paste to publish it. It takes a little more time to put some pictures in it, and to properly format a text into paragraphs. But boy, some blogs present just chunks of text. Chunks and chunks.</p>
<p>Personally, I don&#8217;t care how relevant your content is, but if it takes a real effort for me to read it, I will skip it.</p>
<p><em><span style="text-decoration: underline;">My suggestions:</span></em><br />
Use pictures (and properly compress them) to brighten up your posts.<br />
Put some breathing space in your text and use paragraphs,  or subtitles. Emphasize the pieces which are important.</p>
<h4>Problem 9: Too little text</h4>
<p>Unless you have a photo blog and you only want people to admire your pictures, posts deserve a bit of text. Pictures speak a thousand words, and are a power medium, but make sure people also understand what it is all about.</p>
<p>A blog only showing pictures with a one liner &#8220;Our village got a new water pump&#8221; is not enough. Explain what the background is, why the village waited for a water pump, how it will change the lives of people. The pictures will convey a much stronger message with a few lines of text.</p>
<p>Remember we are mostly considering nonprofit blogs. Therefor, your blog is a tool to bring a message to your audience. A tool in the hands of advocacy, fundraising, public information, etc&#8230; Just a flurry of pictures gives the impression &#8220;I&#8217;ll just throw it out there, and you go and figure it out&#8221;&#8230; Is that the impression you want people to have from your nonprofit?</p>
<p><span style="text-decoration: underline;"><em>My suggestions:</em></span><br />
Balance between pictures and text. Use pictures as illustrations, teasers or catalysts for the message you want to bring. A message you condense in the blog text. Make sure that message is not obscured.</p>
<h4>Problem 10: Spelling mistakes</h4>
<p>Sloppy, sloppy! It takes only one minute to spell check a post before it goes out. So spell check before you hit publish.</p>
<p><span style="text-decoration: underline;"><em>My suggestions:</em></span><br />
Even if your blog platform does not have a spell checker, use your browser&#8217;s or cut/paste the text into your word processor and check it there.</p>
<p>And above all: ensure you continue to have fun while you blog! <img src='http://www.blogtips.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.blogtips.org/nonprofit-blogs-the-common-problems/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WordPress 3.0 is out. Should you upgrade?</title>
		<link>http://www.blogtips.org/wordpress-3-0-is-out/</link>
		<comments>http://www.blogtips.org/wordpress-3-0-is-out/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 09:30:28 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Advanced Stuff]]></category>
		<category><![CDATA[How to... Stuff]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.blogtips.org/?p=1140</guid>
		<description><![CDATA[
If you don&#8217;t selfhost your blog, skip this post. It talks about a common problem all of us, selfhosters have. But if you don&#8217;t selfhost, you&#8217;re immune to this disease, which has as symptoms:

anxiety attacks,
 dizzy spells,
 recurring nightmares,
 adversity to &#8220;check for upgrades&#8221; or even &#8220;admin menus&#8221; buttons,
 and above all: fierce regret to [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><img class="aligncenter" title="WordPress 3.0 available" src="http://theroadtothehorizon.net/photo/WordPress%203.0%20is%20available.jpg" alt="WordPress 3.0 available" width="331" height="65" /></p>
<p>If you don&#8217;t selfhost your blog, skip this post. It talks about a common problem all of us, selfhosters have. But if you don&#8217;t selfhost, you&#8217;re immune to this disease, which has as symptoms:</p>
<ul>
<li>anxiety attacks,</li>
<li> dizzy spells,</li>
<li> recurring nightmares,</li>
<li> adversity to &#8220;check for upgrades&#8221; or even &#8220;admin menus&#8221; buttons,</li>
<li> and above all: fierce regret to ever have gotten to this stage where you are considered a &#8220;webmaster&#8221;, but deep down inside you  realize you know shit, and that big &#8220;Internet Publishing&#8221; monster is far bigger and more powerful than you will ever be.</li>
</ul>
<p>But as you are here, welcome. <span style="color: #ff99cc;">Welcome into this safe space. This is the selfhosters&#8217; cocoon. You don&#8217;t have to click any critical upgrade buttons here. You are safe here&#8230; Everything will be OK! (soft music playing in the background, a bunny-dressed waitress brings you your favourite drink,..)</span></p>
<p>&lt;pink off&gt; Where were we? Oh, right, back to the post. We were talking about dreaded upgrades&#8230;</p>
<p><span id="more-1140"></span>Do you have that feeling too? Do you stare at the &#8220;Upgrade available &#8211; Click here&#8221; prompt&#8230; For your laptop software, your iPhone applications, you know what that might mean: &#8220;Heaven or Hell&#8221;&#8230; Either you get additional functionality, or &#8220;The World As You Know It&#8221; will crash. For the former, you&#8217;re cool until the next week when more upgrades are available. In case of the latter, you&#8217;ll be busy downgrading, retrofitting, restoring backups and patching for the rest of the night.</p>
<p>Upgrading your iPhone and laptop is one thing, but upgrading your blog, is another. If you fail, you can&#8217;t keep it private. When you website crashes, it is there for the world to know. You&#8217;re then just waiting for the first tweet from one of your visitors:</p>
<blockquote><p><code>"www.yoursite.com is down again. Daaah. #FAIL"</code></p></blockquote>
<p>But still, you know, to be &#8220;part of the bunch&#8221;, you really should click that button, and upgrade. Although, for myself, I have to admit, half of the time I don&#8217;t really know why I should upgrade. Hardly any of the upgrades give me additional functionality I have really been waiting for. When reading through the upgrade notes, I rarely come across anything I need, or even understand. Know that feeling?<br />
And yet the feeling of &#8220;I have to execute that upgrade&#8221;, is compulsive. I don&#8217;t really know why. Probably because I don&#8217;t want to be left out. Because it somewhere guarantees that my plugins remain compatible one to another. Or it might solve a bug I have not come across yet. Or I don&#8217;t want to skip upgrades for several months, only to realize half a year down the line none of my plugins are compatible anymore with a really needed upgrade, a security patch for instance. And we all know what a drag it is to go through six months of delayed upgrades, and how all the possible conflicts would then be condensed into one major upgrade, increasing your chance of:</p>
<blockquote><p><code>"www.yoursite.com is down again. Daaah. #FAIL"</code></p></blockquote>
<p>I have about 10 selfhosted sites. Most on WordPress and Drupal. I use plugins (or modules in Drupal) sparingly, and restrict myself only to those I really need. Here on BlogTips, I have 15 of them. A pretty average number I have across all of my blogs. On most sites I actually use the same plugins. Even so, I get about two to five upgrade notifications per week. Per week&#8230;. Two to five chances to wake up in hell.</p>
<p>Sure enough, just like any conscientious blogger, I have a test site where I try out the upgrades first. (You have one too, right? Right????) If my testblog survives the plugin upgrade, I do the upgrades on my life blogs. But it is a drag. It is something as a blogger, I don&#8217;t look forward to. I want to concentrate on writing content, not on dealing with all of that &#8220;webmaster&#8221; stuff&#8230;</p>
<p>Then comes the time, where the ultimate nightmare comes. A major upgrade of your blogsoftware is released. Like this weekend&#8217;s <a href="http://wordpress.org/development/2010/06/thelonious/">WordPress 3.0 release</a>.<br />
Don&#8217;t get me wrong, I love WordPress. I think it is -hands down- the best blogging software around. I love the idea such a piece of quality software is put in the public domain, free for all to use. I love the idea that hundreds of software developpers all over the world contribute to it. I love the user forums and support infrastructure. I also love that, compared to any software, the bugs are few and the functionality is great.</p>
<p>WordPress 3.0 will for sure give me additional functionality. Some of it, I want. Some of it, I could not care less about.</p>
<ul>
<li>It has a new default theme, called Twenty Ten. <em>&#8211; Mmm, don&#8217;t use the default themes.</em></li>
<li>Theme developers get new APIs to easily implement custom backgrounds, headers, shortlinks, menus, post types, and taxonomies. <em>&#8211; Thankyouverymuch, but I am not a theme developer</em></li>
<li> MU and WordPress have now merged into one product, allowing you to create multiple blogs with one installation <em>&#8211; Which I don&#8217;t need. Not at this moment anyway.</em></li>
<li>Contextual help on every admin screen<em> &#8212; Nice, but I hardly ever use the help screens. </em></li>
<li>Proper menus <em>&#8211; Ah something I really looked forward to. But you can only use it, if your theme supports menus. Some of mine don&#8217;t. But I have to admit, this, together with the taxonomy feature would make WordPress move closer into the functionality of a proper CMS (Content Management System), which is something I firmly believe in&#8230;</em></li>
<li>Bulk updates so you can upgrade your theme, your 15 plugins and WordPress all with a single click <em>&#8211; Something I don&#8217;t use, as I want to upgrade them one by one, just in case anything goes wrong.</em></li>
<li>1,217 bug fixes and feature enhancements <em>&#8211; Oh dear, that many bugs?</em></li>
</ul>
<p>Again, don&#8217;t get me wrong. Let me restate it clearly: I &lt;heart&gt; WordPress. And watching their release video, I can be nothing but enthusiastic about the work the team does:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="224" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="guid=BQtfIEY1&amp;width=400&amp;height=224&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M" /><param name="src" value="http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21" /><param name="wmode" value="transparent" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="400" height="224" src="http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21" allowfullscreen="true" wmode="transparent" flashvars="guid=BQtfIEY1&amp;width=400&amp;height=224&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M"></embed></object></p>
<p>But then again, my heart beats faster when I look at that dreaded &#8220;Upgrade Now&#8221; button. &#8220;To upgrade or not the upgrade&#8221;, that is the question.</p>
<p>As you know, on BlogTips I mostly write about stuff I am confronted with, as an average Joe Blogger. And stuff people ask me. So the question is indeed, upgrade or not? Well the first thing I did, is go to the <a href="http://wordpress.org/support/">WordPress support forums</a>, and look at the upgrade problems people are faced with. While the WordPress 3.0 forum seems to be closed, most of the issues seem to be in the <a href="http://wordpress.org/support/forum/2">Installation forum</a>. Browsing through the topics I see:</p>
<ul>
<li>There are some issues with hosting services:<br />
<blockquote><p>just finished chatting with Hostgator support and they&#8217;ve told me everyone is having issues installing wp3 &#8211; so they don&#8217;t recommend it for now.</p></blockquote>
</li>
<li>There are some issues with the memory size on hosting services, where 32 Mb does not seem to be sufficient. The work around by changing the memory limit in the php.ini and wp-config.php file seem to work around that, but I really can not remember what the memory limit is for the hosting service I use. And of course a search on Godaddy for &#8220;memory limit Linux hosting&#8221; returns ziltch.</li>
<li>Some plugins are clearly not compatible, or are conflicting with WP 3.0. Some themes might have problems.</li>
<li>And of course the worse of the worse, the blogmaster&#8217;s nightmare:<br />
<blockquote><p>I tried to upgrade to Wordpress 3.0 today. I did an automatic update, told me it was successful. Then I tried to go to another page in the dashboard and it gave me an error message.</p></blockquote>
</li>
</ul>
<p>Given the fact there are 10 million installations of WordPress in the world, I am sure there will be some issues popping up. We live in an imperfect world. The more as the quality control of plugins and themes is really left to the individual developpers. But, browsing through the forum, there does <strong>not </strong>seem to be a general &#8221; #FAIL &#8221; outcry. That is positive.</p>
<p>So what to do next? I quietly upgraded one of my test blogs. And..</p>
<p><img class="aligncenter" title="WordPress 3.0 upgrade screen" src="http://theroadtothehorizon.net/photo/WordPress%203%20upgrade%20screen.jpg" alt="WordPress 3.0 upgrade screen" width="430" height="221" /></p>
<p>&#8230;it worked fine. The new functionality was there (apart from the fact that my theme did not support menus). Writing and publishing new posts seemed to work. None of my plugins puffed out, and all seems to be happy-happy. So what was all the fuzz about? Were my fears really unfounded?</p>
<p>What to do next? Well, I will sit on my hands, and wait. I will weather the storm for a while. There are those who love to sail in fierce winds, but I am not that kind of sailor. I take the safe route. I will wait for a while, keep my ship at bay, and see what the others come up with. And wait for some inevitable bug fixes. That is what I am going to do.</p>
<p>And I will live with the fact that for the next couple of weeks, I will dream of only one thing:</p>
<p><img class="aligncenter" title="WordPress 3.0 available" src="http://theroadtothehorizon.net/photo/WordPress%203.0%20is%20available.jpg" alt="WordPress 3.0 available" width="331" height="65" /></p>
<p><span style="color: #ff00ff;">Update July 16 2010:</span><br />
Since publishing this post, I have successfully upgraded three blogs to WordPress 3.0, including <a href="http://www.petercasier.be">one rather unconventional RSS based site</a>. I had no problems thus far.<br />
I am still waiting to upgrade my remaining sites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blogtips.org/wordpress-3-0-is-out/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Securing your WordPress blog</title>
		<link>http://www.blogtips.org/secure-wordpress-blog/</link>
		<comments>http://www.blogtips.org/secure-wordpress-blog/#comments</comments>
		<pubDate>Tue, 25 May 2010 19:36:30 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Geeky Stuff]]></category>
		<category><![CDATA[How to... Stuff]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.blogtips.org/?p=1042</guid>
		<description><![CDATA[
Bloggers have rushed to secure their selfhosted WordPress blogs after the recent massive hacks on shared hosts. I was one of them, even though only one of my blogs was affected. I spent hours browsing, looking for good resources, common knowledge, and solid tips to form a list of quitessentials on WordPress security. I also [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><img class="aligncenter" title="Old padlock" src="http://theroadtothehorizon.net/photo/old%20padlock.jpg" alt="old padlock" width="430" height="323" /></p>
<p>Bloggers have rushed to secure their selfhosted WordPress blogs after <a href="http://www.blogtips.org/analysis-of-the-latest-website-hacks/" target="_self">the recent massive hacks on shared hosts</a>. I was one of them, even though only one of my blogs was affected. I spent hours browsing, looking for good resources, common knowledge, and solid tips to form a list of quitessentials on WordPress security. I also found some useful plugins.</p>
<p>However, as with all things, there are good tips, tips that kinda work and tips that might bring you into more trouble. At the same level, you can keep on uploading plugins into WordPress until the year 2020. Each plugin is a potential hazard by itself. The developer can cease its support, leaving you standing in your underwear in the middle of Blogging Street. And the more plugins you have, the more maintenance your blog will need: upgrading to new releases might become a hassle, knowing every single release is a potential bug farm. It would not be the first time I do a quick &#8216;Upgrade&#8217; of a minor plugin &#8220;just before going to bed&#8221; only to find myself trying to get my blog to work again as &#8216;the minor upgrade&#8217; conflicted with something else and crashed the whole site. Sigh.</p>
<p><span id="more-1042"></span>So&#8230; think before you do anything hastily. For every plugin, check the forum posts related to it, check for bug reports and Google its name to see if there are any complaints.</p>
<p>In a past week, I installed several recommended plugins on some of my test blogs, and will report back if I find good and useful stuff. Meanwhile, I will restrict my recommendation to the WordPress File Monitor plugin I wrote about <a href="http://www.blogtips.org/monitor-maliciousfile-changes-wordpress-blog/" target="_self">in my previous post</a>.</p>
<p>As for the tips on security, same thing: I will restrict myself to the bare essentials. After all, I am a blogger, not a systems engineer or a web designer. I have limited time and patience to devote to the technicalities of keeping a blog up and running. I&#8217;d like to concentrate on contents more than PHP code and SQL database queries.</p>
<p>Nevertheless, I want to list some of the posts on WordPress security that have been cross referenced several times.</p>
<ul>
<li><a title="Permanent Link to 12 Essential Security Tips and  Hacks for WordPress" href="http://sixrevisions.com/wordpress/12-essential-security-tips-and-hacks-for-wordpress/" target="_blank">12 Essential Security Tips and Hacks for WordPress</a> by Syed Balkhi</li>
<li><a href="http://codex.wordpress.org/Hardening_WordPress" target="_blank">Hardening WordPress</a> from the WordPress site itself.</li>
<li><a href="http://www.noupe.com/how-tos/wordpress-security-tips-and-hacks.html" target="_blank">WordPress Security Tips and Hacks</a></li>
<li><a href="http://www.problogdesign.com/wordpress/11-best-ways-to-improve-wordpress-security/" target="_blank">11 Best Ways to Improve WordPress Security</a></li>
<li><a href="http://www.josiahcole.com/2007/07/11/almost-perfect-htaccess-file-for-wordpress-blogs/" target="_blank">The Almost Perfect htaccess File for WordPress Blogs</a> by Josiah Cole</li>
</ul>
<p>After going through all of these, I found some good tips which I will consider, some I will disregard (e.g. I can not lock any file access to a fixed IP address as I don&#8217;t work from a single location, and my ADSL lines have dynamic IPs), but there is one I highly recommend to you:</p>
<h4>Secure the wp-config.php file!</h4>
<p>If you are not familiar with the wp-config.php file in your root directory, take a look at its content&#8230;.<br />
<br/><img class="aligncenter" title="scared face" src="http://theroadtothehorizon.net/photo/scared%20face.jpg" alt="scared face" width="270" height="202" /></p>
<p>Yep, that&#8217;s right, you&#8217;d better believe your eyes&#8230; Here is the basic security access data for the inner workings of your WordPress blog. All readable in plain ASCII. So you&#8217;d better secure that file, or your blog is wide open as the Louisiana flood gates!</p>
<p>The fastest and easiest way to protect your wp-config file is by adding the following lines at the bottom of the .htaccess file on your root directory:</p>
<blockquote><p><code># BEGIN protect wpconfig.php<br />
&lt;files wp-config.php&gt;<br />
order allow,deny<br />
deny from all<br />
&lt;/files&gt;<br />
# END protect wpconfig.php<br />
</code></p></blockquote>
<p>This code basically blocks &#8220;world access&#8221; to the file.</p>
<p>Do it now. Safe blogging!</p>
<p>This WP-config tip was discovered via <a href="http://www.wpsecuritylock.com/wordpress-security-tip-how-to-protect-the-wp-config-php-file/" target="_blank">WPSecurityLock</a> and <a href="http://www.devlounge.net/code/protect-your-wordpress-wp-config-so-you-dont-get-hacked" target="_blank">DevLounge</a><br />
Pictures courtesy <a href="http://www.public-domain-image.com" target="_blank">Public Domain Image</a> and <a href="http://thenosebean.wordpress.com" target="_blank">The Nosebean&#8217;s Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blogtips.org/secure-wordpress-blog/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Automatically monitor malicious file changes on your WordPress blog</title>
		<link>http://www.blogtips.org/monitor-maliciousfile-changes-wordpress-blog/</link>
		<comments>http://www.blogtips.org/monitor-maliciousfile-changes-wordpress-blog/#comments</comments>
		<pubDate>Sun, 23 May 2010 09:20:24 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Geeky Stuff]]></category>
		<category><![CDATA[How to... Stuff]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.blogtips.org/?p=999</guid>
		<description><![CDATA[
During the the latest spree of hacks in April and May, hackers dropped a malicious .PHP script on the root directory of selfhosted blogs.
The script changed all .PHP files, adding one line of code which redirected visitors to a virus-infested site, and then deleted itself. There was anything between a day and an hour between [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><img class="aligncenter" title="Sherlock Holmes with magnifying glass" src="http://theroadtothehorizon.net/photo/sherlock%20holmes%20and%20magnifying%20glass.jpg" alt="Sherlock Holmes with magnifying glass" width="318" height="323" /></p>
<p>During the <a href="http://www.blogtips.org/godaddy-hacked-again-another-way-to-cure/">the latest spree of hacks</a> in April and May, hackers dropped <a href="http://www.blogtips.org/analysis-of-the-latest-website-hacks/" target="_self">a malicious .PHP script on the root directory of selfhosted blogs</a>.<br />
The script changed all .PHP files, adding one line of code which redirected visitors to a virus-infested site, and then deleted itself. There was anything between a day and an hour between the drop of the hacking .PHP file, and its self-deletion.</p>
<p>In my frantic search to close the security holes on my blogs, I came across a WordPress plugin called <a href="http://wordpress.org/extend/plugins/wordpress-file-monitor/" target="_blank">WordPress File Monitor</a> by <a href="http://mattwalters.net/blog/" target="_blank">Matt Walters</a>.</p>
<p><span id="more-999"></span>The plugin monitors your WordPress installation for any file changes incurred by scanning your directories from the root down. The plugin detects changes based on the files&#8217; hash (a number that uniquely identifies each file based on content, name and timestamp) or on the timestamp of the files only. Of course the &#8220;hash&#8221; method is more secure, but takes more computing time from your server.</p>
<p>&#8220;Changes&#8221; could be an upload of a file, the deletion of a file, or changes made inside a file.</p>
<p>You can configure the scan to happen between 1 minute and an indefinite interval. Or you can decide to only scan your files manually from the dashboard.</p>
<p>When a change is detected, a notification appears on your WordPress dashboard:</p>
<p><img class="aligncenter" title="WordPress File Monitor Dashboard warning" src="http://theroadtothehorizon.net/photo/file%20monitor%20dashboard%20warning.jpg" alt="WordPress File Monitor Dashboard warning" width="430" height="50" /></p>
<p>Clicking on &#8220;View changes&#8221; gives you more details. In our case a file called &#8220;try.php.jpg&#8221; was dropped at the root directory level:</p>
<p><img class="aligncenter" title="WordPress File Monitor Alert Notification" src="http://theroadtothehorizon.net/photo/WordPress%20File%20Monitor%20Notification.jpg" alt="WordPress File Monitor Alert Notification" width="430" height="145" /></p>
<p>Based on the alert, you can take the appropriate action, or just clear the alert.</p>
<p>You can also configure the  plugin to send an email alert to a specified address. As a test, I set the scan interval to one minute and edited the .htaccess file on my root directory. The warning email was sent immediately:</p>
<blockquote><p><code>This email is to alert you of the following changes to the file system of your website at http://www.haveimpact.org<br />
Timestamp: Sun, 23 May 2010 00:11:54 +0200</code></p>
<p><code>Changed:<br />
.htaccess</code></p></blockquote>
<p>As some directories, such as cache directories, change their information on the fly, you can exclude them from the scan.</p>
<p>This plugin is highly recommended to help you secure your selfhosted WordPress blog!</p>
<p>Read more about blog security in <a href="http://www.blogtips.org/tag/security/" target="_self">these posts</a>.</p>
<p>Picture courtesy <a href="http://www.discoveriesinmedicine.com" target="_blank">Discoveries in Medecine</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blogtips.org/monitor-maliciousfile-changes-wordpress-blog/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to block users uploading malware to your blog?</title>
		<link>http://www.blogtips.org/avoid-users-uploading-malware/</link>
		<comments>http://www.blogtips.org/avoid-users-uploading-malware/#comments</comments>
		<pubDate>Sat, 22 May 2010 18:35:21 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Geeky Stuff]]></category>
		<category><![CDATA[How to... Stuff]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.blogtips.org/?p=1013</guid>
		<description><![CDATA[Many shared hosts don't protect you from users uploading and executing malicious code to your website. Here is how to close that loop hole for hackers.]]></description>
			<content:encoded><![CDATA[<p></p><p><img alt="Drop the bomb" src="http://theroadtothehorizon.net/icon/other/drop%20the%20bomb.jpg" title="Drop the bomb" class="aligncenter" width="206" height="200" /></p>
<p>While <a href="http://www.blogtips.org/analysis-of-the-latest-website-hacks/">researching ways to better protect my blog</a>, I discovered a loophole typical for selfhosted sites on shared servers, such as GoDaddy.</p>
<p>The loophole concerns all PHP based CMS (Contents Management Systems), including WordPress, Drupal, Joomla, phpBB, etc&#8230;: Many of them allow users to upload files: Forums allow attachments to posts, users can upload their avatar in .jpg format, some comment systems allow code to be embedded. Combine this with shared-hosting services like mine, GoDaddy, which allow files without the .php extension to be executed as if they were PHP code, and you have a hacker&#8217;s bomb.</p>
<p>Here is how you can simulate a file drop hack:</p>
<p><span id="more-1013"></span>
<ol>
<li> Create a simple text file with a simple text editor and put the following PHP code in it:<br/><br />
<blockquote><p><code>php<br />
phpinfo();<br />
?&gt;</code></p></blockquote>
<p>This code does no harm. The command only displays the basic PHP variables for your site, but a hacker could put any malicious PHP code in it, <a href="http://blog.sucuri.net/2010/05/found-code-used-to-inject-malware-at.html" target="_blank">including code that modifies all files on your site</a>.</li>
<li>Save it as test.php.jpg</li>
<li>FTP it to the root of your site</li>
<li>Execute it in your browser (and you don&#8217;t have to be logged in) as:<code> http://www.yoursite.com/test.php.jpg</code></li>
<li>If you get a &#8220;Page not Found&#8221; error, you are cool, and your hosting service protects you from this hacking method. But if you see something like this screen, the output from the php-code you just uploaded, your host is vulnerable:</li>
<p><br/><img class="aligncenter" title="test screen output" src="http://theroadtothehorizon.net/photo/screen%20output%20from%20test.jpg" alt="test screen output" width="400" height="344" /><br />
&#8230; and if the code were malicious, the user just dropped a hacker&#8217;s bomb on your site&#8230;.</ol>
<p>Sure enough, a user does not have FTP access to your site (I hope!). But&#8230; as long as he can upload the file, even as a disguised .jpg file as in our example, and figure out where the uploaded file  is stored in your site&#8217;s file structure, he can execute it.</p>
<p>How can you can protect your blog from users uploading disguised PHP file? This <a href="http://core.trac.wordpress.org/ticket/11122">documented vulnerability</a> can be corrected by adding some code at the bottom of your .htaccess file in the root directory of your blog (or any PHP-based CMS):</p>
<ol>
<li>As for any changes you make to any file on your site, first backup the .htaccess file, so you can roll back in case it does not work for you.</li>
<li>Edit the .htaccess file and add the following piece of code at the bottom:<br />
<br/><br />
<blockquote><code># BEGIN drop-file hack stopper<br />
RemoveHandler application/x-httpd-php .php<br />
&lt;FilesMatch ".(php|php5|php4|php3|phtml|phpt)$"&gt;<br />
SetHandler x-httpd-php5<br />
<!--<span class="hiddenSpellError" pre=""-->FilesMatch&gt;<br />
&lt;FilesMatch ".phps$"&gt;<br />
SetHandler x-httpd-php5-source<br />
&lt;/FilesMatch&gt;<br />
# END drop-file hack stopper</code></p></blockquote>
</li>
<li>Upload the modified .htaccess file to your root directory</li>
<li> Now, assuming you still have the test.php.jpg on your root directory, try executing it again with the same command: <code>http://www.yoursite.com/test.php.jpg</code></li>
</ol>
<p>If now, you get a &#8216;Page not Found&#8217; error, then you are protected. At least for this hack, that is.</p>
<p>One word of caution: this was NOT the method used in <a href="http://www.blogtips.org/how-to-check-if-your-blog-is-infected-with-malware/" target="_self">the most recent massive hack affecting thousands of sites</a>, as <a href="http://www.blogtips.org/analysis-of-the-latest-website-hacks/" target="_blank">described in this post</a>, but at least it closes one more door for hackers. A door which gives them unlimited access to your website.</p>
<p>Safe blogging!</p>
<p>Cartoon courtesy <a href="http://www.sos.state.or.us/archives/exhibits/ww2/" target="_blank">Life on the Homefront</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blogtips.org/avoid-users-uploading-malware/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Godaddy hacked again. Another way to cure your site.</title>
		<link>http://www.blogtips.org/godaddy-hacked-again-another-way-to-cure/</link>
		<comments>http://www.blogtips.org/godaddy-hacked-again-another-way-to-cure/#comments</comments>
		<pubDate>Mon, 17 May 2010 17:10:13 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Geeky Stuff]]></category>
		<category><![CDATA[How to... Stuff]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.blogtips.org/?p=948</guid>
		<description><![CDATA[
Godaddy got hacked again this morning (This is what Godaddy has to say about it). Update: and again on May 20.
If you host your blog on Godaddy, you would do well to check your site regularly for any malware, and here is how.
The hack is the same as the previous 4 hacks, affecting thousands of [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><img class="aligncenter" title="hacker" src="http://theroadtothehorizon.net/photo/hacker-1.jpg" alt="hacker" width="279" height="300" /></p>
<p>Godaddy got <a href="http://blog.sucuri.net/2010/05/continuing-attacks-at-godaddy.html" target="_blank">hacked again</a> this morning (<a href="http://community.godaddy.com/support/?isc=smtwsup" target="_blank">This</a> is what Godaddy has to say about it). <span style="color: #ff00ff;">Update:</span> <a href="http://blog.sucuri.net/2010/05/here-we-go-again-problem-at-godaddy.html" target="_blank">and again on May 20</a>.<br />
If you host your blog on Godaddy, you would do well to check your site regularly for any malware, and <a href="http://www.blogtips.org/how-to-check-if-your-blog-is-infected-with-malware/">here</a> is how.</p>
<p>The hack is the same as the previous 4 hacks, affecting thousands of sites: A oneliner malware code is inserted in every single .php file on your site, starting with:</p>
<blockquote><p><code>?php /**/ eval(base64_decode("goobledegoob"))</code></p></blockquote>
<p>I described <a href="http://www.blogtips.org/how-to-cure-your-godaddy-wordpress-hacked-blog/">before how to cure it</a>, but here is another, slightly more sophisticated way which first lists the infected files, prompts to continue, deletes the oneliner malware in all of your .php files, and lists the cured files. It is inspired by a script written by Andy Stratton in <a href="http://theandystratton.com/2010/godaddy-shared-linux-hosting-hack-fix" target="_blank">this post</a>.</p>
<p>The script will not only work for Godaddy + Wordpress, but for any .PHP based site (I used it this morning to cure a Drupal site) on any host.</p>
<p><span id="more-948"></span>Here are the right steps to follow:</p>
<ol>
<li>Make sure you backup your site, just to make sure. There are many tools to do so, but a &#8220;brute force&#8221; copy of your entire blog directory to your local computer using an FTP tool like <a href="http://filezilla-project.org/" target="_blank">Filezilla</a>, works fine.</li>
<li>Download <a href="http://theroadtothehorizon.net/script/fixfiles.zip">this zip file</a>. It contains a file called &#8220;fixfiles.php&#8221;. Extract it and store it on your computer.<br />
(Ok, no zipfile? <a href="http://theroadtothehorizon.net/script/fixfilesphp.txt" target="_blank">Here</a> is the fixfilesphp.txt version. Save it as fixfiles.php)</li>
<li>FTP the &#8220;fixfiles.php&#8221; file to the root directory of your blog. In GoDaddy, that is the /HTML directory (which also contains index.php, wp-login.php etc..):
<p><br/><div class="wp-caption aligncenter" style="width: 400px">
	<img title="GoDaddy Root Directory" src="http://theroadtothehorizon.net/photo/godaddy%20root%20directory.jpg" alt="GoDaddy Root Directory" width="400" height="233" />
	<p class="wp-caption-text">GoDaddy Root Directory</p>
</div></p>
<p>If you only want to clean a subdirectory (and its underlying tree), put the file in that the subdirectory, but remember also the command in the next line will have to reflect that.</li>
<li>Then execute the code with the command:<br />
<blockquote><p><code>http://yoursite.com/fixfiles.php</code></p></blockquote>
<p>or</p>
<blockquote><p><code>http://yoursite.com/subdir/fixfiles.php<br />
</code></p></blockquote>
<p>if you put it in a sub directory)</li>
<li>The code will first scan for the malware code in your files, in both the directory it is put, and all underlying directories.<br />
If you get the message:</p>
<blockquote><p><code>0 Infected Files in ./</code></p></blockquote>
<p>&#8230;then your site is clean.<br />
If any malware is found, the script will list the infected files and prompt you to fix them:</p>
<p><img class="aligncenter" title="malware found - fix the files" src="http://theroadtothehorizon.net/photo/infected%20files%20message.jpg" alt="malware found - fix the files" width="250" height="125" />Click on &#8220;Fix Files&#8221;, Click OK on the prompt to proceed:</p>
<p><img class="aligncenter" title="Prompt to fix malware" src="http://theroadtothehorizon.net/photo/prompt%20to%20continue%20fixfiles.jpg" alt="Prompt to fix malware" width="300" height="95" /><br />
The script will scan through all files again, and clean the malware. It will list all files that were cleaned.</p>
<p><img class="aligncenter" title="Malware scan finished" src="http://theroadtothehorizon.net/photo/malware%20scan%20finished.jpg" alt="Malware scan finished" width="250" height="47" /></li>
<li>Delete the &#8220;fixfiles.php&#8221; file from your site after execution.</li>
<li>If you are using a caching plug-in, don&#8217;t forget to <strong>CLEAR YOUR CACHE</strong>, otherwise the malware will continue to be served to your users, even though you cleaned your .php code</li>
</ol>
<p>All of that is &#8220;curing&#8221; the problem. I have looked everywhere, but am yet to find a way to &#8220;avoid&#8221; the infection. It looks like the hackers found a loophole in Linux shared hosts (and not just those on Godaddy), which the hosting companies have been unable to identify and/or close.</p>
<p>Until such time, scan your sites every day, and cure the problem immediately before your visitors get infected.</p>
<p>Picture courtesy <a href="www.owningpink.com" target="_blank">Owning Pink</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blogtips.org/godaddy-hacked-again-another-way-to-cure/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>How to check if your blog is infected with malware?</title>
		<link>http://www.blogtips.org/how-to-check-if-your-blog-is-infected-with-malware/</link>
		<comments>http://www.blogtips.org/how-to-check-if-your-blog-is-infected-with-malware/#comments</comments>
		<pubDate>Fri, 14 May 2010 02:06:28 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Geeky Stuff]]></category>
		<category><![CDATA[How to... Stuff]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.blogtips.org/?p=933</guid>
		<description><![CDATA[I reported before how to detect if your blog was infected with the recent massive hackers attacks on hosting sites, and how to cure it.
As a follow up, here is the easiest way to detect if your blog has the malware injected: Use the sucuri.net free scanner !
Just enter you blog URL including &#8220;http://&#8221;, press [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="wp-caption aligncenter" style="width: 430px">
	<img title="Sucuri.net malware scanner" src="http://theroadtothehorizon.net/photo/malware%20scan.jpg" alt="Sucuri.net malware scanner" width="430" height="256" />
	<p class="wp-caption-text">Sucuri.net malware scanner</p>
</div>
<p>I reported <a href="http://www.blogtips.org/how-to-cure-your-godaddy-wordpress-hacked-blog/">before</a> how to detect if your blog was infected with the recent massive hackers attacks on hosting sites, and how to cure it.</p>
<p>As a follow up, here is the easiest way to detect if your blog has the malware injected: Use the <a href="http://sucuri.net/?page=scan" target="_blank">sucuri.net free scanner</a> !</p>
<p>Just enter you blog URL including &#8220;http://&#8221;, press &#8220;Scan&#8221;, and there you go.</p>
<p>If the &#8220;Malware information&#8221; tab goes red, this means that -unfortunately- your site has been infected.</p>
<p>Cure the problem immediately as I described <a href="http://www.blogtips.org/how-to-cure-your-godaddy-wordpress-hacked-blog/">in this post</a>.</p>
<p>If you are a technically a bit more savy, in <a href="http://www.blogtips.org/godaddy-hacked-again-another-way-to-cure/">this post</a> I describe a script that verifies the infection and cures it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blogtips.org/how-to-check-if-your-blog-is-infected-with-malware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to cure your GoDaddy WordPress hacked blog</title>
		<link>http://www.blogtips.org/how-to-cure-your-godaddy-wordpress-hacked-blog/</link>
		<comments>http://www.blogtips.org/how-to-cure-your-godaddy-wordpress-hacked-blog/#comments</comments>
		<pubDate>Sun, 09 May 2010 05:30:36 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Geeky Stuff]]></category>
		<category><![CDATA[How to... Stuff]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.blogtips.org/?p=925</guid>
		<description><![CDATA[
Update: I adapted a script to easily verify and cure the infection on your site. Check this post for more.
The GoDaddy hosting service got hacked three times in a row now. On April 27, May 1 and May 7, many sites, including thousands of WordPress blogs, got infected by malware code. Update: GoDaddy hosted sites [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><img class="aligncenter" title="hacker" src="http://theroadtothehorizon.net/photo/hacker.jpg" alt="hacker" width="400" height="267" /></p>
<p><span style="color: #ff00ff;">Update: I adapted a script to easily verify and cure the infection on your site. Check <a href="http://www.blogtips.org/godaddy-hacked-again-another-way-to-cure/">this post</a> for more.</span></p>
<p>The GoDaddy hosting service got hacked three times in a row now. On April 27, May 1 and May 7, many sites, including thousands of WordPress blogs, got infected by malware code. <span style="color: #ff00ff;">Update:</span> GoDaddy hosted sites were massively attacked again on May 12 and May 17.<br />
In <a href="http://www.blogtips.org/selfhosting-or-not-hackers/">a recent post</a>, I described how I found out the hard way my Drupal site was hacked, and how I cured it the hard way.</p>
<p>Last night, BlogTips was hacked too, but this time, I was able to cure the problem faster.</p>
<p>The problem is so wide spread, and the impact for the infected blogs is that devastating it is worth to checking yours too, if it is hosted on GoDaddy. Once infected, you need to cure your blog real fast before browsers and search engines blacklist your blog. Here is how:</p>
<p><span id="more-925"></span></p>
<h4>1. Check if your blog is infected</h4>
<p>If your blog is part of the recent GoDaddy attacks, you (and your visitors) might see it if your site redirects to a malware site which gives a Windows-like screen asking to scan your computer.</p>
<p>The easiest way, however, is to check some of your .php files. If the first line of the file starts with:</p>
<blockquote><p><code>?php /**/ eval(base64_decode("goobledegoob"))</code></p></blockquote>
<p>(where &#8220;goobledegoob&#8221; is a long series of numbers and characters), then unfortunately my friend, your site was hacked too.</p>
<h4>2. How to cure it</h4>
<p>Cure the problem fast before your users and search engines start mistrusting your blog. Thecremedy is to remove that one-liner with the hack code from all your .php files. You can do that manually, but you&#8217;ll be busy for quite a while.</p>
<p>An easier solution is offered in <a href="http://blog.sucuri.net/2010/05/simple-cleanup-solution-for-latest.html" target="_blank">this post</a> by the folks of <a href="http://www.sucuri.net" target="_blank">Sucuri Security</a>.</p>
<ol>
<li>save <a href="http://sucuri.net/malware/helpers/wordpress-fix_php.txt">this PHP code</a> in a file called &#8220;wordpress-fix.php&#8221; on your computer. It contains two basic commands to remove the EVAL malware code, and extra empty lines from all your .PHP files on your root directory and all sub directories.<br />
<span style="color: #ff00ff;">Update:</span> to avoid the script to time-out before all files are cleaned up, you might add  the line<br />
<code>set_time_limit(0);</code><br />
as the first PHP command</li>
<li>FTP the &#8220;wordpress-fix.php&#8221; file to the root directory of your blog. In GoDaddy, that is the /HTML directory (which also contains index.php, wp-login.php etc..):
<p><div class="wp-caption aligncenter" style="width: 400px">
	<img title="GoDaddy Root Directory" src="http://theroadtothehorizon.net/photo/godaddy%20root%20directory.jpg" alt="GoDaddy Root Directory" width="400" height="233" />
	<p class="wp-caption-text">GoDaddy Root Directory</p>
</div></li>
<li>Then execute the code with the command: <code>http://yoursite.com/wordpress-fix.php</code></li>
<li>Delete the wordpress-fix.php file after execution.</li>
<li><span style="color: #ff00ff;">Update:</span> if you are using a caching plug-in, don&#8217;t forget to <strong>CLEAR YOUR CACHE</strong>, otherwise the malware will continue to be served to your users, even though you cleaned your .php code</li>
</ol>
<h4>3. How to prevent from being hacked?</h4>
<p>Well, at this moment, it looks like it is GoDaddy being hacked, and not the individual blogs. It is still advised to change your FTP password, and your admin password on your blog, but that by itself does not seem to prevent new hacks. One of my sites got hacked twice in a row.</p>
<p>You can also subscribe to <a href="http://sucuri.net" target="_blank">Sucuri&#8217;s free malware monitoring service</a>, so they can scan your blog automatically for malware,&#8230;</p>
<p>Let&#8217;s hope GoDaddy gets their security back inline quickly, otherwise we are all in deep poohooh for a while! <img src='http://www.blogtips.org/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>Picture courtesy <a href="http://www.thetechherald.com" target="_blank">TheTechHerald</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blogtips.org/how-to-cure-your-godaddy-wordpress-hacked-blog/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
