Are PPC ads really affecting organic rankings?

A post on SearchEngineWatch yesterday asked the question “Are PPC Ads Now Counting in Google Organic Backlinks?” A question I was tempted to reject out of hand as tosh (this would be incredibly damaging for Google if this was really true), but after reading through the post I couldn’t discount it entirely without some research of my own.

This issue is more interesting than I initially thought. Basically what is being said in the article is that for one of the author’s client websites, a number of backlinks were appearing in Webmaster Tools that appeared to show links coming from an AdWords/YSM campaign. Not only this, but the website ranks #1 in Google for a phrase only used in the PPC campaign, and which is not in the content of the page that ranks for the phrase:

Google cache

So after a bitĀ  digging in Yahoo (search for ["ga nc tn & tx land sale" bluegreen] in Yahoo, and see screengrab below), I can see what appears to be happening, is that these particular ads have been syndicated across a bunch of the spammy pseudo search engines you see so many of these days.

yahoo cache

In this low-quality syndication network, the JavaScript code they’re using in these sponsoredĀ links is shown below:

<a href="[[adurl]]" ONMOUSEOVER="window.status='http://www.BluegreenCommunities.com';return true;">anchor text</a>

I counted only 2 302 redirects on the ad URL redirection chain before the spider hits a robots.txt block. This means Google may have either given up following these redirects before it reaches the robots.txt file, hit the robots file and decided to try another route, or was treating the JavaScript element as a different link entirely.

Now the clue that Google is following the JavaScript code element in this case is that it is the domain, and not the ad destination URL that gets the anchor text credit, accounting for the homepage ranking #1 for the query in question, and not the advertising URL.

This is rather odd, because “window.status” is not a JavaScript link function, and implies Google’s JavaScript crawling isn’t as advanced as they want us to think. Looks to me like they’re just running a regex for anything that looks like a URL inside a onmouseover/onclick/etc command – this requires testing, but if that’s it, surely that’s pretty primitive?

I think it’s fairly clear this is a screw up in Google’s JavaScript crawl implementation, so will likely be fixed in (very) short order. In the meantime, I’m thinking of setting up an AdWords campaign or two…

How Google handles alt text in H1 tags

It’s well accepted amongst SEOs that alt text in images doesn’t carry as much weight as plain text. However if a website’s CMS automatically uses images as headings to preserve a design, is there any ROI in SEO for the associated costs of implementing sIFR or image replacement techniques?

I ran a quick test in order to test this, and an inference taken from page 16 of Google’s SEO Starter Guide:

“the alt text for that image will be treated similarly to the anchor text of a text link”

The inference here is that alt text in images does not carry as much ranking weight as plain textual content. As mentioned above, this is a generally accepted principle, but I wanted to know if this applied equally to heading tags as everything else.

I linked to 2 almost identical pages, with the heading code differing as follows:

  • Text version (8lks5c3z.htm): <h1>7i1bn504</h1>
  • Image version (04x7oszi.htm): <h1><img src=”04x7oszi.jpg” alt=”7i1bn504″ /></h1>

The page with the image-based H1 tag was linked to above text-based H1 to adjust for any bias in HTML order.

As expected, the results showed a clear bias towards the textual version. Google indexed both pages and putting the image-based version in the supplemental results. Yahoo, Ask and Lycos only indexed the textual version (and Bing did not index either version). The images below outline the results:

First result in Google is text version

First result in Google is text version

Both results appear with duplicate filter off

Both results appear with duplicate filter off

Yahoo only indexes textual version

Yahoo only indexes textual version

Ask only indexes textual version

Ask only indexes textual version

Lycos... ah well, who cares ;)

Lycos... ah well, who cares ;)

SEO & Perl: An introduction

perl-camelIt’s generally accepted that it’s useful/invaluable for any SEO to know at least one server-side language. I chose Perl after playing around with PHP and finding it didn’t quite fulfill my requirements. Why Perl and not Ruby/Python/C? Perl is well established (22 years) and supported, has an active community, a great library of extensions (modules), and perhaps most importantly for SEO, was built for processing and reporting on textual data (‘Perl’ is Practical Extraction and Reporting Language.)

Perl has a (misguided) reputation for being difficult to learn and producing unreadable and ‘ugly’ code. In reality, as with any other programming language, the language never produces ugly code, the programmer does. However, perhaps Perl does lend itself to ugly code, simply because it’s so damn easy to hack together useful scripts quickly :)

So where’s the link with SEO? Well a few of the reasons below should help to explain:

  • HTML = text. Perl is great at processing text, and by extension, HTML. As search engine optimisers, we deal with HTML on a daily basis – want to see any web page’s meta tags, heading tags, alt text, etc? Stop messing around with the Web Developer toolbar and build a Perl script to do it for you ;)
  • Spidering. With the help of LWP and WWW::Mechanize, powerful spiders can be written with only a few lines of code. The benefits of this should be obvious; suffice to say that if you’ve written a spider or few, maybe you’ll get a slightly better understanding of what Google’s spiders may (or may not) be capable of. Beyond that the number of competitive intelligence tools that can be built around this are limitless.
  • Regular Expression support. Apologies if this is jargon, but regex support is second to none. It’s built into the programming language and is incredibly powerful (PHP borrows ‘Perl-compatible regular expressions’.) This makes processing complex web pages a very easy thing to do.
  • Interaction with the web. There are probably thousands of modules in the CPAN library that make interacting with the web on many levels very, very easy (and advanced.) Incidentally, modern Perl’s UTF-8 support is leagues ahead of PHP’s.
  • Database interaction. To me it’s more logical than PHP (using the DBI module), and has been said to be far more secure.
  • Building websites. I still mainly use PHP for building the front-end to my SEO tools, but that’s just laziness really. Perl has a great embeddable code support for building websites (I just haven’t learned it yet), and the CGI module is great. A lot of the back-end functionality (glue) is written in Perl because it’s quick, reliable, secure, and plays nicely with PHP.

