<?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>Seocracy.com &#187; SEO</title>
	<atom:link href="http://seocracy.com/category/seo/feed/" rel="self" type="application/rss+xml" />
	<link>http://seocracy.com</link>
	<description>A blog about technical SEO, Ruby, Web Apps, and more</description>
	<lastBuildDate>Wed, 28 Apr 2010 21:47:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Always question the numbers</title>
		<link>http://seocracy.com/2010/04/always-question-the-numbers/</link>
		<comments>http://seocracy.com/2010/04/always-question-the-numbers/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 13:25:46 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Google Hacking]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[shout-outs]]></category>

		<guid isPermaLink="false">http://seocracy.com/?p=368</guid>
		<description><![CDATA[Right, quick post today&#8230;.I&#8217;ve got some heinous carpal tunnel going on&#8230;the result of marathon hacking sessions, so I&#8217;m _supposed_ to be taking it easy&#8230;.
Google Webmaster Tools has released some new data for all you data-junkies to get your fix on. Specifically, they&#8217;re now showing impression numbers and click-through percentages for organic search queries. Rad right? [...]]]></description>
			<content:encoded><![CDATA[<p>Right, quick post today&#8230;.I&#8217;ve got some heinous carpal tunnel going on&#8230;the result of marathon hacking sessions, so I&#8217;m _supposed_ to be taking it easy&#8230;.</p>
<p>Google Webmaster Tools has released some new data for all you data-junkies to get your fix on. Specifically, they&#8217;re now showing impression numbers and click-through percentages for organic search queries. Rad right?  It looks that way on the surface&#8230;but the good folks on Dave Naylor&#8217;s team have done a bit of research into the numbers and what they&#8217;re calling the &#8216;Google Gap&#8217;.</p>
<p>Read on <a href="http://www.davidnaylor.co.uk/google-webmaster-tools-2.html">http://www.davidnaylor.co.uk/google-webmaster-tools-2.html</a>, and remember to always question the numbers.</p>
<p>Big thanks Dave&#8217;s team for writing this post&#8230;if you&#8217;re looking for a top notch <a title="UK SEO" href="http://www.bronco.co.uk/" target="_blank">UK SEO</a>, look no further.</p>
]]></content:encoded>
			<wfw:commentRss>http://seocracy.com/2010/04/always-question-the-numbers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quick and painless geo-location</title>
		<link>http://seocracy.com/2010/03/quick-and-painless-geo-location/</link>
		<comments>http://seocracy.com/2010/03/quick-and-painless-geo-location/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 19:30:13 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Random!]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://seocracy.com/?p=363</guid>
		<description><![CDATA[Hey all,
I wanted to post up a quick tip for you all, since I often hear people asking about how they can implement geo-location in their landing pages.
Alot of people recommend MaxMind or some other geoIP database, but really, thats a pain in the ass&#8230;there is a much easier way to do it.
On your landing [...]]]></description>
			<content:encoded><![CDATA[<p>Hey all,<br />
I wanted to post up a quick tip for you all, since I often hear people asking about how they can implement geo-location in their landing pages.</p>
<p>Alot of people recommend MaxMind or some other geoIP database, but really, thats a pain in the ass&#8230;there is a much easier way to do it.</p>
<p>On your landing page, just include the following in header.</p>
<p style="padding-left: 30px;">&lt;script type=&#8221;text/javascript&#8221; src=&#8221;http://www.google.com/jsapi&#8221;&gt;&lt;/script&gt;</p>
<p>This script will calculate your visitors location for you&#8230;.and all you have to do is pull the ClientLocation variable!<br />
For example, if I wanted to display a popup with the users city:</p>
<p style="padding-left: 30px;">alert(google.loader.ClientLocation['address']['city'])</p>
<p>Seriously, its THAT SIMPLE.</p>
<p>Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://seocracy.com/2010/03/quick-and-painless-geo-location/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Survey Says: Ipsos Reid presentation to BC Hydro on Social Network Marketing</title>
		<link>http://seocracy.com/2009/06/ipsos-reid-presentation-social-network-marketing/</link>
		<comments>http://seocracy.com/2009/06/ipsos-reid-presentation-social-network-marketing/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 16:43:48 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Theory]]></category>
		<category><![CDATA[survey-says...]]></category>

		<guid isPermaLink="false">http://seocracy.com/?p=313</guid>
		<description><![CDATA[UPDATE: I&#8217;ve had to remove the presentation due to a DMCA complaint. *sigh*
I wanted to share some interesting tid-bits with you all from a recent Ipsos Reid presentation (June 18th) on Social Network Marketing.
This presentation was made to BC Hydro, the major Power authority in British Columbia (that&#8217;s in Canada, dummy).
The average Canadian:

5.4 hrs/week spent [...]]]></description>
			<content:encoded><![CDATA[<p>UPDATE: I&#8217;ve had to remove the presentation due to a DMCA complaint. *sigh*</p>
<p>I wanted to share some interesting tid-bits with you all from a recent Ipsos Reid presentation (June 18th) on Social Network Marketing.</p>
<p>This presentation was made to BC Hydro, the major Power authority in British Columbia (that&#8217;s in Canada, dummy).</p>
<p><strong><span style="text-decoration: underline;">The average Canadian:</span></strong></p>
<ul>
<li>5.4 hrs/week spent on Social network sites, about 1/3 of total Online time.</li>
<li>LinkedIn captures 70% of the share of Social Networking in the workplace.</li>
<li>The stuff teens do online is very different from adults, and VERY limited: socializing, music, and gaming.
<ul>
<li>88% of Adults use the internet to visit a new or informational website, versus only 44% of teens.</li>
<li>68% of Adults have clicked a website advertisement versus 28% of teens.</li>
<li> 70% teens are weekly social network users, versus 36% of adults</li>
</ul>
</li>
</ul>
<p><strong><span style="text-decoration: underline;">Highlights:</span></strong></p>
<ul>
<li>Advertising budgets are not aligned to where people are spending their time &#8211; online expenditure lags significantly behind traditional mediums</li>
<li>58% of Canadians receive 51+ unsolicited commercial emails a week (17% don&#8217;t even know)
<ul>
<li>64% of people don&#8217;t open ANY unsolicited emails</li>
<li>of the people that do open unsolicited emails, 53% do so out of curiosity, 28% because they thought it was legitimate</li>
</ul>
</li>
<li>Permission-based (opt-in) emails are still one of the best ways to market to your websites audience. Be diligent about collecting them</li>
<li>77% of Canadians are registered to receive some kind of opt-in email (2008 average number of sites registered with: 15.3)
<ul>
<li>Top 3 reasons for opting-in: Personal Interest (42% ), Entertainment (38%), New and Information (32%)</li>
<li>It&#8217;s worth noting that E-Commerce and Retail is the 7th most common reason (27%)</li>
</ul>
</li>
<li>Activities resulting from opting-in to an email list:
<ul>
<li>60% entered an advertiser&#8217;s contest</li>
<li>52% visited the advertiser&#8217;s website</li>
<li>17% purchase or received products at a later date</li>
</ul>
</li>
<li>68% percent of Canadians are willing to provide their email address depending on reasoning</li>
</ul>
<p><span style="text-decoration: line-through;">I&#8217;ve uploaded the full presentation for you all, which can be viewed here:</span></p>
]]></content:encoded>
			<wfw:commentRss>http://seocracy.com/2009/06/ipsos-reid-presentation-social-network-marketing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Survey Says: Bing Converts Cheaper than Competitors</title>
		<link>http://seocracy.com/2009/06/bing-converts-cheaper-competitors/</link>
		<comments>http://seocracy.com/2009/06/bing-converts-cheaper-competitors/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 16:07:48 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[shout-outs]]></category>
		<category><![CDATA[survey-says...]]></category>
		<category><![CDATA[ppc]]></category>
		<category><![CDATA[search marketing]]></category>

		<guid isPermaLink="false">http://seocracy.com/?p=307</guid>
		<description><![CDATA[My good friends over at The Search Agency sent me some interesting data yesterday.
Frank Lee, Senior VP of Client Services, and his team found that their paid search clients are seeing dramatically improved results on Bing compared to Live Search.  Even though impressions in the first 3 weeks of Bing have dropped 22% compared to [...]]]></description>
			<content:encoded><![CDATA[<p>My good friends over at <a href="http://www.thesearchagency.com/" target="_blank">The Search Agency</a> sent me some interesting data yesterday.</p>
<p>Frank Lee, Senior VP of Client Services, and his team found that their paid search clients are seeing dramatically improved results on Bing compared to Live Search.  Even though impressions in the first 3 weeks of Bing have dropped 22% compared to the last 3 weeks of Live Search, Microsoft now seems to be serving far more relevant ads on each keyword.</p>
<p>The result for The Search Agency&#8217;s advertisers:</p>
<p style="padding-left: 30px;">Click Through Rate up 15%<br />
Conversions up 6%<br />
Conversion rate up 18%<br />
Cost per acquisition down 3%</p>
<p>Until now, all the industry reports on Bing have covered the increase in search volume, share of search, or total clicks.  Their data is the first analysis of Bing’s impact on paid search advertising performance.  With this growth in search volume, along with these improved metrics, advertisers might want to consider shifting more of their paid search spend to Bing.</p>
<p>You can read Frank&#8217;s full post their their blog <a href="http://www.thesearchagents.com/2009/06/bing-performance/" target="_blank">The Search Agents</a>.</p>
<p>I suggest you subscribe to their blog, as these guys really know what they&#8217;re talking about.</p>
<p>While many agencies seem to base marketing strategy on the sole-opinion of some conference-hopping SEO &#8216;guru&#8217;, The Search Agency always surprises me with their dedication to gathering real, actionable &amp; measurable market data. They are one of those rare Search Marketing agencies that build strategies based on real, hard-earned market research, not a magic eight-ball.</p>
]]></content:encoded>
			<wfw:commentRss>http://seocracy.com/2009/06/bing-converts-cheaper-competitors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updated Google Analytics Keyword Extractor</title>
		<link>http://seocracy.com/2009/04/updated-google-analytics-keyword-extractor/</link>
		<comments>http://seocracy.com/2009/04/updated-google-analytics-keyword-extractor/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 13:34:27 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Google Hacking]]></category>
		<category><![CDATA[Link-Love]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Tools & Applications]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[gattica gem]]></category>
		<category><![CDATA[keywords]]></category>
		<category><![CDATA[organic]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://seocracy.com/?p=298</guid>
		<description><![CDATA[OK,  I&#8217;ll admit, my last post was downright shameful&#8230;
The code was poorly presented, and poorly formatted. It wasn&#8217;t at ALL my normal caliber of work, so I went ahead and rewrote the concept into a tighter little wrapper.
I am using the Gattica gem to interact with the Google Analytics API.
This little script provides a wrapper [...]]]></description>
			<content:encoded><![CDATA[<p>OK,  I&#8217;ll admit, my last post was downright shameful&#8230;</p>
<p>The code was poorly presented, and poorly formatted. It wasn&#8217;t at ALL my normal caliber of work, so I went ahead and rewrote the concept into a tighter little wrapper.</p>
<p>I am using the <a href="http://github.com/cannikin/gattica/tree/master" target="_blank">Gattica gem</a> to interact with the Google Analytics API.</p>
<p>This little script provides a wrapper around the gem that easily allows you to extract your sites organic keywords and sort them based on the number of unique entrances to your site via each keyword.</p>
<p><script src="http://gist.github.com/104452.js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://seocracy.com/2009/04/updated-google-analytics-keyword-extractor/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using the Google Analytics API with Ruby, Open-Uri &amp; Hpricot</title>
		<link>http://seocracy.com/2009/04/using-the-google-analytics-api-with-ruby-open-uri-hpricot/</link>
		<comments>http://seocracy.com/2009/04/using-the-google-analytics-api-with-ruby-open-uri-hpricot/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 19:51:38 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Google Hacking]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[hpricot]]></category>
		<category><![CDATA[keywords]]></category>
		<category><![CDATA[open-uri]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[scraping]]></category>

		<guid isPermaLink="false">http://seocracy.com/?p=269</guid>
		<description><![CDATA[You may or may not have heard that Google has finally opened up their Analytics API to the public. You can read Googles official statement here.
I thought I&#8217;d show you all a quick crash introduction on how you can access the API using Ruby.
The following code uses Open-Uri to access the API and Hpricot to [...]]]></description>
			<content:encoded><![CDATA[<p>You may or may not have heard that Google has finally opened up their Analytics API to the public. You can read Googles official statement <a href="http://analytics.blogspot.com/2009/04/attention-developers-google-analytics.html">here</a>.</p>
<p>I thought I&#8217;d show you all a quick crash introduction on how you can access the API using Ruby.</p>
<p>The following code uses Open-Uri to access the API and Hpricot to parse the response. In this example, we&#8217;re going to authenticate with the API, and then we&#8217;re going to use it to extract all the keywords (organic and paid) which have brought visitors to our site within the past year (limited to 100 keywords max)</p>
<p>NB: sorry for the shitty formatting. I tried like hell to get this code to display well, but I gave up. Just copy and paste..you&#8217;ll be able to sort it out.</p>
<p>require &#8216;rubygems&#8217;<br />
require &#8216;open-uri&#8217;<br />
require &#8216;hpricot&#8217;</p>
<p>USER_EMAIL=&#8221;XXXXXX&#8221; #Insert your Google Account email address here<br />
USER_PASS=&#8221;XXXXXX&#8221; #Insert your password here<br />
PROFILE_ID=&#8221;XXXXXX&#8221; #Insert your profile ID here (Find this in your analytics profile under profile settings)<br />
results = {}<br />
keywords = []<br />
auth_url = &#8220;https://www.google.com/accounts/ClientLogin?Email=#{USER_EMAIL}&amp;amp;Passwd=#{USER_PASS}&amp;amp;accountType=GOOGLE&amp;amp;source=open-uri-limbo-v01&amp;amp;service=analytics&#8221;</p>
<p>auth_key = (open(auth_url).read).split(&#8221;\n&#8221;).last</p>
<p>#now query for keywords, you can change the date values as you see fit, as well as the max-results value<br />
response = Hpricot.XML(open(&#8221;https://www.google.com/analytics/feeds/data?start-date=2008-10-01&amp;amp;end-date=2009-04-21&amp;amp;dimensions=ga:keyword&amp;amp;max-results=100&amp;amp;ids=ga:#{PROFILE_ID}&amp;amp;prettyprint=true&#8221;,<br />
&#8220;Authorization&#8221; =&amp;gt; &#8220;GoogleLogin #{auth_key}&#8221;).read)<br />
## storing some of the extra information in a &#8220;results&#8221; hash in case we need it later<br />
results[:total_results] = (response/&#8217;openSearch:totalResults&#8217;).inner_text<br />
results[:start_index] = (response/&#8217;openSearch:startIndex&#8217;).inner_text<br />
results[:items_per_page] = (response/&#8217;openSearch:itemsPerPage&#8217;).inner_text<br />
results[:start_date] = (response/&#8217;dxp:startDate&#8217;).inner_text<br />
results[:end_date] = (response/&#8217;dxp:endDate&#8217;).inner_text<br />
results[:aggregates] = (response/&#8217;dxp:aggregates&#8217;).inner_text<br />
results[:data_source] = (response/&#8217;dxp:dataSource&#8217;)<br />
results[:entries] = (response/&#8217;entry&#8217;)<br />
## the entries contain each individual keyword</p>
<p>## for my purposes, I&#8217;m not interested in visitors coming from search operators like &#8220;site:&#8221;<br />
## so we&#8217;re scrubbing those out.<br />
for entry in results[:entries]<br />
keyword = (entry/&#8217;dxp:dimension&#8217;).first[:value]<br />
keywords &amp;lt;&amp;lt; keyword unless keyword.include? &#8220;site:&#8221; or keyword.match(/\(.*\)/)<br />
end</p>
<p>## Now print out our keywords<br />
keywords.each {|kw|<br />
puts kw<br />
}</p>
<p><strong>UPDATE</strong> just seconds ago, a new gem was released called <a href="http://github.com/cannikin/gattica/tree/master">Gattica</a> which you can use to access the Google Analytics API. How&#8217;s that for up to the minute blogging? Thanks Twitter!</p>
]]></content:encoded>
			<wfw:commentRss>http://seocracy.com/2009/04/using-the-google-analytics-api-with-ruby-open-uri-hpricot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>So, you want to build a Web App&#8230;</title>
		<link>http://seocracy.com/2009/04/so-you-want-to-build-a-web-app/</link>
		<comments>http://seocracy.com/2009/04/so-you-want-to-build-a-web-app/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 02:57:16 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Announcements & News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Random!]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://seocracy.com/?p=259</guid>
		<description><![CDATA[Are you unemployed? Were you fired from your job as an accountant at a Fortune 500 company? Looking for a good way to make money, but don&#8217;t want to get back in the rat race? If you answered yes to any of those questions, you should consider building a WEB APP!
Web Applications are EASY to [...]]]></description>
			<content:encoded><![CDATA[<p>Are you unemployed? Were you fired from your job as an accountant at a Fortune 500 company? Looking for a good way to make money, but don&#8217;t want to get back in the rat race? If you answered yes to any of those questions, you should consider building a WEB APP!</p>
<p>Web Applications are EASY to build! Anyone can do it!</p>
<p>First, you need an idea. This can be the hardest part. Basically, you just want to think about something people do every day that you can do better.<br />
Here are some ideas to get you started:</p>
<ul>
<li>web-based makeup mirror (requires a webcam)</li>
<li>sea-monkeys&#8230;give them facebook pages, make them twitter&#8230;put them up for adoption.</li>
<li>a calculator, with lots and lots of ajax&#8230;.and really big buttons.</li>
</ul>
<p>These are just a few ideas, but you get the picture. Take some time coming up with your idea, and be patient! You have to refine the idea before you waste time building something no one will ever use. Take at least 30 minutes to decide.</p>
<p>Once you&#8217;ve decided on what your highly profitable Web App is going to do, you have to build it! This is the easiest part. You don&#8217;t even have to know how to write code. Really! There are new programming languages that don&#8217;t even require complicated things like squiggly brakets {} or dollar signs $.  Thanks to the magic of <a href="http://phails.com/" target="_blank">Ruby on Rails</a>, if you can write a grocery list, you can write a Web App. Seriously!</p>
<p>Do you know how to view the source code for an HTML page? Great! That means you know how to design a website! Now, I know, designing things is complicated, but don&#8217;t worry about it! NO ONE DESIGNS THEIR OWN WEBSITES ANYMORE! Seriously! All you need is a Template. There are even <a href="http://developer.yahoo.com/yui/grids/builder/" target="_blank">WEB APPS to build Templates for WEB APPS</a>! Totally meta! <a href="http://designinfluences.com/fluid960gs/" target="_blank">Gnarly</a>!</p>
<p>So, you&#8217;ve got your ruby, you&#8217;ve got your template&#8230;.you&#8217;re almost done! Now, you need a LOGO! Most people say you should hire a designer to get a Logo done professionally, but you don&#8217;t want to spend any money out of pocket, do you? I mean, what are you, Mother Teresa?!? Hell no! I recommend you just <a href="http://logopond.com/" target="_blank">rip one off</a> for now, and once you make some revenue, you can buy some cheap stock Logo from istockphoto.com.</p>
<p>Remember, in order to maximize Web App profits, you need to always be vigilant so that no corners escape uncut. When building your Web App, you should be sure to try and burden yourself with as many of the details as possible. You need to be prepared to be the programmer, the tester, the designer, the marketer and the support staff, ALL IN ONE! But don&#8217;t get stressed out about handling a big workload, because it&#8217;s not like you have to do ANY of those things at 100% efficiency, as long as you&#8217;re the only one doing them. The people who will use your Web App are just nameless, faceless drones anyways; it&#8217;s not like you owe them timely responses to their emails. Always remember that your users are eternally indentured to you in exchange for access to your Web App.</p>
<p>OK, so you&#8217;ve got your Template, you&#8217;ve got your Logo&#8230;&#8230;..it&#8217;s time to do some programming! First, you want to download as many plugins and gems as possible. The more the better, because the more gems you have, the less code you have to write. Remember when your teacher crushed your dreams and told you that there are no unique ideas left, that everything has already been done? Well, when it comes to Gems, its true! There is a Gem or Plugin for every possible thing you could ever conceive of wanting to do &#8211; now, or in the future. So basically, just get as many Gems and Plugins as possible, and just start plugging them in wherever you need content.</p>
<p>Look at you! You go-getter! You&#8217;ve just programmed your first Web App! It&#8217;s going to be the <span style="text-decoration: underline;">BEST CALCULATOR EVER</span>! Don&#8217;t worry about scaling it up. If your users ever start calculating pi, you can just use the Cloud, man! The Cloud is where it&#8217;s at! In case you haven&#8217;t heard of the Cloud yet, I&#8217;ll tell you a bit about it. The Cloud is this place in the Amazon Basin, a humid, godless, no-mans-land inhabited by under paid savages (Amazonians). Anyways, the Cloud is like this giant parking garage, but instead of cars, they&#8217;ve parked hundreds and hundreds of servers which they&#8217;ve woven together with millions of long, tangled fibreoptic wires (hence the name &#8216;the Cloud&#8217;). Anyways, you just email your program to the Amazonians, and they&#8217;ll put your program on a piece of the cloud, giving you the ability to add as many mongrel instances to your server cluster as your heart desires. Scaling?!?! What Scaling?!?!</p>
<p>Now that you&#8217;ve got your Template, and your Logo and your Program on the Cloud, you&#8217;re ready to start marketing!!! This part is really really easy. You just need to stir the pot a little bit, &amp; kick up a little media interest. For example, let&#8217;s say one of your Virtual Sea-Monkeys ends up having to see a Substance Abuse Counselor&#8230;..that&#8217;s marketing gold! Big-mouthed bloggers love stories like that! The more sensational the better, especially because people will put your media story on sites like Digg, or StumbleUpon. These sites will send you visitors who will really take the time to read your story, visit your site, interact with your product, and develop long-lasting, meaningful connections with your brand. You just have to keep your eyes open for marketing opportunities!</p>
<p>By now, thanks to your Web App, you&#8217;re probably well on your way to dealing with your delinquent mortgage payments and are no longer dodging your relatives. Congratulations! <a href="http://www.someecards.com/upload/workplace/im_glad_you_can_vent_your_white_collar_frustration.html" target="_blank">Feel free to send your former boss a cruel and insensitive e-card from someecards.com</a>, because You&#8217;ve Arrived!!! You&#8217;re a big web success story! Expect to hear from Inc. Magazine within minutes.</p>
<p>But! But! But! Don&#8217;t stop there! This is just the beginning! Now that you&#8217;ve seen how easy it is to create one Web App, create more! Don&#8217;t worry about the Web Apps that you&#8217;re already managing, it&#8217;s OK to let them slide. If you want, you can start an affiliate program and get affiliates to keep marketing your old, stale Web Apps while you&#8217;re busy building new ones! You&#8217;ll want to get an Email Autoresonder so that you&#8217;re not burdened by time consuming support requests to have subscriptions canceled, you&#8217;ve got better things to do! You&#8217;re an entrepreneur!</p>
]]></content:encoded>
			<wfw:commentRss>http://seocracy.com/2009/04/so-you-want-to-build-a-web-app/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Will Google stop SERP scrapers by going Ajax?</title>
		<link>http://seocracy.com/2009/01/will-google-stop-serp-scrapers-by-going-ajax/</link>
		<comments>http://seocracy.com/2009/01/will-google-stop-serp-scrapers-by-going-ajax/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 17:29:26 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Theory]]></category>

		<guid isPermaLink="false">http://seocracy.com/?p=243</guid>
		<description><![CDATA[Some of you might have noticed the buzz going around the net today about Google&#8217;s SERPs going ajax. There is a great post about it here:
Google Web Search Ajax
I&#8217;ve heard more than a few people asking if this will stop automation software from crawling Googles SERPs to retrieve rankings or Adwords data. In short, the [...]]]></description>
			<content:encoded><![CDATA[<p>Some of you might have noticed the buzz going around the net today about Google&#8217;s SERPs going ajax. There is a great post about it here:</p>
<p><a href="http://smackdown.blogsblogsblogs.com/2009/01/30/google-web-search-goes-completely-ajax/" target="_blank">Google Web Search Ajax</a></p>
<p>I&#8217;ve heard more than a few people asking if this will stop automation software from crawling Googles SERPs to retrieve rankings or Adwords data. In short, the answer is no.</p>
<p>I doubt this development would be solely intended to stop people from using automated rank checkers or content scrapers, but Google has to know that whatever they change, people will simply adapt and evolve their software to keep pace. My personal opinion is that a move to ajax SERPs would provide google with a tighter control of how they serve data, as well as providing them with a whole slew of new metrics they could leverage. On the flip-side, this move could hamper the accessibility of Googles service from outdated/underpowered computers and browsers.</p>
<p>Regardless, the possibility of Google going ajax does indeed raise some questions in so far as how people should proceed with developing automation software. Not only is ajax delivered content more difficult to automate, but ajax also could be used to track mouse movement. This would be one of the metrics that ajax would make available to Google, and also it could be a possible means by which Google could begin to distinguish bots from humans. (although, on the Google-scale, that would be an incredibly large amount of data to process.)  While AJAX content is not as trivial to scrape as traditional content, it is still quite possible. I think that as Google evolves to develop ways to clean up their SERPs, programmers and marketers will evolve as well. I believe that software will inevitably evolve to mimic human browsing behavior. This includes filling out form data, mouse movement, sending Google Toolbar data, using back buttons, clicking links, storing cookes, etc. And don&#8217;t forget, all that will have to be done at human speeds, not computer speeds. The requirement to mimic human behavior also means that it will become more and more difficult to multi-thread and do simultaneous requests from one IP range. Rather than managing massive proxy farms, in the future, it will be more cost-effective and productive to off-load automation requests to client computers which, when required, send data back to a master server for processing (no, I&#8217;m not talking about malware here&#8230;.more like browser plugins).</p>
<p>There are already a slew of different libraries which mimic browsing behavior and also handle ajax. Off the cuff, <a href="http://www.rubyrailways.com/ajax-scraping-with-scrubyt-linkedin-google-analytics-yahoo-suggestions/" target="_blank">ScrubyT </a>handles ajax quite well. <a href="http://wtr.rubyforge.org/" target="_blank">Watir</a> can actually open an instance of IE, FF, Safari, or even Chrome, and thus fully mimic a browser. Marketers and programmers can use these libraries, and other libraries to both mimic human browsing behavior and make ajax calls to automate SERPs. In the future, you can expect these kinds of libraries to evolve and become more advanced and customized towards mimicking human behavior. Even still, if ajax calls are not encoded, you can simply extract the appropriate call out of the page and make it yourself. An example of this can be seen <a href="http://stackoverflow.com/questions/260540/how-do-you-screen-scrape-ajax-pages" target="_blank">here</a>.</p>
<p>At the end of the day, a move on Google&#8217;s part to ajax SERPs may throw a wrench into some peoples software, but it will certainly not herald an end to automation tools like Aaron Wall&#8217;s excellent <a href="http://tools.seobook.com/seo-toolbar/" target="_blank">SEOToolbar</a>, or others.</p>
]]></content:encoded>
			<wfw:commentRss>http://seocracy.com/2009/01/will-google-stop-serp-scrapers-by-going-ajax/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Dynamic Alt-Tags</title>
		<link>http://seocracy.com/2009/01/dynamic-alt-tags/</link>
		<comments>http://seocracy.com/2009/01/dynamic-alt-tags/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 21:58:23 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://seocracy.com/?p=222</guid>
		<description><![CDATA[Note: This post builds off of ideas presented in past blog posts, like String Permutation.
&#8212;&#8212;&#8212;

I was recently doing a little friendly consulting for a friend of mine who runs a membership based adult-site.
Basically he was converting well but not getting alot of traffic, so we took some time to look over his sites layout and [...]]]></description>
			<content:encoded><![CDATA[<address>Note: This post builds off of ideas presented in past blog posts, like <a title="string permutations" href="http://seocracy.com/2008/06/fun-with-string-permutations/" target="_blank">String Permutation.</a></address>
<address>&#8212;&#8212;&#8212;<br />
</address>
<p>I was recently doing a little friendly consulting for a friend of mine who runs a membership based adult-site.</p>
<p>Basically he was converting well but not getting alot of traffic, so we took some time to look over his sites layout and went over some basic SEO best-practices.</p>
<p>One of the things that he really needed to improve on was the layouts of his images. I mean, with a site like this, images are way more prevalent than content&#8230;his design is hugely image intensive, and there are literally hundreds of individual preview galleries that could potentially act as great landing pages for each individual sub-niche&#8230;</p>
<p>I was advising him that he should be working on keyword rich, unique captions and alt-tags for his images, and his complaint was that there are so many images that it would be a huge pain in the ass to go through and create captions/ALTs for each one. So, we decided that the best thing to do in this case would be to create a simple function that dynamically builds unique captions and ALT text for him.</p>
<p>Basically, what we did was build 10 different sets of four-to-five <a title="definition of array" href="http://en.wikipedia.org/wiki/Array" target="_blank">arrays</a> containing various keywords that we could randomly choose from in building a complete string. We then set the function to dynamically choose one of the array sets, so that each caption/ALT didn&#8217;t have the exact same format.</p>
<p>In building each array set, we started with a sentence structure he wanted to use, and then expanded each word out into it&#8217;s own array.</p>
<p>Example: (I normally keep this blog PG13, so please excuse the dirty words, but I&#8217;m using an example relevant to the adult industry)</p>
<p><strong>ARRAY1. Sentence structure:<br />
&#8220;Download &lt;model_name&gt;&#8217;s private sex video&#8221;</strong></p>
<p>array1a = [download,check out,view,see,get,look at]<br />
array2b = [private,personal,intimate]<br />
array3c = [sex,solo,masturbation,jerk-off,porn]<br />
array4d = [video,film,clip,download,stream,flick,vid,picture]</p>
<p><strong>ARRAY2. Sentence structure:<br />
&#8220;&lt;model_name&gt; has tons of hot videos&#8221;</strong></p>
<p>array2a = [has,uploads,provides,creates,films,makes]<br />
array2b = [tons of, lots of, many of, hundreds of, a lot of, loads of]<br />
array2c = [hot, sexy, steamy, erotic, raunchy, amazing, mind-blowing]<br />
array4d = [videos,films,clips,downloads,streams,flicks,vids,pictures]</p>
<p>ARRAY3&#8230;etc..ARRAY4&#8230;.etc&#8230;..all the way to TEN different sets of arrays.</p>
<p>The above is just an example&#8230;.in a real production usage, I would recommend no less than 10-15 words PER array.</p>
<p>Then, for each caption and each alt, the webpage calls the function which randomly chooses one of the 10 array sets and uses it to build a dynamic string.</p>
<p>Once you&#8217;ve randomly selected one of the 10 array sets to use, you&#8217;d build the dynamic string like this:</p>
<pre><strong><span style="color: #000000;">dynamic_string = array1a[rand(array1a.length)]." ".model_name."'s ".array1b[rand(array1b.length)]." ".array1c[rand(array1c.length)]." ".array1d[rand(array1d.length)];</span></strong></pre>
<p>So, this function might return the following: &#8220;download Jenny&#8217;s intimate sex video&#8221; OR &#8220;checkout Suzie&#8217;s private porn clip&#8221; OR etc, etc etc</p>
<p>Using this simple and well-documented technique, the site owner was able to create keyword rich, dynamic captions/ALTs for every single picture in his hundreds of preview galleries. He was able to keep his image-rich site design and still put lots of great content into it without making it look like keyword spam, and all without going through the back-breaking effort of manually writing content.</p>
<p>Two closing notes fore you all to think about:</p>
<p>1)You can use your favorite keyword/synonym tools and even search query logs to build massive lists of your relevant keywords. Then you just need to take some time to scan through them and group and sort them into relevant sets.</p>
<p>2)This technique is very useful for anchor text as well <img src='http://seocracy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://seocracy.com/2009/01/dynamic-alt-tags/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Google2001 search for finding domains</title>
		<link>http://seocracy.com/2008/10/google2001-search-for-finding-domains/</link>
		<comments>http://seocracy.com/2008/10/google2001-search-for-finding-domains/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 00:00:00 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Google Hacking]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Theory]]></category>

		<guid isPermaLink="false">http://127.0.0.1/seocracy/?p=83</guid>
		<description><![CDATA[A decent, but not perfect, way to buy niche-relevant domains]]></description>
			<content:encoded><![CDATA[<p>So, I&#8217;ve been messing around a bit with Googles 2001 search (http://www.google.com/search2001.html) and I&#8217;ve found some great old domains with it.</span></p>
<p>I got the idea when I found some domains that ranked for various viagra search terms back in 2001 that are now unregistered. They are old, plus have backlinks, which is a double bonus. We all know how much Google loves old domains!<br />
</span></p>
<p> </span></p>
<p>Anyways, I created a small script that goes through the 2001 SERPs and pulls each domain into a list that is run through a whois search to see if it&#8217;s available. In under and hour I found almost 15 great domains. The thing that I like about this, compared to domain auctions is that you know you&#8217;re buying a domain that is relevant to your niche! And chances are, whatever backlinks those domains still have will also be relevant to your niche.</span></p>
<p> </span></p>
<p>Give it a whirl! Some of you might be pleasantly surprised with what you find.</span></p>
<p> </span></p>
<p> </span></p>
<p> </span></p>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://seocracy.com/2008/10/google2001-search-for-finding-domains/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>
