This is the brain of a technical SEO
Best-practice technical SEO is a surprisingly broad discipline, encompassing aspects of web development, server administration and programming and much more. But, done right, it can be one of the most rewarding aspects of search engine optimisation - and is often one of the most overlooked.
But what initial skills do you need to be a top-drawer technical SEO?
Know how search engines work
You'd be surprised how many SEOs don't know the fundamentals of how a search engine actually works. It's one of the reasons people interchange words like "spidering" and "indexing" with wild abandon, and perhaps one of the reasons that the technical jargon of the industry can be impenetrable for outsiders. Confused about the Google cache? You won't be if you understand the nuts and bolts of web search engines.
The best possible way of learning how a search engine works, is to make one yourself - from scratch. But few have the time or inclination for that. So start from the next best step - read about the process until you feel like you have the know-how to build a search engine, even if you don't actually make one.
While time may seem to have moved on dramatically since 2004, this article by Ann Patterson is an excellent summary of the technology needed to power a typical crawler-based search engine: Why Writing Your Own Search Engine Is Hard. Cloud-based resources may have cut the barrier to entry, but understand the technical challenges search engines face, and you'll also understand how the low-level technical choices you make will influence your rankings.
You can also start to understand elements of the process with other tools. If you use a desktop crawler like Xenu or Screaming Frog you will be spidering; export to a spreadsheet and you are making a very basic index; start crunching the data, and you will be looking at the fundamentals of ranking. Don’t underestimate how powerful this knowledge can be.
Be a good developer
You’re going to be working with websites of all shapes and sizes, so you need to know how websites are created – and what sets good web development aside from “have a go” coding.
Only when you understand the steps involved should you stop reinventing the wheel, and start choosing your blog platform of choice (it will be Wordpress) and a CMS platform (go with Drupal or Joomla unless you already know better). Otherwise, how will you know when your platform isn’t doing what it’s supposed to do?
But HTML and CSS are easy. You’re going to have to start doing some more hardcore coding.
Search engines are essentially web-based software, created by programmers. This is the battleground on which your optimisation efforts will take place, so make sure you know what you’re dealing with. Many of us will have worked in or with companies where the IT team call the shots – often to the chagrin of other staff members who can’t get what they want done. But don’t forget that Google, Facebook and Twitter are all companies that rely on the IT team to make things happen.
If you understand the thinking behind IT decisions, you’ll also start to understand the technology behind ranking factors from why the title element still reigns supreme, all the way down to quirky things like avoiding URLs that end in .exe (and at one point, with a .0)!
So, pick yourself a programming language beginning with the letter ‘P’, and start to learn it. Beginners start with PHP, wannabe Googlers learn to use python and the old school will laugh down their noses at you if you don’t get started with Perl. You already know some basic database principle from learning how search engines work, but sooner or later, you need to be conversant with mysql.
Even more than that, solid basic programming skills can bring a level of automation to your tasks that will give you back time you didn’t know you were wasting. Start seeing loops and patterns in what you do day to day, and you will start to conceive programmer’s solutions to them.
Administer a web server
You won’t do much mixing in SEO circles without hearing people talk about 301s, or mod_rewrite. But how many of them just use ‘301’ interchangeably with ‘redirect’? If you made it through the HTML spec, then you can upgrade to the equivalent HTTP spec. And at the very least, you must know the HTTP status code definitions. If you don’t understand status codes, you don’t understand web crawling. 418? Short and stout, my friend, short and stout.
Server administration is complex, but you can make your life easier by installing a local Apache server or a package including Apache, PHP/Perl and MySQL, and then playing without risk to a production website. Start your foray into being a server admin with an htaccess file – a simple way to perform administration tasks with built-in damage limitation. The most common task you’re likely to perform with htaccess is to use mod_rewrite to manipulate your website’s URLs. But then, you learned regex already, right? Once you’ve earned your server admin hat, you’ll also be blocking pesky scrapers and undesirables, speeding up your site with caching tricks and gzip and you’ll have error pages configured that will keep your visitors on your site.
Make friends with Excel
While full-on programming is one of the best ways to automate repetitive tasks, there are times when you need things done quickly, and without an upfront time investment. Excel is an amazingly powerful tool in the right hands. A CSV is the default export for everything from your ranking checker to Google Webmaster Tools, so ninja Excel skills will, at first, get the job done quicker, and in the long run become a programming and reporting tool in themselves. How many duplicates are on this column? COUNTIF. How much traffic did this batch of keywords bring in? SUMIF. Building quick and dirty mod_rewrite rules? CONCATENATE. Interesting theory about a ranking factor? CORREL.
The likes of Google Docs and even Open Office are acceptable alternatives, and actually better at some tasks, but Microsoft got a lot right with MS Office, so don't be surprised if you find yourself returning to good old Excel.
Become an expert level Google searcher
In 2012, Google is still the primary target for search traffic. The more you know about Google results, the better equipped you will be to interpret them for your own benefit. If you're hazy on advanced search syntax, start with this cheat sheet. If you passed the "knowing how search engines work" test, then intitle:, inanchor: and their brethren should now make perfect sense.
You'll know you're getting there when Google's CAPTCHA page accuses you of being a robot every day (that “sorry” is hollow), you rant at your colleagues about query expansion ruining your results, and you’ve found a single click solution to the verbatim button.
Build up your toolset
Whether you’re writing them yourself or taking them off the shelf, a set of technically-sound tools you’re comfortable with is a must. Many of the common tools in a technical SEO's toolbox can be browser-based. For both Chrome and Firefox the likes of the Web Developer Toolbar, Firebug, a user agent switcher and an HTTP header viewer are likely to become staples. From the desktop, everything from Xenu to Agent Ransack are likely to make an appearance. For SEO tools, you’re going to frown on any of the “set it and forget it” tools, or the ones that give you a score or grade. You want hard data from the likes of Majestic SEO, and you’re going to turn it into insights with Excel and your programming skills. You’ll spot things that no-one seems to have built yet, and improve your programming and development skills while you ‘grow your own’.
Bringing it all together
All of this knowledge will fester and become stale unless you apply it. So build a website that you care enough about to want it do brilliantly, but are not too precious about that you won’t HTTP 500 your baby with bad mod_rewrite directives more often than you care to admit. Get it to rank in Google and compulsively check the stats, then completely rewrite it when you learn a new programming trick.
Build it, rank it and break it. And then do it again.