Hello from New York City! Did you have a nice, restful weekend? I sure hope so because we’re about to kick things into high gear. Being in the city is exciting enough for me since I’ve only ever been through the airports, but it’s doubly exciting to be here for SearchLove! Not only that, it’s Halloween, so you’re in for all kinds of treats between the awesome speakers, and the fantastic topics they’re going to cover. So let’s get right to it, shall we?
First up is Will Critchlow, co-founder and chief of Distilled, our gracious conference hosts. Will’s going to give us the lowdown on what it takes, and what tools you need to be a modern SEO.
Duncan Morris co-founder and CEO of Distilled, gave us a brief introduction, and then Will starts out:
“Imagine a world run by computers where your job relies on getting those computers to do what you ewant them to do, but you’re constrained by software packages. I want to show you how to do marketing. With computers. That’s my description of SEO.”
There’s always been two groups in SEO. If you count yourself on the tech side of things, you need to bend computers to your will. You don’t need to be a software engineers, but you need to speak the language.
Will puts up a quote from Avinash Kaushik, taken from an interview with SEOmoz: “Our ability to use APIs, scrapers, multiple tools is going to be super critical.”
We may have been expecting Will to talk about tools, but he says he’s not really going to talk about them. You can find out about them. Articles have been written about them, there are tutorials, training. Will’s here to talk about the toolkit, not the tools.
We see another quote, this one from Doug McIlroy about the basic of the Unix philosophy: “Expect the output of every program to become the input to another, as yet unknown program.”
This is a philosophy that makes it easy to build small, hacky tools. You can always improve them later. People who are not software engineers can use computers, and be more efficient, more productive. We should be prepared to tell our computers how to behave, not just rely on big software packages. When you’re getting tens of thousands of results from Open Site Explorer, you’re not going to read all of them. You need to tell your computer what to do with them.
Will says not knowing how to code would be like reading a newspaper, but not understanding the language the paper’s written in. I think he was quoting someone else here, but I didn’t catch the name. If it’s yours, please claim it in the comments.
To be a modern SEO, you need to program, or you’re going to be much less productive.
Will’s not trying to turn you all into software developers. He’s definitely not saying everyone should be making SEO tools and selling them. But you have to be prepared to create hack tools and use them.
People have asked Will what he would use for certain situations? Now we get into some examples.
- You need to find all the googlebot visits in a certain time period in a 22Gb log file.
Will’s solution is to go to the command line and use bash, grep and sed. (Bonus points if you already know what these are, as he says all old-school SEOs should)
He put together a video, and gives you all the tools he’s going through today. It was 45 minutes, now it’s 15. It’s on Distilled’s YouTube channel. You’ll definitely want to check this out.
To find all the googlebot visits, install VirtualBox, and if anything goes wrong, you just delete it and start again. Will used a Mac, but it’s the same on PC because VirtualBox makes it the same.
We see a 2-minute excerpt of Will’s video, and he taunts the livebloggers about being able to type really fast and get everything down. [Okay, not really, but sort of. :-)] In other words, you’re going to have to go watch the video if you’re interested in this because as fast as I type, there was no way I was capturing all those slides as they flew by.
Using the procedures outlined in the video, you can find all the googlebot 404 errors in your site. You can find problems you never knew you had. This is the code you use:
grep input.log -e ’404.*Googlebot/2.1′ > output.log
If you consider yourself a technical SEO, Will challenges you to try this command line procedure and see how it works for you. Next issue.
- You need to explain to a client or a dev team the changes you want to make to a site.
Use Balsamiq, a prototyping/screenshot annotation tool. It allows you to make notes (they actually look like yellow sticky notes) to show where there are issues that need to be resolved, or changes that need to be made.
Will also likes Skitch, which is Mac only right now, but Windows is coming soon. It was recently acquired by Evernote.
Also don’t forget video for this purpose, like the one he just showed. We should all be getting used to it.
You can also use Screenr, which provides instant screencasts. Install these tools before you need them. You don’t want that overhead of the time it will take you to learn how to use them. You want to be able to use them when you have to, and show a client what’s going on with their site.
Also tart using a ticket tracking tool, or a project management tool. Will’s current fave is Trello. But the point isn’t which tool you use, it’s that you use something, and make it happen.
- You need to get persuasive information for your boss on how people perceive your site.
A client was concerned about the next iteration of Panda. This was as simple as surveying people. Do you trust this site? Would you provide your credit card number?
They gathered the answers, and presented them to the client. For example, did they know 80% of users think there’s too much advertising on their site? The CEO was taken aback, and they changed their site. The survey got quick, actionable results.
- You need to classify a bunch of URLs. But you need to discover the classifications as you go along.
When it’s the right tool for the job, use the tool off the shelf. In this case, Excel. Check out the keyboard shortcuts, in particular F9, which evaluates part of a formula on the fly to find errors.
- You need to check a site to find pages with the old Google Analytics code on them.
The client has implemented the new GA code, but have they done it everywhere? For this, Will likes Screaming Frog. You can ask it to show the pages where the html matches a specific string, which will be the GA code. It shows you the pages that need corrections, you make the corrections, and move on.
- You need to debug when GA events are being fired.
They had a big media site being paid from events. In this case, the events were tied to video. The report showed there were more video stops than starts, which doesn’t make sense because you have to start a video to stop it.
For this, use the Tamper data extension for Firefox. As the name suggests, it lets you tamper with all the changes your browser is making as you work. They ran it, and watched what happened when they pressed play. What happened was the GA event wasn’t being fired. You need to understand how the computer works to make this work. You should definitely have Tamper in your SEO toolkit.
Chrome has an extension for turning on ga debug.js. Seer Interactive had a great post on this.
Let’s talk about debugging. The single most common question Will is asked at Distilled: Why T F doesn’t it work?!” Here’s Will’s recommended procedure for debugging:
- document (++ verbosity)
- sleep, shower (if it’s still not working, step away from it, then go back to it)
- You need to gather data about the proportions of people tweeting different phrases.
They chose the Garden Hose access to the Twitter API. They didn’t want to build a big piece of software; they just wanted to hack something together. It’s the same Twitter API, but with fewer tools.
Next, Will showed a slide about JSON and the HunchAPI, and a bunch of coding related to looking up all the magazines that mention Oprah Winfrey. That slide gave way to another showing a bunch of python code. Will assures the room you can write this because it’s mainly just copying and pasting from other sources, and that people like him can hack things like that together in half an hour. I’m not hearing many assenting sounds from the crowd, so maybe I’m not the only one intimidated by all that code.
The next slide with the next case study problem was twice as long as the others, and up for half as long, so I miss most of the text. Sorry ’bout that. Did I mention this is my first attempt at liveblogging? :-)
Will shows another video that shows how to install Jango. It’s a lot of lines of code, and the video is sped up at about ten times normal speed. Now I’m starting to think he’s messing with the livebloggers on purpose.
- You need to grab all the email addreses of commenters on a WP site.
You either need a plugin, or you need to speak the language of Dbs—SQL. It’s easier than it looks. Stick to running select queries in a sandbox environment.
- You need to make a bunch of cirlces in sizes proportional to input data.
It would be easy to do this, but you want to automate it. Sometimes you need specialized tools. They use data visualization tools for briefing designers.
- You want to make a page scroll sideways when someone scrolls their mouse wheel.
It’s kind of a weird thing to do, but Will wanted to do it. He doesn’t want to do it anymore, though. It’s crazy confusing on a Mac because it goes the wrong way. But he says it’s easy to do if you want to by using jQuery.
Now Will’s talking a bout how to make a button on a page shake by using CSS3. There are some giggles, and I suspect a lot of people are thinking that’s SO ’90s. But Will insists you may want to do that for some reason!
If you really want to do some fancy stuff, you need to know how to use HTML5. It almost never manifests itself visibly on the page. The main things you need to know: semantic markup, native multimedia and canvas.
- You need to grab a screenshot of your site (or your competitor’s) every day to correlate against analystics data.
PhantomJS is what Will would use. It takes screenshots, scrolls, it has cookie support, and lots more stuff. Worth checking out.
Will went over his limit, so there’s no time for Q&A. Duncan tells everyone to send him nasty e-mails. I’m not condoning that. Just taking it down as I hear it.