<?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>BasilSunshine.com &#187; Webmaster Tips</title>
	<atom:link href="http://basilsunshine.com/category/webmaster-tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://basilsunshine.com</link>
	<description>Good coffee, great spew.</description>
	<lastBuildDate>Fri, 11 Dec 2009 21:01:48 +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>Creating Anti-Spam Bot Verifications for Web Forms</title>
		<link>http://basilsunshine.com/2009/04/26/creating-anti-spam-bot-verifications-for-web-forms/</link>
		<comments>http://basilsunshine.com/2009/04/26/creating-anti-spam-bot-verifications-for-web-forms/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 13:30:46 +0000</pubDate>
		<dc:creator>bazz</dc:creator>
				<category><![CDATA[Webmaster Tips]]></category>
		<category><![CDATA[anti-spam]]></category>
		<category><![CDATA[captcha]]></category>
		<category><![CDATA[CAPTCHA images]]></category>
		<category><![CDATA[human verification]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ReCAPTCHA]]></category>
		<category><![CDATA[spam bots]]></category>
		<category><![CDATA[verification]]></category>
		<category><![CDATA[verification form]]></category>
		<category><![CDATA[verification image]]></category>
		<category><![CDATA[web forms]]></category>

		<guid isPermaLink="false">http://basilsunshine.com/?p=154</guid>
		<description><![CDATA[I have been recently asked how to create one of these web form verifications things (CAPTCHA images) which will confirm that a real human is sending your form, rather than a bot sending you ads for Viagra and other happy pills.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-155" title="spam" src="http://basilsunshine.com/wp-content/uploads/2009/04/spam.jpg" alt="spam" width="300" height="343" />I have been recently asked how to create one of these web form verifications things (particularly, featuring CAPTCHA images) which will confirm that a real human is submitting your form, rather than a bot sending you ads for Viagra and other happy pills. I can tell you firsthand that some sort of verification is necessary, as I recently posted a form without one and indeed, my inbox runneth over.</p>
<p>There are a few ways to create one of these verifications. The most common way is to install a PHP script on your server which creates a CAPTCHA image. Google has released such a script under a GNU General Public License, which you can <a href="http://code.google.com/p/anti-spam-verification-image/" target="_blank">download here</a>. Another way is to use a third party service such as <a href="http://recaptcha.net/whyrecaptcha.html" target="_blank">ReCAPTCHA</a>, which is a little simpler to implement. ReCAPTCHA also makes a <a href="http://recaptcha.net/plugins/wordpress/" target="_blank">cool Wordpress plugin</a> which protects your comment form. It also has the ability to hide your email address until a CAPTCHA image is solved, which may be an alternative to using a web form in some cases. (As an aside, it is really interesting to note that every time someone solves a ReCAPTCHA, it is helping a computer somewhere over at Carnegie Mellon University learn to digitize books better&#8230; How space age is that?)</p>
<p>However, even this can be complicated for those who are not technically inclined or for those of us who are technically inclined but too lazy to bother. Some of us would prefer not to rely on a third party solution if possible. Another group are those humans who hate those damn things because they are often incomprehensible, cause eye strain, or in some strange happenstance of the Universe, seem to curse at you (see <a href="http://basilsunshine.com/2009/04/01/fail-blog-contribution/">this post</a> and <a href="http://basilsunshine.com/2009/04/21/fail-blog-part-ii/">this post</a>).</p>
<p><a href="http://www.amazon.com/gp/product/B00095NPYY?ie=UTF8&amp;tag=basilsunshine-com-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B00095NPYY"><img class="alignleft size-full wp-image-169" title="webmastersign" src="http://basilsunshine.com/wp-content/uploads/2009/04/webmastersign.jpg" alt="webmastersign" width="105" height="160" /></a>As an alternative, I have seen a few web forms using a simple mathematical problem, which presumably only a human can calculate. Usually it is something like &#8220;1+1 = ?&#8221; and the user has to input the proper value in order to send the form. I like to take this a step further and make it a word problem, preferably related to the content of the site,  if possible. If it is slightly amusing and causes a little head-scratching, even better. For example, take a look at my <a href="http://basilsunshine.com/contact">contact page</a>. The disadvantage is that word problems could be confusing for those who don&#8217;t speak English well (or those with a serious math disability) so I have made my form so that it will accept any value as long as something is entered. If I wanted to take it a step further, I could filter my email so that only emails with the correct value get through, or force the right value to be entered on the form in the first place. Spammers may eventually figure this out, so I may have to change the problems occasionally and force the right value in the future. But I am banking on my estimation that most spammers are too lazy to bother, when there are so many juicy unprotected forms out there for the pickings.</p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="bazz@basilsunshine.com" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Buy Me a Beer for Creating Anti-Spam Bot Verifications for Web Forms" /><input type="hidden" name="currency_code" value="USD" /><input type="hidden" name="amount" value="" /><input type="image" src="http://basilsunshine.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="" title="" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=bazz@basilsunshine.com&amp;currency_code=USD&amp;amount=&amp;return=&amp;item_name=Buy+Me+a+Beer+for+Creating+Anti-Spam+Bot+Verifications+for+Web+Forms" target="paypal">Like the post? Click here to buy me a decaf cappuccino!</a></p><hr /><small>Copyright &copy; 2009 Silver Hare LLC<br /> This feed is for personal, non-commercial use only. <br /> The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:<br /> 15464b5462222222045646b44 (38.107.191.107) )</small><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fbasilsunshine.com%2F2009%2F04%2F26%2Fcreating-anti-spam-bot-verifications-for-web-forms%2F&amp;linkname=Creating%20Anti-Spam%20Bot%20Verifications%20for%20Web%20Forms"><img src="http://basilsunshine.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://basilsunshine.com/2009/04/26/creating-anti-spam-bot-verifications-for-web-forms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Yahoo! Domains Sucks</title>
		<link>http://basilsunshine.com/2009/04/14/yahoo-domains-sucks/</link>
		<comments>http://basilsunshine.com/2009/04/14/yahoo-domains-sucks/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 18:48:00 +0000</pubDate>
		<dc:creator>bazz</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[Webmaster Tips]]></category>
		<category><![CDATA[domains]]></category>
		<category><![CDATA[fraud]]></category>
		<category><![CDATA[Go Daddy]]></category>
		<category><![CDATA[highway robbery]]></category>
		<category><![CDATA[Moniker]]></category>
		<category><![CDATA[Yahoo!]]></category>
		<category><![CDATA[Yahoo! Domains]]></category>
		<category><![CDATA[Yahoo! Small Business]]></category>

		<guid isPermaLink="false">http://basilsunshine.com/?p=26</guid>
		<description><![CDATA[Yahoo! Domains charges for domains you have transferred to other services, if you do not "cancel" the nonexistent service.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-97" title="yahoosucks" src="http://basilsunshine.com/wp-content/uploads/2009/04/yahoosucks.jpg" alt="yahoosucks" width="250" height="250" />Yahoo!, how you disappoint me. I&#8217;m afraid I shall start Googling more often.</p>
<p>A few months ago I was alerted by <a href="http://www.bobparsons.me/?ci=13338" target="_blank">Bob Parsons</a> that Yahoo! Domains was raising their prices for domain renewals from something like ten bucks to $34.95 per year, which of course is a ridiculous price for a domain registration. I had one domain registered there which I quickly transferred to <a href="http://www.anrdoezrs.net/click-3082905-10388361" target="_blank">Go Daddy</a> without a hitch.</p>
<p>End of story, right?</p>
<p>Uh, wrong. A couple months later I notice my credit card was charged $34.95 from Yahoo! I wonder how many people got billed for one domain and did not realize it? I know that the &#8220;relatively&#8221; small $34.95 nearly got past my radar. I emailed the Yahoo! Small Business billing department, and the next day I got a canned response saying that they could not talk about billing via email. Sigh. So today I called the 800 number, which was answered after a few minutes, however, I had to be transferred to another department, which immediately announced &#8220;Your estimated wait time is 30 minutes!&#8221; Great. They bill you for nonexistent services then make it extremely difficult to get the charge reversed. So I left it on speakerphone. After 35 minutes, I finally got a human and was told that I hadn&#8217;t cancelled my service, even though I transferred the domain out of Yahoo!</p>
<blockquote><p>You have to cancel the service, even if you transfer the domain away from Yahoo! Yahoo! does not check every domain out there.</p></blockquote>
<p>Yes, that&#8217;s a real quote. Really. What a load of crap. It&#8217;s their <em>business </em>to know how many domains are under their care and therefore <em>billable</em>. You can&#8217;t bill someone for services which you do not render. That&#8217;s called, uh huh, wait for it&#8230; yeah, <strong>fraud</strong>.</p>
<p>I should have just done a chargeback with my bank so that Yahoo! would take a hit for it, as they deserve. If you&#8217;ve ever had a domain with Yahoo!, I encourage you to check  your credit card statement. And if you haven&#8217;t already, make sure you transfer your domains to <a href="http://www.anrdoezrs.net/click-3082905-10388361">Go Daddy</a> or <a href="http://www.silverharellc.com/go/domainregister" target="_blank">Moniker</a>&#8230; Just don&#8217;t forget to &#8220;cancel&#8221; your nonexistent Yahoo! service afterwards.</p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="bazz@basilsunshine.com" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Buy Me a Beer for Why Yahoo! Domains Sucks" /><input type="hidden" name="currency_code" value="USD" /><input type="hidden" name="amount" value="" /><input type="image" src="http://basilsunshine.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="" title="" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=bazz@basilsunshine.com&amp;currency_code=USD&amp;amount=&amp;return=&amp;item_name=Buy+Me+a+Beer+for+Why+Yahoo!+Domains+Sucks" target="paypal">Like the post? Click here to buy me a decaf cappuccino!</a></p><hr /><small>Copyright &copy; 2009 Silver Hare LLC<br /> This feed is for personal, non-commercial use only. <br /> The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:<br /> 15464b5462222222045646b44 (38.107.191.107) )</small><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fbasilsunshine.com%2F2009%2F04%2F14%2Fyahoo-domains-sucks%2F&amp;linkname=Why%20Yahoo%21%20Domains%20Sucks"><img src="http://basilsunshine.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://basilsunshine.com/2009/04/14/yahoo-domains-sucks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lessons in Adsense Sensitivity</title>
		<link>http://basilsunshine.com/2009/04/09/lessons-in-adsense-sensitivity/</link>
		<comments>http://basilsunshine.com/2009/04/09/lessons-in-adsense-sensitivity/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 18:40:12 +0000</pubDate>
		<dc:creator>bazz</dc:creator>
				<category><![CDATA[Money-Making Articles]]></category>
		<category><![CDATA[Webmaster Tips]]></category>
		<category><![CDATA[adsense]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google adsense]]></category>
		<category><![CDATA[key words]]></category>
		<category><![CDATA[paid advertisements]]></category>
		<category><![CDATA[PSA]]></category>
		<category><![CDATA[PSAs]]></category>
		<category><![CDATA[public service announcements]]></category>
		<category><![CDATA[stop words]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://basilsunshine.com/?p=20</guid>
		<description><![CDATA["Lessons in Adsense Sensitivity", or, "How Not to Get the Dreaded PSAs (Public Service Announcements)." As a webmaster, I learned some good lessons recently about Adsense's over-sensitivity to certain words. Immediately upon publishing a page about mesothelioma, a specific type of cancer, the Adsense ads were replaced with PSAs. No matter what I did, it seemed that I was getting the PSAs.]]></description>
			<content:encoded><![CDATA[<p><em><img class="alignright size-full wp-image-132" title="shh" src="http://basilsunshine.com/wp-content/uploads/2009/04/shh2.jpg" alt="shh" width="250" height="275" />Or, &#8220;How Not to Get the Dreaded PSAs (Public Service Announcements).&#8221;</em></p>
<p>As a webmaster, I learned some good lessons recently about Adsense&#8217;s over-sensitivity to certain words. Immediately upon publishing a page about mesothelioma, a specific type of cancer, the Adsense ads were replaced with PSAs. No matter what I did, it seemed that I was getting the PSAs. Now I knew that &#8220;mesothelioma&#8221; is one of the highest paying adwords due to all the mesothelioma litigation that has been going on&#8211; So I knew the ads were out there! I tried checking if my domain was blocked by Google due to the previous owners&#8217; actions, by using <a href="https://www.google.com/webmasters/tools/dashboard" target="_blank">Google Webmaster Tools</a> (appparently it will tell you if your domain is blocked, and it wasn&#8217;t). Some further research revealed that Google bots scan the page for certain &#8220;stop words&#8221; that when found will block any paid advertisements from being displayed on a particular web page.</p>
<p>Apparently Google faced some criticism from disturbed web page viewers when it inadvertently served ads for luggage to an article about a dismembered body found in a suitcase. Ouch. While I can certainly understand why they would want to prevent this from happening again (and especially why Gucci &amp; Samsonite would want to prevent this from happening again), what I do not understand is why Google fails to reveal these key &#8220;stop words&#8221; to their publishers.</p>
<p>Now you might be wondering what the offensive word was&#8230; It was &#8220;cancer.&#8221; Yes, really. Apparently &#8220;disease&#8221; is OK, but not &#8220;cancer.&#8221; And nevermind that almost all the ads that get served say &#8220;cancer&#8221; in them! I even had to take out links to two of the most respected cancer sites on the internet: cancer.gov and cancer.org!! Even if the text did not say &#8220;cancer,&#8221; the URL was enough to offend the Google Gods. Sigh. Far be it from me to criticize Google &#8212; Perhaps they are still perfecting this technology. This site helped me locate the offending word: <a href="http://www.kbcafe.com/adwords/?guid=20060302085426" target="_blank">Finding Stop Words</a>. Don&#8217;t ask me how they got their list of key words (probably painstaking trial and error), because Google&#8217;s lips are sealed.</p>
<p><img class="alignleft size-full wp-image-134" title="stop" src="http://basilsunshine.com/wp-content/uploads/2009/04/stop1.jpg" alt="stop" width="275" height="279" />Once you&#8217;ve published a page and it has been found to contain one or more &#8220;stop words,&#8221; the PSAs appear immediately. Simply changing the wording will not help at this point, as it takes an undisclosed amount of days for your page to be re-checked by the damn Google bots (I tested three days later and it is still blocked). Since I loaded my page as &#8220;index.html&#8221; I was screwed. After finding and replacing the &#8220;offending&#8221; words, I tried renaming it to &#8220;index.htm&#8221; but that didn&#8217;t help. Then I tried &#8220;test.html&#8221; and I got ads. Hmmph. So I redesigned the site with a splash page as the index, and that seemed to work out really well anyhow. Actually it helped me realize another thing: Google is assigning a large weight to the name of the actual html file. When I uploaded the page about mesothelioma as &#8220;test.html&#8221; I got ads about SAT Tests!! Seriously. I gotta tell you it took me a few thinks to make that connection. So I got wise and renamed it to &#8220;mesothelioma.html&#8221; and bingo! Lesson here: Always upload your pages with a temporary file name to test whether ads get served! If there are PSAs, there is probably something wrong. Ads for anything else, however strange, is a go.</p>
<p>Now, ways to get around this&#8230; I can think of two. One, put the offending words (or whole paragraph) in an image file. The other way is to use a Javascript to display the text, as currently Google bots do not execute the Javascript and therefore ignore the resulting text (However, I don&#8217;t know if this will change in the future). With a Javascript, it would be possible to have the text appear perfectly normal to the user, whereas if you have a block of text and only the word &#8220;cancer&#8221; is a graphic, for example, that might look strange, at least in some browsers, inevitably. On the other hand, Javascripts sometimes take a while to load. Flash may be an option as well, but I have not tested that. Now, if the words are <em>actually </em>offensive, and not just &#8220;offensive to the bots&#8221; then a real human at Google may end up blocking your page, due to a complaint, or random chance. Furthermore, I understand that chronic abusers get their entire domains blocked, and naturally you can get kicked out of Adsense altogether. Of course I do not recommend that; if you want to display Adsense, your site should have a professional tone.</p>
<p>To that point, and since I am not using Adsense on this blog, I am free to say whatever the hell I want (well, within reason). So if you found this helpful, put some love in my daggone coffee cup.</p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="bazz@basilsunshine.com" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Buy Me a Beer for Lessons in Adsense Sensitivity" /><input type="hidden" name="currency_code" value="USD" /><input type="hidden" name="amount" value="" /><input type="image" src="http://basilsunshine.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="" title="" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=bazz@basilsunshine.com&amp;currency_code=USD&amp;amount=&amp;return=&amp;item_name=Buy+Me+a+Beer+for+Lessons+in+Adsense+Sensitivity" target="paypal">Like the post? Click here to buy me a decaf cappuccino!</a></p><hr /><small>Copyright &copy; 2009 Silver Hare LLC<br /> This feed is for personal, non-commercial use only. <br /> The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:<br /> 15464b5462222222045646b44 (38.107.191.107) )</small><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fbasilsunshine.com%2F2009%2F04%2F09%2Flessons-in-adsense-sensitivity%2F&amp;linkname=Lessons%20in%20Adsense%20Sensitivity"><img src="http://basilsunshine.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://basilsunshine.com/2009/04/09/lessons-in-adsense-sensitivity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
