This post purely reflects my own personal opinion, and does not reflect those of my employer or colleagues. For those faint of heart, warning: contains traces of black hat material.

So Google has taken our keyword data away, probably for good. What next for SEO?

I think we have to assume this rollout will eventually happen everywhere, for all users. Why? What’s in it for Google?

  1. Less competition – the data provided on search by firms such as Experian Hitwise, Comscore, Quantcast becomes far less valuable, meaning the only media company that can authoritatively provide keyword data is, you guessed it, Google.
  2. Less spam – from a purely objective point of view, I do think this will result in much less spam. Sites such as Mahalo, Experts Exchange, etc will all suffer as the pages generated purely based on search volume will die a death, and Google’s results will get better as a result.
  3. Less SEOs – I don’t think it will kill the industry, but measurement and keyword research becomes a lot harder. The focus will probably get more technical on-site and more social off-site. Google’s not known for its love of the SEO industry so this is probably a nice side benefit for them.

It’s easy to despair and mourn the death of SEO (again) but as long as organic results exist that’s pap. Read more »

Excel’s built-in web features are pretty frustrating when you want to do more with the web than import a static HTML table to a predefined set of cells.

I’ve often wanted to be able to update the contents of a cell based on dynamic parameters passed into a URL, and not found a decent, easy way of doing this. The official Office website shows you how to do this the Microsoft way, but lo and behold that doesn’t actually translate to real-world uses very well.

Say for example you want to fill a column of cells with the ranking for a given list of keywords, a function similar to that shown below (where the URL could potentially be defined in the E column) would be very useful: Read more »

I’ve lost count of the number of times another SEO has told me they want to learn a programming language. It seems most SEOs are sure they want to learn PHP, Python or another programming language, but when asked the question “to what end?” the answers generally become less clear.

Because of this I think the following is the reason why a lot of SEOs never end up taking that step:

Let’s face it: teaching yourself a new language is never easy, and it becomes much harder if you don’t actually know why you’re doing it. For this reason most people get frustrated and give up before they hit the red line above and get any significant payoff for investing the time in learning a new language.

When I taught myself Perl it wasn’t directly to do with SEO – in my first job I spent a whole day each week manually editing an HTML newsletter template in Notepad++. I hated it so much I figured there was probably a better way do it so I bought an O’Reilly book, got up 2 hours early every day until I knew the basics and could build a tool to generate the HTML for me. That saved me 5 hours a week of boring tasks and got me nicely into the payoff zone.

What’s your imperative?

Link development doesn’t exist in a silo. Sometimes I think the following gets lost in translation in the client/agency relationship:

Both us agencies and the SEO industry as a whole are guilty of propagating the perception you can do really great link development without the support of a good website to support it by offering separate link building/development packages. Read more »

One of the truly great things about Perl is CPAN (the Comprehensive Perl Archive Network), which is an immense resource for almost all of the common (and not so common) programming functions you could ever dream of – from the web to graphics and operating system interfaces. Although Python and Ruby are gaining in popularity these days, CPAN is a huge asset to Perl that (as far as I’m aware) has few equals in other languages.

I’ve collected below some of the most useful modules I’ve found from an SEO’s point of view: Read more »