So, where to start if you’re into SEO and want to learn Perl? My first Perl/programming book was Learning Perl (Win32 version actually) – a very smooth introduction to the language, and even good for complete n00bs to programming (I only knew HTML and a bit of PHP when I started on Perl.)

O’Reilly really has the best library of Perl books I’ve found – Spidering Hacks is the most directly relevant for SEO (a lot of the examples are out of date, but if you know a bit of Perl before you start there’s a lot of good ideas here.) The Perl Cookbook is also a fantastic resource.

How much brand equity do you place in twitter?

The world has seemingly erupted in twitter hysteria over the last few months – resulting in parody on the Daily Show and widespread coverage in the mainstream media (also my favourite headline ever), everyone is talking about the little blue bird and its friendly fail whale. Reactions range from bemusement to ridicule and scaremongering, and very few in the mainstream media really get what it’s for or why people use it.

This style of coverage in itself is nothing new, as traditional media outlets catch up with early adopters and adjust themselves to the new world. It is a pattern that has repeated itself as the net has become an increasingly social hub and reflection (to the horror of some) of society itself – from Friends Reunited through to Facebook.

Increasingly, businesses have had their appetites whetted by both the potential reach of these networks, the inherent traceability of the conversations, and the opportunities of building brand evangelists through presenting a human face of largely faceless corporations. Twitter has been no exception in this trend, and many companies have set up social profiles to converse with their customers outside of their own constricted business premises (online or offline).

However, as more and more companies build up and invest in profiles in social media arenas, are they sacrificing some of the authority they should be collecting out to third party websites that have little or no long term value? Will a Facebook page created by Fox News (PR5) or a Youtube page created by the BBC (PR 7) hold any value for the organizations that created them in 2-5 years? Is it even important? Aaron Wall touched upon this recently and mentioned he was:

…going to cut back on social media for the next year or two…its not worth the effort. It builds no real value. It wastes opportunity. It wastes links.

I’m inclined to agree on some level, and there is a gaping black hole emerging. It is undeniable there is value in connecting with customers on a personal basis; however by doing so through channels such as twitter, Facebook, Youtube et al, are brands exposing themselves to unnecessary risk, and supporting others’ business models at the cost of building on their own? Equally, bands have done the same over the last few years by promoting their web presence on MySpace pages – I could be wrong, but since it was taken over by Rupert Murdoch’s NewsCorp, that practice seems to have declined somewhat.

These days hosting a corporate blog on Blogspot or another free third party blogging platform is seen as amateurish, yet both companies and internet marketing professionals are happy to place a lot of unique, valuable content, and more importantly brand equity in third party social websites including twitter. Perhaps as with blogging (and WordPress), an open source solution will emerge that addresses this issue; or maybe a more practical solution would be for twitter to offer premium accounts that allow 301 redirects, full profile customisation, etc etc.

Don’t get me wrong: twitter is a great platform with a huge amount of potential that has yet to be fully explored, however we must consider the long term implications of what we’re building in a brand (both personally and otherwise), and the control we retain over it.

I for one can be followed via a 302 redirect at http://rob-hammond.co.uk/twitter/ :)

Perl Ubiquity commands

Inspired by IrishWonder’s excellent set of SEO commands for Ubiquity for the awesome Firefox plugin Ubiquity, I’ve knocked up a couple of Ubiquity commands for Perl users – a useful direct CPAN search function and a search of the Perldoc.org website.

Simply bring up Ubiquity with CTRL-Space and enter ‘help’. Then past the commands below into the text box in the “Command Editor” tab and close the window to use them (commands in the text box will be saved automatically).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
CmdUtils.CreateCommand({
name: "cpan",
icon: "http://search.cpan.org/favicon.ico",
description: "Search the CPAN Perl repository",
homepage: "http://www.rob-hammond.co.uk/",
author: { name: "Rob Hammond", email: "rob@robbiehammond.com"},
license: "GPL",
takes: {URL: noun_arb_text},
preview: function(pblock, directObject) {
searchText = jQuery.trim(directObject.text);
if(searchText.length < 1) {
pblock.innerHTML = "Searches CPAN for modules";
return;
}
var previewTemplate = "Perform a CPAN lookup for <b>${query}</b>";
var previewData = {query: searchText};
pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);
},
execute: function(directObject) {
var url = "http://search.cpan.org/search?query={QUERY}&amp;amp;amp;amp;mode=all";
var query = directObject.text;
var urlString = url.replace("{QUERY}", query);
Utils.openUrlInBrowser(urlString);
}
});

CmdUtils.CreateCommand({
name: "perldoc",
icon: "http://perldoc.perl.org/favicon.ico",
description: "Search Perldoc.org",
homepage: "http://www.rob-hammond.co.uk/",
author: { name: "Rob Hammond", email: "rob@robbiehammond.com"},
license: "GPL",
takes: {URL: noun_arb_text},
preview: function(pblock, directObject) {
searchText = jQuery.trim(directObject.text);
if(searchText.length < 1) {
pblock.innerHTML = "Searches Perldoc";
return;
}
var previewTemplate = "Perform a Perldoc lookup for <b>${query}</b>";
var previewData = {query: searchText};
pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);
},
execute: function(directObject) {
var url = "http://perldoc.perl.org/search.html?q={QUERY}";
var query = directObject.text;
var urlString = url.replace("{QUERY}", query);
Utils.openUrlInBrowser(urlString);
}
});

If I write any more useful Ubiquity commands or update these I’ll set up a proper subscribe page ;)

1 2 3 4 5 6 7 Scroll to top