<?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>Smackdown! &#187; web design</title>
	<atom:link href="http://smackdown.blogsblogsblogs.com/category/web-design/feed/" rel="self" type="application/rss+xml" />
	<link>http://smackdown.blogsblogsblogs.com</link>
	<description>Smackdown!</description>
	<lastBuildDate>Tue, 22 Nov 2011 22:40:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>GoDaddy&#8217;s Suggestion For The Cause Of Their Hacks And Their Community Blog &#8211; Can You Smell The Irony?</title>
		<link>http://smackdown.blogsblogsblogs.com/2010/05/14/godaddys-suggestion-for-the-cause-of-their-hacks-and-their-community-blog-can-you-smell-the-irony/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2010/05/14/godaddys-suggestion-for-the-cause-of-their-hacks-and-their-community-blog-can-you-smell-the-irony/#comments</comments>
		<pubDate>Fri, 14 May 2010 20:52:41 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[customer service]]></category>
		<category><![CDATA[lackofmeds]]></category>
		<category><![CDATA[nerdiness]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WTF]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=680</guid>
		<description><![CDATA[Yesterday I blogged about the hacking situation with GoDaddy hosting and a customer service call I had with them concerning some evidence I had found. While it is true that as this has progressed GoDaddy has widened their scope in investigating what the underlying cause of these hacks are, initially they claimed that the issue [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I blogged about the <a href="http://smackdown.blogsblogsblogs.com/2010/05/13/hosting-with-godaddy-might-want-to-rethink-that-decision/" target="_blank">hacking situation with GoDaddy hosting</a> and a customer service call I had with them concerning some evidence I had found. While it is true that as this has progressed GoDaddy has widened their scope in investigating what the underlying cause of these hacks are, initially they claimed that the issue was with their customers running outdated versions of WordPress. While being wrong about something like that is usually not <em>that</em> big of a deal, in this particular instance it proved to be beyond irksome, since a large portion of their customer base were told that it was their own fault that their sites got hacked (even in cases where the customer was up to date), and that GoDaddy <a href="http://wordpress.org/support/topic/391658#post-1498431" target="_blank">was in no way to blame</a>:</p>
<blockquote><p>WordPress is a-ok. Go Daddy is rock solid. Neither were &#8216;hacked,&#8217; as some have speculated.</p>
<p>After an extensive investigation, we can report there was a small group of customers negatively impacted. What happened? Those users had outdated versions of the popular blogging software, set up in a particular way. &#8211; <em>Alicia from GoDaddy</em></p></blockquote>
<p>From what I have read around the web customers were being told that it was not GoDaddy&#8217;s responsibility to fix the sites, that they only offered &#8220;limited support&#8221; in situations like this, leaving people with only the option of restoring from a backup (which would often not help even in outdated WordPress hack situations, since hacks can go undetected for months) or hiring outside help to clean things up.</p>
<p>You can see on the support page they have set up, <a href="http://community.godaddy.com/godaddy/whats-up-with-go-daddy-wordpress-php-exploits-and-malware/" target="_blank">What’s Up with Go Daddy, WordPress, PHP Exploits and Malware?</a> that they still claim that outdated scripts are part of the problem. Going to that page and viewing the source reveals something almost unbelievable:</p>
<p><a href="/images/godaddy-outdated-wordpress-lg.png" target="_blank"><img src="/images/godaddy-outdated-wordpress-sm.png" border="0" alt="GoDaddy outdated software...?" onmouseup="hl2l(event);"></a><br />
(<em>click to enlarge</em>)</p>
<p>That&#8217;s right, in a classic &#8220;do as I say, not as I do&#8221; twist it seems that GoDaddy is in fact running an older version of WordPress (WordPress MU, based on the version number, which has the same security holes as regular WordPress) for their community blog that they are using to tell people to upgrade their WordPress versions.</p>
<p>To be fair, simply having an older version of WordPress does not mean that it is automatically insecure&#8230; the security fixes in the more recent versions may be minor and the known vulnerabilities might have been manually patched. I can&#8217;t know without actually digging deeper and <em>looking</em> if in fact the installation was vulnerable.</p>
<p>Then again&#8230; neither can GoDaddy in the case of their customers.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2010/05/14/godaddys-suggestion-for-the-cause-of-their-hacks-and-their-community-blog-can-you-smell-the-irony/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Google Decides To Slow Down Search Results And Cloak Their New Tracking URLS</title>
		<link>http://smackdown.blogsblogsblogs.com/2009/04/16/google-decides-to-slow-down-search-results-and-cloak-their-new-tracking-urls/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2009/04/16/google-decides-to-slow-down-search-results-and-cloak-their-new-tracking-urls/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 17:09:13 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[Cuttisms]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[lackofmeds]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=312</guid>
		<description><![CDATA[Today over at ReadWriteWeb Sarah Perez wrote an article on how Google was gaining ground on their share of the search market. In the article she talked about the latest buzz from Google Analytics blog having to do with changes to the way Google.com handles clicks in their serps, which were a implemented as result [...]]]></description>
			<content:encoded><![CDATA[<p>Today over at <a href="http://www.readwriteweb.com/" target="_blank">ReadWriteWeb</a> Sarah Perez wrote an article on how <a href="http://www.readwriteweb.com/archives/google_widens_search_lead_prepares_to_make_search.php" targtet="_blank">Google was gaining ground</a> on their share of the search market. In the article she talked about the latest buzz from <a href="http://analytics.blogspot.com/2009/04/upcoming-change-to-googlecom-search.html" target="_blank">Google Analytics blog</a> having to do with changes to the way Google.com handles clicks in their serps, which were a implemented as result of what <a href="http://smackdown.blogsblogsblogs.com/2009/02/02/what-will-really-break-if-google-switches-to-ajax/" target="_blank">Google would break in analytics packages</a> by implementing AJAX driven search results. She notes that even though the speed benefit Google gains from going AJAX would be minimal on a per-search basis, when multiplied by the millions of searches performed every day it would eventually add up to more of a market share for them.</p>
<blockquote><p>Although a change to AJAX technology would only make searches milliseconds faster, those milliseconds add up, allowing people to do more searches, faster. And that would let Google grow even more, eating up percentage points along the way. &#8211; Sarah Perez</p></blockquote>
<p>However, what was missed by many <span id="more-312"></span>in all of this is that when Google implemented this &#8220;fix&#8221; to retain the referrer, it wasn&#8217;t actually fixed in the way that they described in their blog post. What Brett Crosby highlighted in his post was the referring url itself that webmasters might start seeing in their traffic logs, and how it would be retaining the q= parameter for analytics packages to make use of, and nothing at all about how they were actually accomplishing this. He omitted these details even though he qualified the post  in the opening by saying that they were writing it &#8220;for the most geeky among us&#8221;, and real geeks would want to know the nuts and bolts of what was happening. What neither he nor <a href="http://news.cnet.com/8301-1023_3-10220532-93.html" target="_blank">Google spokesperson Eitan Bencuya</a> mentioned when discussing this is that the magic of retaining the referrer was not accomplished by simply coming up with a new url structure&#8230; due to the way that all major browsers function, <a href="http://smackdown.blogsblogsblogs.com/2009/03/13/google-re-initiates-testing-of-ajax-serps-with-faulty-proposed-fix/" target="_blank">just changing the url won&#8217;t fix the issue</a>. Google engineers, to the best of my knowledge and generally speaking, are smart people. They know this. It simply cannot be done. Therefore what they did is to create a second, interim landing page that users are funneled though when they click on a link in the serps. This page then loads some Javascript that is processed, which when complete fires either a Javascript driven redirect or a <a href="http://en.wikipedia.org/wiki/Meta_refresh/" target="_blank">meta refresh</a> in the users browser, eventually bringing them to their final destination page.</p>
<p>If you happen to be getting served these new urls, you can see what the Javascript code on these new pages looks like by right clicking on the url and choosing to save the target. If you then view the file in a text editor, you will see code similar to this (there are a couple of variations on what code they are testing, apparently):</p>
<p><code>&lt;script&gt;if(parent!=window&amp;&amp;parent.google){parent.location.href='http://www.bad-neighborhood.com/';location.replace('about:blank')}else{location.replace('http://www.bad-neighborhood.com/')}&lt;/script&gt;&lt;noscript&gt;&lt;META http-equiv="refresh" content="0;URL=http://www.bad-neighborhood.com/"&gt;&lt;/noscript&gt;</code></p>
<p>which was generated by saving this url:</p>
<p><code>http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fwww.bad-neighborhood.com%2F&amp;ei=YVbnSYraM5CNtgevkpzLBQ&amp;rct=j&amp;q=bad+neighborhood&amp;usg=AFQjCNH7sp5nWWhaVsJafdeL1Rw8-TTXxA</code></p>
<p>Why does this matter? Well, remember, the gain that Google is getting from doing this switchover to AJAX is, on a per-search basis, minimal at best. It is in the area of milliseconds. Now to correct something that it breaks they are adding in two additional slowdowns to the navigation process&#8230; the delivery of more html, which although tiny does involve time itself to connect to the server and deliver the actual code, and the processing time of each browser to either interpret the Javascript or trigger the meta refresh. This not only nullifies any benefit that would be gained by switching to AJAX in the first place, in many, many cases it will actually cause the searches to be slower than if Google had just left things alone.</p>
<p>Google is aware of this too. <a href="http://twitter.com/mvandemar/status/1520924772" target="_blank">Matt Cutts mentioned again the other day</a> how he wished there was a better solution:</p>
<p><img src="/images/matt-cutts-redirect-woes-tweet.png" alt="Matt Cutts wishes there were a better way." onmouseup="hl2l(event);" class="centered"></p>
<p>The problem is, of course, the better solution is to not make the changes. Unless all mainstream browsers recode the way that they handle url fragments after the hash mark (#), and Google waits until everybody in the world upgrades to those versions, it&#8217;s just not going to happen.</p>
<p>By the way, has anyone else noticed that Google is actually <em>cloaking</em> these new urls that they are delivering to people? If you happen to have your status bar turned on, and you mouse over a url in the serps, it shows you the final destination page instead of the actual one:</p>
<p><img src="/images/google-cloaked-serps-url.png" alt="Google cloaked serps url" onmouseup="hl2l(event);" class="centered"></p>
<p>However, if you click on the url (even a right click), the true target suddenly appears:</p>
<p><img src="/images/google-real-serps-url.png" alt="Google real serps url" onmouseup="hl2l(event);" class="centered"></p>
<p>Not that big of a deal, I know, and nothing that they haven&#8217;t done before, but still. Between that and the &#8220;don&#8217;t bother reading this post, it&#8217;s just for geeks&#8221; intro on the Google Analytics blog post it almost seems like Google is making an effort to not have these new changes noticed. If this change is such a great idea, I would have to wonder why that would be.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2009/04/16/google-decides-to-slow-down-search-results-and-cloak-their-new-tracking-urls/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>What Will *Really* Break If Google Switches To AJAX&#8230;?</title>
		<link>http://smackdown.blogsblogsblogs.com/2009/02/02/what-will-really-break-if-google-switches-to-ajax/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2009/02/02/what-will-really-break-if-google-switches-to-ajax/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 16:26:04 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[lackofmeds]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=256</guid>
		<description><![CDATA[On Friday I wrote a piece on how it looked like Google was testing AJAX results in the main serps. Some discussion followed as to whether, if this change were to become a widespread permanent one, this would affect Firefox plugins that existed (definitely some existing ones would stop working), break some of the rank [...]]]></description>
			<content:encoded><![CDATA[<p>On Friday I wrote a piece on how it looked like <a href="http://smackdown.blogsblogsblogs.com/2009/01/30/google-web-search-goes-completely-ajax/" target="_blank">Google was testing AJAX results</a> in the main serps. Some discussion followed as to whether, if this change were to become a widespread permanent one, this would affect Firefox plugins that existed (definitely some existing ones would stop working), <a href="http://www.seroundtable.com/archives/019319.html" target="_blank">break some of the rank checking tools</a> out there (they would have to be re-written I&#8217;m sure), and even some people asking if it would <a href="http://seocracy.com/2009/01/will-google-stop-serp-scrapers-by-going-ajax/" target="_blank">thwart serps scrapers from using serps for auto page generation</a> (not for long, no).</p>
<p>While those things would definitely be affected in at least the short term, there is a much greater impact from Google switching to AJAX. All of the issues mentioned involve a very small subset of the webmastering community. What actually <em>breaks</em> if Google makes this switchover, and is in fact broken during any testing they are doing, is much more widespread. Every single <span id="more-256"></span>analytics package that currently exists, at least as far as being able to track what keywords were searched on to find your site in Google, would no longer function correctly.</p>
<p>The reason this breaks is core to the way all of the browsers handle referrer strings, which is how the browser tells the web server how it got to your page in those cases where it does send that information. Sending the referrer string is optional, and can even be turned off, although by default it is on in all of the major browsers that exist today. Analytics programs, whether they are log based (programs that go through the server logs reading the referrer strings) or Javascript based (such as <a href="http://getclicky.com/71353" traget="_blank">Clicky</a>, the built in tracking in <a href="http://www.mybloglog.com/" target="_blank">MyBlogLog</a>, and <a href="http://www.google.com/analytics/" target="_blank">Google Analytics</a>) use that referrer string to determine what it was that that someone actually searched on, assuming that they found your site via a search engine, before reaching your site. For Google, they analyze the querystring portion of the referring url, and look for the &#8220;q={keyword}&#8221; parameter. So for instance, if you were to find the following url in your logs:</p>
<p><img src="/images/google-search-troll-defense.png" alt="Google search for [troll defense]" onmouseup="hl2l(event);"></p>
<p>then you would know that someone had gone to Google, searched on [<a href="http://www.google.co.uk/search?num=100&#038;hl=en&#038;safe=off&#038;q=troll+defense&#038;cad=h" target="_blank">troll defense</a>], and then clicked on the link to your site. If you were running some form of analytics program, that program would then register and track that search for you, so you knew what was and what was not sending you traffic from Google. If you run Google Analytics, you can even <a href="http://www.reubenyau.com/google-analytics-hack-obtaining-full-referring-url/" target="_blank">hack it to get the full referring url</a> and get even more information from the referral.</p>
<p>However, if Google switches over to AJAX none of this will be possible. Unfortunately this isn&#8217;t even something that could be accomplished with a simple recoding of the analytics packages either&#8230; it would require completely rewriting the browsers themselves in order to track referrals from the new Google AJAX searches. The new AJAX url, as I mentioned in the earlier post, is driven by parameters that come after the hash mark (the number or pound sign in the url). Browsers do not include that data in the referrer string, and it is never sent to the server. Therefore, all referrals from a Google AJAX driven search currently make it look as if you are getting traffic from Google&#8217;s homepage itself. Now, while this kind of information showing up in your tracking programs might be quite a boost to the ego if you don&#8217;t know any better, and will work wonders for picking up women in bars (&#8220;guess who links to me from their homepage, baby!&#8221;), for actual keyword tracking it is of course utterly useless. </p>
<p>On Friday I set up a couple of tests to demonstrate this, so I could show the results in the server logs, MyBlogLog tracking, and even in Google Analytics itself. I found a phrase that I was ranking for, that I knew that no one was searching on, [<a href="http://www.google.com/#num=100&#038;hl=en&#038;safe=off&#038;q=bad+neighborhood+vandemar&#038;fp=MDw1NNZjtEg" target="_blank">bad neighborhood vandemar</a>], and sent myself some referrals. In every case the method I checked showed Google.com itself as the referring site. You can see this in the server web traffic log:</p>
<p><img src="/images/google-homepage-referral-logs.png" alt="Web traffic log, Google.com referrer" onmouseup="hl2l(event);"></p>
<p>in MyBlogLog stats reporting:</p>
<p><img src="/images/google-homepage-referral-mbl.png" alt="MyBlogLog stats, Google.com referrer" onmouseup="hl2l(event);"></p>
<p>and even in Google Analytics:</p>
<p><img src="/images/google-homepage-referral-ga.png" alt="Google Analytics, Google.com referrer" onmouseup="hl2l(event);"></p>
<p>I don&#8217;t know if Google has considered these ramifications in making this switch over, or if this testing is something that they are actually interesting in pursuing. I don&#8217;t know why they would be testing a change of this magnitude in the first place, though, unless there was a good chance that they would eventually go live with it.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2009/02/02/what-will-really-break-if-google-switches-to-ajax/feed/</wfw:commentRss>
		<slash:comments>69</slash:comments>
		</item>
		<item>
		<title>Google Web Search Goes Completely AJAX</title>
		<link>http://smackdown.blogsblogsblogs.com/2009/01/30/google-web-search-goes-completely-ajax/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2009/01/30/google-web-search-goes-completely-ajax/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 15:28:41 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[nerdiness]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=244</guid>
		<description><![CDATA[Yes, I know&#8230; Google has been offering AJAX driven results through the API and other services for ages, but now they have rolled that out to the main Google Search. It appears to be only on Google US (I tried manually switching to Google UK, and it redirected me from the AjAX version to a [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, I know&#8230; Google has been offering AJAX driven results through the API and other services for ages, but now they have rolled that out to the main Google Search. It appears to be only on Google US (I tried manually switching to Google UK, and it redirected me from the AjAX version to a static HTML page), but that of course could change in the future.</p>
<p>I noticed this as soon as I started searching for stuff today, from almost the first query I typed in. When I looked at the url, instead of seeing the normal /search?= at the beginning:</p>
<p><img src="/images/google-search-url-normal.png" alt="Normal Google search url" onmouseup="hl2l(event);"></p>
<p>I found myself looking at this: <span id="more-244"></span></p>
<p><img src="/images/google-search-url-ajax.png" alt="Google AJAX search url" onmouseup="hl2l(event);"></p>
<p>You can see that the query string, the portion of the url that sends parameters such as what keywords you are looking for and how many results per page you want to see to the server, has been removed, and that Google has replaced it with a hash tag, the part or the url that is normally only read by the browser itself (everything after the pound or number sign, shift-3 on the keyboard: &#8220;#&#8221;). This was what first clued me in to the fact that they had changed over, as this is a common visual way to indicate a &#8220;page change&#8221; to the user, letting them know that they have gone from one page to another in AJAX (which can perform the changes with no url change at all), and allows the Back and Forward buttons to still trigger AJAX calls.</p>
<p>I verified that this is indeed what is happening by performing a search, viewing the source of that search, and then looking inside that source for some text that I knew was on the page. For example, if you perform a search for [<a href="http://www.google.com/#num=100&#038;hl=en&#038;safe=off&#038;q=bad+neighborhood&#038;fp=MDw1NNZjtE" target="_blank">bad neighborhood</a>]:</p>
<p><img src="/images/google-search-bad-neighborhood-sm.png" alt="Google AJAX search for [bad neighborhood]" onmouseup="hl2l(event);" class="padmore"></p>
<p>and then view the source, and search for [Search Engine Optimization] (which is clearly on the page):</p>
<p><img src="/images/google-search-bad-neighborhood-highlighted.png" alt="Google AJAX search for [bad neighborhood] highlighted phrase" onmouseup="hl2l(event);" class="padmore"></p>
<p>you can see that it&#8217;s nowhere to be found:</p>
<p><img src="/images/google-ajax-search-source.png" alt="Google AJAX source, on page text is not there" onmouseup="hl2l(event);" class="padmore"></p>
<p>So, what does that mean for us as searchers? To be honest I&#8217;m not sure of the full impact of this yet. I do know that AJAX can use more memory than pages generated by flat HTML, especially in Internet Explorer, so some older machines with fewer resources (such as those that might be prevalent in struggling businesses during economy strapped times) will possibly have performance issues. Also,  certain Greasemonkey scripts will break with this change, like the handy <a href="http://userscripts.org/scripts/show/1523" target="_blank">Number Google Results</a>, the script that allows you to insert sequential numbering into Google results, so you know where a site ranks at a glance without having to count.</p>
<p>As Google does with so many of it&#8217;s roll outs, there is no way to turn this feature off, either&#8230; so if it does affect you, tough. Google apparently doesn&#8217;t care. For now you can manually change the url by hand, but that is of course a pain in the keister. If anyone else finds other issues with this new change, or ways that it impacts us as searchers (or as seo&#8217;s, for that matter), please chime in.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2009/01/30/google-web-search-goes-completely-ajax/feed/</wfw:commentRss>
		<slash:comments>56</slash:comments>
		</item>
		<item>
		<title>My Blog Hacked, Yet Again &#8211; WordPress 2.6.5 Vulnerability / Exploit?</title>
		<link>http://smackdown.blogsblogsblogs.com/2009/01/16/my-blog-hacked-yet-again-wordpress-265-vulnerability-exploit/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2009/01/16/my-blog-hacked-yet-again-wordpress-265-vulnerability-exploit/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 20:51:16 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[psychoblogging]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=218</guid>
		<description><![CDATA[Again, I&#8217;ve been hacked. Well, not me personally&#8230; I wear the most up to date tinfoil attire, I assure you, and no one is getting into my head&#8230; but my blog was. This time I was running WordPress 2.6.5 when it happened. Those who know me know that I always prefer to do manual upgrades, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/broken-wordpress-lock.png" border="0" alt="Busted WordPress security." style="float: right;"  onmouseup="hl2l(event);"> Again, I&#8217;ve been hacked. Well, not me personally&#8230; I wear the most up to date tinfoil attire, I assure you, and no one is getting into <em>my</em> head&#8230; but my blog was. This time I was running WordPress 2.6.5 when it happened. </p>
<p>Those who know me know that I always prefer to do manual upgrades, wiping everything out and starting over completely fresh each time, whether I have been hacked or not. This way if there was an intrusion it should still <a href="" target="_blank">clean the hack</a> out completely, even if I don&#8217;t know it&#8217;s there. As it happens, when I upgraded to 2.6.5 from 2.6.2 I did not do this. I merely upgraded the 2 files involved in the security portion of the <a href="http://wordpress.org/development/2008/11/wordpress-265/" target="_blank">WP 2.6.5 upgrade</a> (which were wp-includes/feed.php and wp-includes/version.php). However, <span id="more-218"></span>to date those are still the only two files from that version with a security risk according to WordPress, and I upgraded them well before I was hacked.</p>
<p>I noticed something was wrong earlier this week, after I wrote the post on how to easily find <a href="http://smackdown.blogsblogsblogs.com/2009/01/12/how-to-find-the-best-free-imagephotographics-downloads-for-your-blog-posts/" target="_blank">free photo downloads</a> for your blog posts. I was checking to see if the post had any rankings a couple of days later, when I noticed that it wasn&#8217;t showing in Google. I don&#8217;t mean that it wasn&#8217;t ranking, either&#8230; I mean it wasn&#8217;t showing at all. I checked, and sure enough Google had definitely cached the post shortly after I had published it. It was showing when I did a site: command too. I realized that somethings was weird, however, when I saw that the description for my homepage still showed my post from November as being the snippet in the serps:</p>
<p><img src="/images/smackdown-old-snippet.png" alt="Old Smackdown snippet showing in Google" onmouseup="hl2l(event);"></p>
<p>I checked that as well, and just as I thought they had already re-cached the homepage too, which means that showing the old snippet made no sense:</p>
<p><img src="/images/smackdown-recent-cache-sm.png" alt="Freshly cached post in Google" onmouseup="hl2l(event);"></p>
<p>Neither the post itself nor the homepage were showing in the serps at all, even for exact phrases unique to those pages, phrases that <em>were</em> showing in Google&#8217;s cache, and therefore should have been searchable. My first thought was that I had been penalized for some reason (the conspiracy theorist in me even considered it might be the &#8220;PageRank for Sale&#8221; alt text on an image from Novembers post <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ), so I sent off a couple of <a href="http://twitter.com/mvandemar" target="_blank">Tweets</a> asking people if they saw anything I might have missed. </p>
<p>Luckily, one of the people listening who was kind enough to respond was <a href="http://twitter.com/JohnMu" target="_blank">John Mueller</a>. After telling me that I need to upgrade my tinfoil hat to <a href="" target="_blank">Mu-metal one</a> (heh, thanks John! <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ), he found the issue fairly quickly:</p>
<p><img src="/images/johnmu-smackdowns-hacked-sm.png" alt="Link to the text-only version of Googles cache of my pages" onmouseup="hl2l(event);"></p>
<p>The link he gave me pointed to the text-only version of Google&#8217;s <a href="http://cli.gs/sLVArj" target="_blank">cache of my homepage</a>, and when I scrolled down, sure enough there it was:</p>
<p><img src="/images/smackdown-hacked-2.6.5.png" alt="Text-only version of Googles cache of Smackdowns homepage" onmouseup="hl2l(event);"></p>
<p>I upgraded last night (complete wipe and reinstall this time), but I&#8217;m a little concerned still. Since there has still been no word from WordPress about 2.6.5 being vulnerable, that may mean that it is something that they are completely unaware of, and therefore was carried over into WordPress 2.7. I did some research on other hacked blogs, and while I did find one other 2.6.5 blog and one 2.7, comparing their caches against other older cached pages on the same site it looks like both of those were hacked prior to them upgrading. If anyone else find more information about blogs that have gotten hacked <em>after</em> upgrading to WP 2.6.5 or above, please let me know.</p>
<div><em>Original <a title="rusty-lock" href="http://flickr.com/photos/8323834@N07/500995147/">rusty lock image</a> by <a href="http://www.subcircle.co.uk/">subcircle</a></em></div>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2009/01/16/my-blog-hacked-yet-again-wordpress-265-vulnerability-exploit/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>How To Find The Best Free Image/Photo/Graphics Downloads For Your Blog Posts</title>
		<link>http://smackdown.blogsblogsblogs.com/2009/01/12/how-to-find-the-best-free-imagephotographics-downloads-for-your-blog-posts/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2009/01/12/how-to-find-the-best-free-imagephotographics-downloads-for-your-blog-posts/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 13:39:40 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[apprentice]]></category>
		<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=195</guid>
		<description><![CDATA[Adding images to your blog posts can make them much more visually appealing to your readers. This in turn can increase the likelihood that someone will link to that post or subscribe to your feed, which will of course in the long run help to improve your rankings and traffic. The internet is chock full [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/camera.png" border="0" alt="Smile!" style="float: right;"  onmouseup="hl2l(event);"> Adding images to your blog posts can make them much more visually appealing to your readers. This in turn can increase the likelihood that someone will link to that post or subscribe to your feed, which will of course in the long run help to improve your rankings and traffic. The internet is chock full of images, many of which will fit perfectly with that blog post or article that you are writing. The problem is, however, finding images that are both high quality and that you are actually <em>allowed</em> to use.</p>
<h3>The Problems</h3>
<p><strong>Two internet no-no&#8217;s</strong> that beginner web publishers often perform, many times without even realizing that they are doing anything wrong, <span id="more-195"></span>are image theft and image hotlinking. The bottom line is that most images on the Internet are in fact copyrighted, and therefore cannot be used without the <em>original</em> author&#8217;s explicit permission (assuming, of course, that the original author is still in fact the copyright holder). Just because you find a picture posted on a public forum or on a newsgroup does not mean that the person who posted it had the <em>right</em> to post it, and if they did not then republishing it on your own site makes you just as guilty of copyright infringement as they are. While 9 times out of 10 you might get away with it, using someone else&#8217;s copyrighted material can lead to troubles (and time wasted dealing with those troubles) in the form of a <a href="http://www.chillingeffects.org/dmca512/faq.cgi" target="_blank">DMCA Takedown Notice</a>. In extreme circumstances, depending on your host and the degree of the infringement, this can even lead to the interruption of your hosting account.</p>
<p>Hotlinking an image is a little less of a cut and dried issue as far as whether or not it actually violates copyright laws. As far as I know the matter simply has not been tested in court, and legal opinions concerning it can vary. What is generally agreed upon regarding it is that it is impolite at best (regardless of arguments about how cheap bandwidth is). Additionally, you do run the risk of whoever you are hotlinking the image from simply switching it out for a different image if the request shows your site as the referrer (check out <a href="http://www.techcrunch.com/2007/03/27/john-mccains-myspace-page-hacked/" target="_blank">John McCain&#8217;s MySpace Page &#8220;Enhanced&#8221;</a> for a classic example of this). </p>
<h3>The Solutions</h3>
<p>Luckily, however, there are plenty of images available out there that you can use, as long as you know how to find them. You can use any images that are within the <a href="http://www.benedict.com/Info/PublicDomain/PublicDomain.aspx" target="_blank">Public Domain</a> freely, and with a few easily followed terms many photographers and artists offer their images available under the <a href="http://creativecommons.org/licenses/by/3.0/" target="_blank">Creative Commons</a> license. Also, there are a few Free Stock Photo sites out there as well that offer a nice selection of images that can be used in blogs posts.</p>
<h3>Finding Public Domain Images</h3>
<p>Public Domain refers to any work that is not copyrighted or work on which the copyright has expired. Instead of worrying about how to try and find formerly copyrighted images where the copyright has expired, I am going to focus on how to locate ones that were never copyrighted in the first place. In the US, works that are authored by the federal government are not copyrighted, and therefore fall into the Public Domain. It is important to note that the distinction is works that were authored by them, and not all works that are owned by them. If a private individual creates the work, and then sells or transfers the copyright to the government, the work is still copyrighted. Also, some specific images might have use restrictions on them. A good example of this is the <a href="http://www.nasa.gov/centers/goddard/multimedia/gtv_copyright.html" target="_blank">NASA logos</a>&#8230; the general permission to use all images found on the NASA site does not extend to the logos. Specifically, none of the three logos may be used &#8220;by persons who are not NASA employees or on products (including Web pages) that are not NASA sponsored.&#8221; All others are pretty much fair game.</p>
<p>Now that we know where these images are that we can use, we need to figure out how to search through them and find the ones we want. There are a couple of useful methods for doing this. One of the easiest ways is simply going to Google Images, and performing a &#8220;site:{somegovtsite.gov}&#8221; search, plus whatever keyword you are looking for. Which federal government site you choose will most likely be based on what types of images you are trying to hunt down. For instance, if you need to find a good wildlife picture, then the US Forest Service at <a href="http://www.fs.fed.us/" target="_blank">www.fs.fed.us</a> is probably a good place to start. So, if for instance you need a deer picture, you would go to Google Images and type in:</p>
<p>[<a href="" target="_blank">site:fs.fed.us +deer</a>] (note that dropping the &#8220;www&#8221; from the &#8220;site:&#8221; search enables you to pick up any subdomains as well)</p>
<p>While not all of the images are exactly what we are looking for, we can see that some nice matches do come up on the front page:</p>
<p><img src="/images/govt-site-deer-search.png" alt="Search for deer images on a federal government site" onmouseup="hl2l(event);"></p>
<p>If you notice results that appear to be from sites other than ones owned by US government (such as Blogspot or Myspace), don&#8217;t worry&#8230; those are people who are using hotlinked images on their own pages. The images themselves are still hosted on the government websites. Some good examples of federal government sites that are rich in images, along with the number of images returned for each by using the &#8220;site:&#8221; command without a keyword in Google Images, are:</p>
<ul>
<li>NASA (<a href="http://www.nasa.gov" target="_blank">nasa.gov</a>) &#8211; 1,020,000 image results</li>
<li>The Whitehouse (<a href="http://www.whitehouse.gov/" target="_blank">whitehouse.gov</a>) &#8211; 116,000 image results</li>
<li>Library of Congress (<a href="http://www.loc.gov/" target="_blank">loc.gov</a>) &#8211; 186,000 image results</li>
<li>Government Printing Office (<a href="http://www.gpo.gov/" target="_blank">gpo.gov</a>) &#8211; 8,370 image results</li>
<li>Department of Education (<a href="http://www.ed.gov/" target="_blank">ed.gov</a>) &#8211; 23,400 image results</li>
<li>National Oceanic and Atmospheric Administration (<a href="http://www.noaa.gov/" target="_blank">noaa.gov</a>) &#8211; 317,000 image results</li>
<li>Department of Energy (<a href="http://www.energy.gov/" target="_blank">energy.gov</a>) &#8211; 22,100 image results</li>
<li>Environmental Protection Agency (<a href="http://www.epa.gov/" target="_blank">epa.gov</a>) &#8211; 65,000 image results</li>
<li>US Forest Service (<a href="http://www.fs.fed.us/" target="_blank">fs.fed.us</a>) &#8211; 122,000 image results</li>
<li>Federal Aviation Administration (<a href="http://www.faa.gov/" target="_blank">faa.gov</a>) &#8211; 9,720 image results</li>
<li>US Army (<a href="http://www.army.mil/" target="_blank">army.mil</a>) &#8211; 304,000 images results
</ul>
<p>Using parenthesis and the OR operator, you can also search multiple government sites at once, like so:</p>
<p>[<a href="http://images.google.com/images?gbv=2&#038;hl=en&#038;safe=off&#038;q=airplane+%2B%28site%3Aarmy.mil+OR+site%3Anasa.gov+OR+site%3Asite%3Afaa.gov%29&#038;btnG=Search+Images" target="_blank">airplane +(site:army.mil OR site:nasa.gov OR site:site:faa.gov)</a>]</p>
<p>Which in the above example will search the US Army, NASA, and the Federal Aviation Administration websites for images matching the keyword [airplane] all at the same time.</p>
<p>Another option for searching the federal stockpile of images is to use the image search functionality on  the <a href="http://www.usasearch.gov/search?v%3Aproject=firstgov-images&#038;v%3Aframe=form&#038;frontpage=1&#038;emptyquery=1" target="_blank">USA<em>Search</em>.gov</a> website. While you don&#8217;t have the luxury  of being able to restrict your search to specific sites, you do have the added ease of being able to search all of the federal government sites at once, along with certain archives that might not be indexed by Google.</p>
<h3>Finding Creative Commons Images</h3>
<p>The Creative Commons is a set of free licenses that allow artists to share their work, while still retaining some of their rights. For bloggers, usually the images they will be most interested in are those that are licensed under straight <a href="http://creativecommons.org/licenses/by/3.0/" target="_blank">Attribution</a>. That means that you are free to share or modify the images as you need, even for commercial purposes, as long as you attribute the original work of the author in the manner they specify. This is usually done simply via a link back to the original image. </p>
<p>Google has an option on their Advanced Search to only search documents that are released under Creative Commons license. However, for some reason they don&#8217;t offer the same option under the Google Images search. Even if you search for a keyword and restrict the results to only show Creative Commons results in Web Search first, and then click on the Images link, the url parameter that tells Google that you want to restrict the search results is dropped. Luckily though, adding the parameter in manually does in fact work. I created a small tool on <a href="http://www.bad-neighborhood.com/" target="_blank">Bad Neighborhood</a> that allows you to enter a search term in, and it will open up a Google Images search with the parameter that restricts the results to only show images released under Creative Commons here:</p>
<p><a href="http://www.bad-neighborhood.com/creative-commons-image-search.htm" target="_blank">Creative Commons Google Image Search Assistant</a></p>
<p>Most of the results that you will see with this search will either be from <a href="http://flickr.com/" target="_blank">Flickr</a> and <a href="http://picasaweb.google.com" target="_blank">Picasa Web</a>, since those images appear to be the ones that Google has the easiest time identifying the licensing on.</p>
<p>Unless you uncheck the checkbox at the bottom of the last paragraph on the page, you will notice that 2 windows open at the same time when you use that tool. This is because Flickr also has it&#8217;s own integrated Creative Commons search, on it&#8217;s Advanced Search page, but since the link to that page doesn&#8217;t show unless you perform a regular search first, many people won&#8217;t realize that it is an option. This tool includes a search on Flickr as well by default, without you having to go to the Advanced Search page first. </p>
<p>If you want to perform just the Flickr search, you can go there, and click on the search button. The link to the Advanced Search will then appear just to the right of the search box:</p>
<p><img src="/images/flickr-advanced-search-link.png" alt="Flickr Advanced Search link" onmouseup="hl2l(event);"></p>
<p>Once there, scroll down to the last set of options, and you will see 3 checkboxes that you can use to search only for content that you are allowed to use under the Creative Commons:</p>
<p><img src="/images/creative-commons-flickr-options.png" alt="Creative Commons search boxes on Flickr" onmouseup="hl2l(event);"></p>
<p>Once you find a picture that you think fits, you can verify that it is indeed released under Creative Commons by looking for the CC logo in the right hand column:</p>
<p><img src="/images/attribution-logo.png" alt="Attribution logo on Flickr pages" onmouseup="hl2l(event);"></p>
<p>Just remember to attribute the author of any original work that you use.</p>
<h3>Finding Free Stock Images</h3>
<p>Lastly, there are of course the Free Stock Photo sites that most people are aware of. Last year Donna Fontenot wrote a post about her <a href="http://www.dazzlindonna.com/blog/2007/07/18/favorite-10-free-stock-photo-download-sites/" target="_blank">Favorite 10 Free Stock Photo Download Sites</a>. Out of those, I picked my favorite 7, and built a tool using the same &#8220;site:&#8221; search plus OR operator method I described above:</p>
<p><a href="http://www.bad-neighborhood.com/free-image-meta-search.htm" target="_blank">Bad Neighborhood Free Image Meta Search</a></p>
<p>Simply enter your keywords into the box and hit Search. A new Google Images window will open up, allowing you to simultaneously search all 7 sites as once for images matching your keywords. While the selection may not be quite as great as going to each site one by one and using their built in search functionality, it can be much, much quicker to find a graphic that fits your needs this way.</p>
<p>Happy Image Hunting. <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div><em><a href="http://www.vecteezy.com/vf/444-Camera-Icon-Vector-" target="_blank">Original camera vector icon</a> credit goes to <a href="http://blog.refueldesign.com/">refueldesign.com</a>.</em></div>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2009/01/12/how-to-find-the-best-free-imagephotographics-downloads-for-your-blog-posts/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>How To Remove Your Website From Linkscape *Without* An SEOmoz Meta Tag</title>
		<link>http://smackdown.blogsblogsblogs.com/2008/10/21/how-to-remove-your-website-from-linkscape-without-an-seomoz-meta-tag/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2008/10/21/how-to-remove-your-website-from-linkscape-without-an-seomoz-meta-tag/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 07:55:50 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[lackofmeds]]></category>
		<category><![CDATA[nerdiness]]></category>
		<category><![CDATA[On The Ball-ness]]></category>
		<category><![CDATA[psychoblogging]]></category>
		<category><![CDATA[scams]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=156</guid>
		<description><![CDATA[Over the past couple of weeks, one of the biggest concerns about SEOmoz&#8217;s new Linkscape tool (which I recently blogged about in reference to the bots that Rand refuses to identify, and then again due to suspicious additions of a phantom 7 billion pages to one of his index sources) has been the complete lack [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/gavel.jpg" border="0" alt="You do have rights to your content." style="float: right;"  onmouseup="hl2l(event);"> Over the past couple of weeks, one of the biggest concerns about SEOmoz&#8217;s new Linkscape tool (which I recently blogged about in reference to the <a href="/2008/10/17/how-to-block-the-bots-seomoz-isnt-telling-you-about/" target="_blank">bots that Rand refuses to identify</a>, and then again due to <a href="/2008/10/20/how-to-add-7-billion-pages-to-your-index-overnight" target="_blank">suspicious additions of a phantom 7 billion pages</a> to one of his index sources) has been the complete lack of a method available for someone to remove their data from the tool. Assuming that all of the hints Rand has been so &#8220;subtly&#8221; dropping are accurate, and the one bot that they do actually have control over is in fact <a href="http://www.dotnetdotcom.org/" target="_blank">DotBot</a>, then from the beginning the data was collected under false pretenses. The DotBot website clearly states<span id="more-156"></span> the following as it&#8217;s purpose:</p>
<blockquote><p>Our purpose is rather simple. We want to make the internet as open as possible. Currently only a select few corporations have a complete and useful index of the web. Our goal is to change that fact by crawling the web and releasing as much information about its structure and content as possible. We plan on doing this in a manner that will cover our costs (selling our index) and releasing it for free for the benefit of all webmasters.</p></blockquote>
<p>If, again, DotBot is owned by SEOmoz, then actual goal of collecting those webpages was the development of a commercial tool. With that in mind, Rand&#8217;s refusal to remove pages from the index that the owners do not want in there takes on a whole new level of unreasonableness. When <a href="http://sphinn.com/story/80142#c56146" target="_blank">pressed about it</a>, this is the most Rand is willing to compromise as far as removing sites from the index:</p>
<blockquote><p>3)SEOmoz will ONLY remove your site from DISPLAYING your data through Linkscape if you add a customized SEOmoz meta tag to each and every page on your site, and even then, only after a 30-60 day time period.</p>
<p>Yes, although we are looking at ways to block an entire site from being shown in the future through a registration system. And yes, we can&#8217;t block anything until we&#8217;ve re-crawled and re-indexed that page, which can take 30-60 days depending on the speed with which we crawl/re-crawl a given URL.</p>
<p>4)SEOmoz is &#8220;unwilling to provide a clear concise way to keep data out of Linkscape.&#8221;</p>
<p>That&#8217;s what you said, and I merely copied it to point out that it had an exception. I know it&#8217;s a fun soundbyte, but without the important caveat in the sentence it was in, it&#8217;s really unfair to keep using this phrase. That caveat is that we are willing to provide one clear, concise way to keep data out of Linkscape &#8211; the seomoz noindex meta tag.</p></blockquote>
<p>So, the only way Rand will <em>voluntarily</em> remove your site from his index is if you agree to basically brand your website with a meta tag using his company name, and then wait 30-60 days. Unfortunately for him, that&#8217;s really not his call.</p>
<p>You own your website and the data it contains (assuming you did not scrape it from somewhere else, of course), and that ownership is protected under US copyright law. Anyone whose rights are violated under that law have specific remedies available to them under the <a href="http://en.wikipedia.org/wiki/Digital_Millennium_Copyright_Act" target="_blank">Digital Millennium Copyright Act</a>.</p>
<p><strong>Now, I cannot stress this strongly enough&#8230;</strong> these remedies are <em>not</em> intended to harass a website owner. They should be used neither frivolously nor fraudulently, and <em>there are penalties for filing false information</em>. You should under no circumstances perform this process for any urls or domains that you do not explicitly own, and if a counter-notification does get filed then you should in fact follow through with a lawsuit.</p>
<p>For all <em>valid</em> claims, I am outlining an easy to follow process for requesting that your information be removed from his index.</p>
<p>First, verify that your content is indeed in their tool. If it is, then the next step is to contact SEOmoz directly. Give them a chance to rectify the situation within a timely manner. Send a polite request that your entire domain be completely removed from the index powering their Linkscape tool, and for a way to confirm that it has indeed been done once they have. The support email for SEOmoz is listed on the site as <a href="mailto:sitesupport@seomoz.org">sitesupport@seomoz.org</a>, or you can fax them the request at (206) 338-3797. In this request you should list who you are, the address of your domain, and your contact information. Despite Rand&#8217;s insistence that they cannot do this, it might turn out that they do in fact have the ability after all. Do not skip the step of contacting them first. For tracking purposes, you might want to CC their ISP with this initial request, to document that you did indeed attempt to resolve the issue with them first, although this is not required. If you do decide to do that, SEOmoz&#8217;s ISP is <a href="http://www.hopone.net/" target="_blank">HopOne Internet Corporation</a>. The appropriate email to use for these matters, according to <a href="http://www.hopone.net/aup.php" target="_blank">HopOne&#8217;s AUP</a>, is <a href="mailto:abuse@hopone.net">abuse@hopone.net</a>, and their fax is (604) 608-2953.</p>
<p>If after a reasonable amount of time, say, 24 hours, they still have not removed your sites information, then you can consider sending a formal DMCA letter to their ISP, HopOne. The requirements for such a letter are very specific, and are laid out in <a href="http://www4.law.cornell.edu/uscode/17/512.html#c_3" target="_blank">17 U.S.C. § 512(c)(3)</a>, &#8221; Elements of notification&#8221;. A sample DMCA notice for this purpose might look something like this:</p>
<blockquote><p>To: abuse@hopone.net<br />
Subject: Notice of Copyright Infringement<br />
The copyrighted work at issue is the the entire set of links appearing on my domain at {<strong>www.mydomain.com</strong>}, each comprised of their respective URLs, anchor texts, and attributes, including both those constituting my websites navigation, as well as those linking my website to other websites on the Internet. While I acknowledge than an individual url in and of itself may not be copyrightable, I maintain that the set of links residing on my website taken as a whole or in sections do in fact comprise a structure that is unique and my own property.</p>
<p>The freely accessible URL where my copyrighted material is located is accessed through the gateway page located at http://www.seomoz.org/linkscape . Since the interface that is displaying my content is only visible via an http POST request, it is necessary to enter my domain {<strong>www.mydomain.com</strong>} into the text box presented, and then press the button labeled &#8220;GO&#8221;, in order to view the infringing material. Note that while this does demonstrate the existence of the infringing material being used on the server, it is only the one open to the general public without paying a fee, although this request is for the removal of the information from the index completely, including from areas accessible only to paying members of the website.</p>
<p>The contact information for the company of the infringing website, as indicated by their Contact Us page, is as follows:<br />
Office: (206) 632-3171<br />
Fax: (206) 338-3797<br />
sitesupport@seomoz.org<br />
SEOmoz.org<br />
1221 E. Pike St., Suite 200<br />
Seattle, WA 98122</p>
<p>I can be reached at {<strong>your@email.com</strong>}, or via telephone at {<strong>your telephone number</strong>}. My mailing address is {<strong>your full mailing address, including street and number, any apartment number, city, state, and zip code</strong>}.</p>
<p>I have a good faith belief that use of the copyrighted materials described above as allegedly infringing is not authorized by the copyright owner, its agent, or the law.</p>
<p>I swear, under penalty of perjury, that the information in the notification is accurate and that I am the copyright owner or am authorized to act on behalf of the owner of an exclusive right that is allegedly infringed.</p>
<p>At your earliest convenience, please respond to this letter at my email address listed above, and let me know what actions have been taken to resolve this matter. Thank you.</p>
<p>My electronic signature is below:<br />
{<strong>Put Your Name Here</strong>}</p></blockquote>
<p>Bottom line is, it would be nice if Rand would simply step up to the plate and actually <em>be</em> the nice guy he wants everyone to believe that he is. Until such time as that actually happens, however, as sad as it may be, this may be our only recourse to keep him from using our information without consent.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2008/10/21/how-to-remove-your-website-from-linkscape-without-an-seomoz-meta-tag/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Google Fundamentally Changes The Way They Handle 302 Redirects (Welcome Back 302 Hijack!)</title>
		<link>http://smackdown.blogsblogsblogs.com/2008/09/15/google-fundamentally-changes-the-way-they-handle-302-redirects-welcome-back-302-hijack/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2008/09/15/google-fundamentally-changes-the-way-they-handle-302-redirects-welcome-back-302-hijack/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 12:00:52 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[Cuttisms]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[lackofmeds]]></category>
		<category><![CDATA[On The Ball-ness]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=91</guid>
		<description><![CDATA[For years now, on an on-again/off-again basis, Google has had issues with the way that they treat 302 Temporary Redirects. Going back at least as far as 2004, you can find discussions about websites getting hijacked in the serps, all due to problems arising from the way that 302&#8242;s were treated. The issue was that [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/officer-not-so-friendly-302-redirect.png" style="float:right;" alt="Officer not-so-friendly 302 Redirect"  onmouseup="hl2l(event);"> For years now, on an on-again/off-again basis, Google has had issues with the way that they treat 302 Temporary Redirects. Going back at least as far as 2004, you can <a href="http://www.seo-scoop.com/2004/11/04/rankings-hijacked-by-302-redirects-are-you-a-victim/" target="_blank">find discussions about websites getting hijacked</a> in the serps, all due to problems arising from the way that 302&#8242;s were treated. The issue was that if one site redirected to another using a 302 Temporary Redirect (as opposed to a 301 Permanent Redirect, which has come to be known as a &#8220;search engine friendly&#8221; redirect), often times <span id="more-91"></span>in the search results Google would display the URL of the source page, but the content of the page that was getting redirected to. This was open to being exploited, since malicious webmasters could simply serve a 302 redirect to Google, hence &#8220;hijacking&#8221; the target page in the serps, but then direct actual visitors wherever they wanted.</p>
<p>Eventually, after <em>much</em> complaining from the webmastering community (and not until many webmasters had been adversely affected by it), Google changed the way that they handled 302 redirects. Supposedly, this fixed the problem. In January 2006, Matt Cutts <a href="http://www.mattcutts.com/blog/seo-advice-url-canonicalization/" target="_blank">discussed how those changes worked</a>:</p>
<blockquote><p>Many months ago, if you saw someresult.com/search2.php?url=mydomain.com, that would sometimes have content from mydomain. That could happen when the someresult.com url was a 302 redirect to mydomain.com and we decided to show a result from someresult.com. Since then, we’ve changed our heuristics to make showing the source url for 302 redirects much more rare. We are moving to a framework for handling redirects in which we will almost always show the destination url. Yahoo handles 302 redirects by usually showing the destination url, and we are in the middle of transitioning to a similar set of heuristics. Note that Yahoo reserves the right to have exceptions on redirect handling, and Google does too. Based on our analysis, we will show the source url for a 302 redirect less than half a percent of the time (basically, when we have strong reason to think the source url is correct). &#8211; <em>Matt Cutts</em></p></blockquote>
<p>Since that time, aside from the rare rumor here and there, 302 page hijacking pretty much seemed to be a thing of the past.</p>
<p>Last week, however, I noticed what appears to be a fundamental change in the way that Google is handling 302 redirects, and one that goes directly against what Matt blogged two and a half years ago. Until last week, one of the more commonly seen cases of 302 redirects in the serps, where the destination url is the one displayed, was the login screen for blogs powered by WordPress. When you try and access a screen that requires you to be logged in (for instance, /wp-admin/, or a private post), WordPress delivers a 302 redirect to the login screen, and includes a parameter in the url so it knows where to take you once you have actually logged in. Since Googlebot is never actually logged in to peoples WordPress installs, whenever it tried to spider a /wp-admin/ folder, you would see the page that was redirected to in the serps, like so:</p>
<p><a href="/images/google-old-302-handling.png" target="_blank"><img src="/images/google-old-302-handling-sm.png" alt="The way 302 redirects were handled until recently." onmouseup="hl2l(event);"></a><br />
(<em>click to enlarge</em>)</p>
<p>Then, all of a sudden, it looks as if Google has started to change that, and is instead reverting back to showing the url that is actually getting redirected in the serps, but again showing the content of the target page in the cache:</p>
<p><a href="/images/google-new-302-handling.png" target="_blank"><img src="/images/google-new-302-handling-sm.png" alt="Exploitable 302 redirect handling." onmouseup="hl2l(event);"></a><br />
(<em>click to enlarge</em>)</p>
<p>This would of course lead me to believe that it is now possible to again hijack a competitors page by using a 302 redirect. With a little poking around, I was in fact able to find a case of this happening. If you perform <a href="http://www.google.com/search?num=100&#038;hl=en&#038;suggon=0&#038;safe=off&#038;q=%22client+easily+and+in+style.%22+%22Game+Portal+-+easy+to+install+PHP%22+%2Bintitle%3A%22hot+scripts%22&#038;btnG=Search" target="_blank">this search</a>, you can clearly see an instance of Google showing a source url that is performing a 302 redirect (I confirmed this using <a href="http://www.bad-neighborhood.com/header_detector.php" target="_blank">Bad Neighborhood&#8217;s Header Detector</a>), and showing the content of the target website, and doing so across domains:</p>
<p><a href="/images/new-hijack.png" target="_blank"><img src="/images/new-hijack-sm.png" alt="Exploitable 302 redirect handling." onmouseup="hl2l(event);"></a><br />
(<em>click to enlarge</em>)</p>
<p>Viewing the cached copy of the url in question (via [<a href="http://www.google.com/search?q=cache:www.f2b.be/__redirection__/linkexchange/out.php?id=34" target="_blank">cache:www.f2b.be/__redirection__/linkexchange/out.php?id=34</a>]) confirms that this is indeed a case of one site hijacking a page on a different site altogether. While this particular instance may be completely harmless, the fact is that the exploit itself is indeed back, and it is almost a guarantee that there will be webmasters that will get hurt by it. We can only hope that this time Google doesn&#8217;t wait quite so long to fix the issue, and that not <em>too</em> many webmasters are affected before they do.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2008/09/15/google-fundamentally-changes-the-way-they-handle-302-redirects-welcome-back-302-hijack/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>How To Completely Clean Your Hacked WordPress Installation</title>
		<link>http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 14:11:18 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[blogthropology]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[On The Ball-ness]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=82</guid>
		<description><![CDATA[Getting hacked sucks, plain and simple. It can affect your rankings, cause your readership to be exposed to virus and trojan attacks, make you an unwilling promoter to subject material you may not actually endorse, and in many cases cause the loss of valuable content. However, once it happens it is usually best to not [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/hacker-removal.png" border="0" alt="WordPress hacker removal spray... use in a well ventilated area." style="float: right;"  onmouseup="hl2l(event);"> Getting hacked sucks, plain and simple. It can affect your rankings, cause your readership to be exposed to virus and trojan attacks, make you an unwilling promoter to subject material you may not actually endorse, and in many cases cause the loss of valuable content. However, once it happens it is usually best to not procrastinate on the clean up process, <span id="more-82"></span>since a speedy restore will most times minimize the damage that was caused.</p>
<p>While almost all sources will recommend that you upgrade your WordPress to the latest version, what the majority neglect to tell you is that in most cases simply doing so will <em>not</em> prevent the attackers from getting back in, even if there are no known exploits with the latest version. The hackers may have left a back door file hidden in a directory where it wouldn&#8217;t get overwritten with an upgrade, or inserted code into your theme, or simply created an account that they then granted admin privileges to. Any one of those would allow them back in, even after you patched what was wrong the first time. Therefore I am providing this step by step process on how to completely clean out and restore a WordPress installation that has been hacked.</p>
<h3><strong>1. Backup the site and the database.</strong></h3>
<p>Even a hacked copy of your blog still probably contains valuable information and files. You don&#8217;t want to lose this data if something goes wrong with the cleanup process. Worst case scenario you can just restore things back to their hacked state and start over.</p>
<h3><strong>2. Make a copy of any uploaded files, such as images, that are referenced.</strong></h3>
<p>Images are generally exempt from posing a security risk, and ones that you uploaded yourself (as opposed to ones included with a theme, for instance) will be harder to track down and replace after things are fixed again. Therefore it is usually a good idea to grab a copy of all the images in your upload folder so as to avoid broken images in posts later. If you have any non-image files that could potentially have been compromised, such as zip files, plugins, or php scripts that you were offering people, then it is a good idea to grab fresh copies of those from the original source.</p>
<h3><strong>3. Download a fresh version of WP, all of the plugins you need, and a clean template.</strong></h3>
<p>Using the WordPress automatic upgrade plugin does make it easier to upgrade every time a new version comes out. However, it only replaces WordPress specific files, and does not delete obsolete ones. It also leaves your current themes and plugins in place, as is. This means that if used to upgrade a blog that has already been compromised, it can very well leave the attackers a way back in. It is best to start over from scratch as far as the files portion of your installation goes. Note that if you use the <a href="http://smackdown.blogsblogsblogs.com/2008/06/18/easywp-wordpress-installer-cause-there-aint-no-such-thing-as-too-easy/" target="_blank">EasyWP WordPress Installer</a> script that I wrote it saves you from having to download, unzip, and then upload all of the core WordPress files, although you will still need to grab fresh copies of the themes and plugins that you want to use.</p>
<h3><strong>4. Delete all of the files and folders in the WP directory, either through FTP (slower) or through cPanel&#8217;s File Manager (faster).</strong></h3>
<p>Now that you have fresh copies of all the files you need, and copied all of your uploaded images, completely delete the entire directory structure your blog is in. This is the only surefire way to completely remove all possibly infected files. You can do this through FTP, but due to the way that FTP handles folder deletion (ie. it walks the directory structure, stores each and every file name that needs to be deleted, and then sends a delete command for each one), this can be slow and in some instances cause you to get disconnected due to flooding the server with FTP commands. If available it is much faster to do this through either cPanel&#8217;s File Manager, or via command line if you happen to have shell access.</p>
<h3><strong>5. Re-upload the new fresh copies you just grabbed.</strong></h3>
<p>This step should be self explanatory, but I would like to mention that if your FTP client supports it (I use <a href="http://filezilla-project.org/" target="_blank">FileZilla</a>, which does) and your host allows it, then increasing the number of simultaneous connections you use to upload can greatly reduce your overall transfer time, especially on servers or ISP&#8217;s where latency is more of an issue than bandwidth. In FileZilla this setting is found by going to &#8220;Edit -> Settings -> File transfer settings&#8221;:</p>
<p><img src="/images/filezilla-settings.png" onmouseup="hl2l(event);" alt="FileZilla settings panel"></p>
<p>Also, if not using the <a href="http://smackdown.blogsblogsblogs.com/2008/06/18/easywp-wordpress-installer-cause-there-aint-no-such-thing-as-too-easy/" target="_blank">EasyWP WordPress Installer</a> script, don&#8217;t forget to edit and rename your wp-config.php file (when freshly unzipped this is named wp-config-sample.php).</p>
<h3><strong>6. Run the database upgrade (point your browser at /wp-admin/upgrade.php).</strong></h3>
<p>This will make any necessary changes to your database structure to support the newest version of WordPress.</p>
<h3><strong>7. Immediately change your admin password.</strong></h3>
<p>If you have more than one admin (meaning any user with editing capabilities), and cannot get the others to change their passwords right then, I would change their user levels until they can change their passwords as well. If there is anyone in your user list that has editing capabilities, and you do not recognize them, it&#8217;s probably best to just delete them altogether. If changing passwords is something you hate doing, then maybe my new <a href="http://www.bad-neighborhood.com/password-generator.htm" target="_blank">memorable password generator</a> can make that a little less stressful for you. <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h3><strong>8. Go through the posts and repair any damage in the posts themselves.</strong></h3>
<p>Delete any links or iframes that were inserted, and restore any lost content. Google and Yahoo&#8217;s caches are often a good source of what used to be there if anything got overwritten. The following query run against the database can help you isolate which posts you want to look at:</p>
<pre>SELECT * FROM wp_posts WHERE post_content LIKE '%&lt;iframe%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%&lt;noscript%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%display:%'</pre>
<p>If you did not change the default prefix for WordPress tables, than you can copy and paste that directly into a query window and run it, and it should pull up any posts that have been modified to hide content using any of the methods I have come across so far (iframes, noscript tags, and display:none style attributes). To get to a query window in cPanel, you would click on the MySQL&reg; Databases icon, scroll to the bottom of the page, and then click on phpMyAdmin. Once the new window or tab opens, you would click on the database in the left hand side that your blog was in, and then in the right side at the top click on the SQL tab. Then just paste the query into the large text area and hit the Go button.</p>
<p>Note, however, that there may be other types of injected content that I haven&#8217;t seen yet, and that a manual inspection looking for the types of patterns that first alerted you to the fact that your blog was hacked is always a good idea.</p>
<h3><strong>UPDATE: 9. If you are having issues cleaning the installation yourself</strong></h3>
<p>When I wrote this post back in 2008 I intended it to be a do it yourself guide for the non-techie. However, I do realize that some people would still rather a professional programmer perform many of the steps I outlined here. If anyone has had their WordPress installation hacked, and either is uncomfortable attempting to clean it on their own, or has tried to do so with no success, I am available on a case by case basis. Most cleanings can be performed in about one hour, two at the most. The time can vary depending on the size of the blog, the amount of customization to the original theme, and the number of plugins installed. Feel free to <a href="http://smackdown.blogsblogsblogs.com/contact-michael-vandemar/">contact me here</a> if you feel like you could benefit from my help. Please include the site and any details that you think might be relevant (pro theme, anything you may have tried on your own, etc.) in the contact form.</p>
<h3><strong>UPDATE #2: 10. A note on hosting.</strong></h3>
<p>This past year (2010) has seen multiple waves of attacks on people&#8217;s websites that happened not due to insecurities within the WordPress platform itself, as has historically been the issue, but rather due to vulnerabilities with the actual hosts. Some of the bigger names that were hit include <a href="http://smackdown.blogsblogsblogs.com/2010/05/13/hosting-with-godaddy-might-want-to-rethink-that-decision/" target="_blank">GoDaddy</a>, <a href="http://smackdown.blogsblogsblogs.com/2010/06/14/rackspace-hacked-clients-check-your-databases-wordpress-wp_optimize-backdoor-in-wp_options-table/" target="_blank">Rackspace Cloud</a>, MediaTemple, and <a href="http://www.theregister.co.uk/2010/04/19/network_solutions_mass_hack/" target="_blank">Network Solutions</a>, for instance. It is very important that you use a host that is not only well versed in security, but one that is stable and has knowledgeable tech support as well. </p>
<p>My personal recommendation for shared hosting is <a href="http://www.jdoqocy.com/nd115shqnhp48779B7A465965D68" target="_blank">Hostgator</a><img src="http://www.ftjcfx.com/6l98y7B-53PTSSUWSVPRQURQYRT" width="1" height="1" border="0"/>. It is where this blog and many other sites of mine are currently hosted. Yes, that is an aff. link, but I would recommend them even if it wasn&#8217;t. For a dedicated solution that is both affordable and robust I use <a href="http://www.shareasale.com/r.cfm?b=108316&#038;u=189767&#038;m=15362&#038;urllink=&#038;afftrack=" target="_blank">The Planet</a>, which is where I host <a href="http://www.bad-neighborhood.com/" target="_blank">Bad Neighborhood</a>. Both companies are ones that I have been using for years without issues, and that I do recommend to my own clients when they find themselves dissatisfied with their current hosts. If you were hacked, and your WordPress was up to date when it happened, then a change of hosts is something you should consider looking into.</p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/feed/</wfw:commentRss>
		<slash:comments>185</slash:comments>
		</item>
		<item>
		<title>Free Google Third-Party Ad Providers Widget</title>
		<link>http://smackdown.blogsblogsblogs.com/2008/06/01/free-google-third-party-ad-providers-widget/</link>
		<comments>http://smackdown.blogsblogsblogs.com/2008/06/01/free-google-third-party-ad-providers-widget/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 01:10:11 +0000</pubDate>
		<dc:creator>Michael VanDeMar</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://smackdown.blogsblogsblogs.com/?p=75</guid>
		<description><![CDATA[On February 26, 2008 Google updated it&#8217;s AdSense program&#8217;s terms to include the following language: &#8220;You must have and abide by an appropriate privacy policy that clearly discloses that third parties may be placing and reading cookies on your users&#8217; browser, or using web beacons to collect information, in the course of ads being served [...]]]></description>
			<content:encoded><![CDATA[<p>On February 26, 2008 Google <a href="http://www.jensense.com/2008/02/26/tracked-with-web-beacons-by-adsense/" target="_blank">updated it&#8217;s AdSense program&#8217;s terms</a> to include the following language:<span id="more-75"></span></p>
<blockquote><p><em>&#8220;You must have and abide by an appropriate privacy policy that clearly discloses that third parties may be placing and reading cookies on your users&#8217; browser, or using web beacons to collect information, in the course of ads being served on your website. Your privacy policy should also include information about user options for cookie management.&#8221;</em></p></blockquote>
<p>On May 22nd, 2008 the AdSense team sent out an email announcing that they would now be accepting third-party ads on the AdSense network, and that if a publisher wanted to opt in to show those ads on their websites, they must update their privacy policies, this time including links to those third-party<br />
advertisers:</p>
<blockquote><p><em>&#8220;If you choose to allow third-party ads on your site, please update your privacy policy to inform your visitors that third-party vendors may serve ads on your site. Please also provide links to these vendor websites and inform your users that they may opt out of cookies (if the vendor offers this capability).&#8221;</em></p></blockquote>
<p>Since the <a href="https://www.google.com/adsense/support/bin/answer.py?answer=94149" target="_blank">list of third-party ad providers</a> on Google clearly states: <em>&#8220;At its sole discretion, Google reserves the right to change this vendors list at any time&#8221;</em>, I decided to provide a few easy methods for webmasters to include a version of the list that will automatically update itself.</p>
<p><strong>I provide the list as an XML feed.</strong> You can see the feed here: <a href="http://google-third-party-ads.blogsblogsblogs.com/" target="_blank">google-third-party-ads.blogsblogsblogs.com</a>. It looks like a normal webpage, because I styled it using an xsl stylesheet, but if you view source on the page you can see that it is actually a valid XML document:</p>
<p><a href="/images/gtpa-xml.png" target="_blank"><img src="/images/gtpa-xml-sm.png" alt="Google Third Party-Ad Providers XML"></a><br />
(<em>click to enlarge</em>)</p>
<p>PHP provides some easy functions for working with XML, if you are comfortable with those.</p>
<p><strong>I also provide the list as serialized data.</strong> For many people this will be easier than working with XML, since simply calling the <a href="http://www.php.net/manual/en/function.unserialize.php" target="_blank">unserialize()</a> function will turn the list into a PHP array. To grab the serialized data, simply append ?output=serialized to the address, like such:</p>
<p>http://google-third-party-ads.blogsblogsblogs.com/?serialized=true</p>
<p>As long as your privacy page can process PHP (ie. if the extension is .php, or you have it set up to parse PHP inside HTML files), you can just copy and paste the following code where you want the list to appear in your page:</p>
<pre>&lt;?php
$thedata = unserialize( file_get_contents(
"http://google-third-party-ads.blogsblogsblogs.com/?serialized=true" ) );
$providers = $thedata["provider"];
echo '&lt;ul&gt;\n';
foreach( $providers as $provider ){
	$ptitle = $provider["title"];
	$purl = $provider["url"];
	echo '&lt;li&gt;&lt;a href="$purl"&gt;$ptitle&lt;/a&gt;&lt;/li&gt;\n';
}
echo '&lt;/ul&gt;';
?&gt;</pre>
<p>You will have to replace the funky single and double quotes with regular ones to use that code snippet in a PHP page.</p>
<p><strong>Lastly, I provide the list as Javascript widget.</strong> Perhaps the easiest of all is the <a href="http://google-third-party-ads.blogsblogsblogs.com/thewidget.htm" target="_blank">free Google third-party ad providers widget</a>. Simply cut and paste this code into any HTML page (no PHP required) and the list will appear in it&#8217;s place when someone visits the page:</p>
<pre>&lt;script type="text/javascript" src=
"http://google-third-party-ads.blogsblogsblogs.com/gtpap.js"
id="gtpapwidget"&gt;&lt;/script&gt;
&lt;span&gt;List provided courtesy of
&lt;a href="http://google-third-party-ads.blogsblogsblogs.com/"
target="_blank"&gt;blogsblogsblogs.com&lt;/a&gt;&lt;/span&gt;
</pre>
<p>You can style the widget any way you want, since each of the main HTML elements generated has a unique id associated with it, and explained on <a href="http://google-third-party-ads.blogsblogsblogs.com/thewidget.htm" target="_blank">this page</a>. Hope this helps make following the new terms easier. <img src='http://smackdown.blogsblogsblogs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://smackdown.blogsblogsblogs.com/2008/06/01/free-google-third-party-ad-providers-widget/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

