Hello and welcome to the first of many Google Plus Hangouts here on SNC. To get things rolling our first session...
Digital Marketing Insights; Integrated SEO...
In this video interview link building expert Jim Boykin explains[…]
Join Nick Mihailovski and Ikai Lan from the Analytics and[…]
Could you please give details on what should be included[…]
| Yes, SEOs do need to learn a programming language |
| Written by Ian Lurie | |
| Wednesday, 09 February 2011 14:07 | |
| You’re an SEO. I get it. You know title tags and links. You can speak content, query freshness and trends. You know your stuff. But you can’t really delve into SEO—not like the big kids do—if you can’t program. HTML doesn’t countFirst off, I have to point out: HTML does not count as a programming language. For our purposes, a ‘programming language’ is one that lets us:
Don’t panicIf you’ve read this far, then your palms are sweating. Or you’re getting pissed at me, thinking ‘That Ian. What an asshat. He’s just telling us we have to learn to program because he did.’ Don’t panic, and no, I’m honestly telling you this for your own good. You don’t have to know any programming languages inside/out. And just about any web scripting language — even javascript, possibly — will do. Options include:
There are other, less well-known languages, too. But I’m not suggesting you become a professional developer. You just need to know how to build a tool, script or web app that won’t make a developer’s hair curl. Here’s why:
You’ll learn to reduce abstract concepts to executable chunksThere’s a thought process behind programming that can help you in SEO, too. I can’t totally describe it, but smart programming requires that you’re able to take an abstract concept, like ‘generate a report showing keyword rankings’, and reduce it to discrete, executable chunks. Note that I said ‘smart’ programming. You can also learn to code using drag-and-drop tools like Visual Studio. In most cases, that will cause you to reduce abstract concepts to rubbish. Please learn to code by hand first. Programming teaches iterationWriting code means a constant cycle of scripting and testing: Write something, then test it, then tweak, then test again. Huh. That sounds a lot like SEO, doesn’t it? Truth is, the iterative style that drives good development practices helps in any environment. In SEO, where things change constantly and no one knows precisely what works and what doesn’t, this style is a must.
Search engines are built by programmersOh, wow. Never thought of that, did ya? Google was originally built, at least in part, on Python. Bing is built, I’d assume, on .NET or C++. And there are a host of great open-source search engines and search crawlers you can run yourself: Nutch, Pavuk and Lucene, to name a few. You can learn a great deal about how these engines work, and how to make your site a better search engine target. But you need to know, at a high level at least, how these tools were built, first.
APIs are funApplication Programming Interfaces (APIs) let you grab lots of useful data and reuse it. Most SEO tools — SEOmoz Linkscape, SEMRush, WordTracker and KeywordDiscovery, for example — offer APIs. You can combine the data from two or more tools and create some pretty nifty reporting tools for yourself. But you can’t do any of that without knowing how to hack together a bit of code.
Learning is goodLearning to program is hard work. It’s good exercise for parts of the brain that we SEOs use a lot: Structured thinking. Analytical thinking. Planning. Workflow. I learned the same process in law school when we studied the Rule Against Perpetuities. Learning to program is a lot more fun. Plus, you won’t have to picture the implications of the Fertile Octogenarian. Shudder.
You’ll be more efficientOnce you know how to program, you can take all sorts of repetitive tasks and automate them. A great example: Every day, I need to look at search traffic from all of my clients, as well as their keyword diversity, potential crawl issues and social media metrics like Klout. That used to mean a lot of clicks and logins. Now, I have a single page where I can see it all. It ain’t pretty. But it works. In the long run, you’ll become far more efficient.
Get startedThe best way to start is to just start. Pick a language. Do the ‘Hello World’ tutorial. Then pick a problem you have to solve, every day, and try to solve it with a tool that eliminates repetition. Start with something really, really simple:
Find examples if you can, and start from those. Don’t be afraid of breaking something. Start coding. Get a hacker mentality: Dive in, code, break stuff, then fix it. Take an example or open source application and modify it. You’ll thank me later. I promise. More articles by this author | |
| Last Updated on Wednesday, 09 February 2011 14:48 |
Home - all the latest on SNC
SEO - our collection of SEO articles
Technical SEO - for the geeks
Latest News - latest news in search
Analytics - measure up and convert
RSS Rack - feeds from around the industry
Search - looking for something specific?
Authors - Author Login
SEO Training - Our sister site
Contact Us - get in touch with SNC
| Digital Marketing; Weekly - Issue 3 YouTube Trends Map One of the coolest new Trends tools to be rolled out is YouTube Trends which o [ ... ] | Matt Cutts on upcoming changes for SEO 2013 Matt Cutts had a blog post and video (made in early May) about “What to expect in SEO in the [ ... ] |
Comments
Does that mean I am lacking? One of the things I think could have been added is that one can always hire programmers. I have a few on staff, thus haven't felt the need to learn it. I am busy enough trying to figure out how the engines work. So I delegate.
So, while I agree that being able to create your own tools/data sets, it isn't mandatory IMHO to actually spend time learning how to do it.
;)
Oh, wait:
"8. PERL, if you want to grow a long, scraggly white beard."
I know PERL! I used to have to do some incidental PERL scripting back in the days... and yes I do intend to grow a long scraggly white beard at some stage.
But yes I agree with your basic premise: an analytical, technically adept mind is an advantage in SEO.
I have no programming skills to speak of, and definitely the last person to give any programming advice. But i can logically and systemically work through situations and problems to find a solution.
I don't know if I fully agree, but I have dealt with situations where the SEO didn't even know HTML and didn't notice all the on-page factors that were just killing the site.
So I agree that SEO's should definitely know HTML, or have someone on their team that does, but a programming language I'm not too sure of.
Knowing PHP and JavaScript has allowed me to write some useful SEO tools though, but not necessary in the long run.
As an SEO consultant I am not only delivering recommendations to the marketing teams at my clients but also to the development team that is physically making the changes to the site. In my opinion, the ability to take a recommendation from just a "it would be nice if we could do something like this" recommendation to an outlined spec that says "make this and here is how it should be coded to maximize SEO" is a valuable skill. It is an asset in your arsenal that can help your career or even your consulting business to bring in larger contracts because of the added expertise.
Obviously you can do SEO without knowing any of these programming languages but this has just been my experience.
I mean, people who hire me to code regularly, as opposed to doing little stuff on the fly to patch crap temporarily? Probably shouldn't, because my real talents as an SEO are content/link-baiting and process development. But I can do that duct-tape kind of programming and kick APIs into functionality.
But more often, I'm working with the true programmers, and being female and an SEO who is versed in 3 languages and is a decent Linux admin? It helps me on the respect factor, and they also realize that I won't ask for the impossible and have a good concept of capabilities and timing. And that's valuable.
I'm in the same boat as David, in that I can't program squat. I can read several languages sufficiently to understand what's intended, though. Unfortunately, I don't have a staff to call on, so yeah, I do sometimes find that limiting... just not necessary.
But do you have to be a programmer no..... it's just another skill some bring to the table. Would I want someone on the team to know programming... for sure if the site is dynamic.
SEO's need to learn to understand and interpret, they do not need to have a comprehensive knowledge
It's REALLY a strong benefit for your career as SEO specialist if you know a server-side programming language, because you can interact a lot better and faster with crackheads, sorry, Software Engineers.
Also, knowing some programming helps a lot when you have to outsource coding: you know WHAT specifically can you ask, you can evaluate better the amount of time required, the skill required, the RESULTS!
And coding is sexy! I've used Django in countless bar to pickup beautiful girls. Also i'm in therapy because of my tendency to tell amazing lies.
I dare to suggest French Fortan 77, it's a joy for the hearth and the stomach
I just think learning a real programming language is one of the best SEO skill-builders you can do.
And Dave, Mr. I-know-natural-language-algorithms, I think you're pretty well set :)
But rather than start programming I prefer to learn about "how to optimize using CMS". People are developing their portals on open sources like: WordPress, Joomla, Expression Engine, Showit, etc.
So, maybe I can“t write some code lines, but can "understand" some non HTML projects
I plan to learn a programming language or two as I think it'll be a big help, as Sarah described.
For me, I want to be able to relate to programmers more easily, as well as make things much more efficient for myself. Plus, having more skills is always good.
That is why it is better if people work in a team with people having different specialities.
RSS feed for comments to this post