Become an SEO Superstar: Learn to Code
If you’re still in the process of finalising a list of your new year goals, then you’re not alone. I’ve spent the past couple of weeks making measurable lists of what I’d like to achieve this year, but my number one goal is to learn to code in web programming languages.
Being part of a technical SEO team in a digital marketing agency for the past two years, a large portion of my work has been with web developers and here are some reasons I believe it’s vital that all SEOs should learn how to code:
1. Search engines are built by programmers
A huge chunk of Google was originally built on Python, Bing is built on ASP.net, and there are a host of other great open-source search engines and search crawlers that were all built by programmers. You can learn a lot about how these search engines work and how to make yours or your client’s site a better search engine target. But in order to do that, you need to first understand how these tools were built.
2. You’ll learn how to think like a programmer
Good programming comes hand in hand with a solid problem solving methodology. A good programmer always breaks down their problems into small chunks and solves them, one by one. Once you learn how to code, you’ll understand this mindset. You’ll also have a clear idea of what’s possible and what’s not. Overall, you’ll get a better understanding of the technical side of a website which develops your SEO skills, and will allow you to more easily communicate with developers.
3. APIs will open up for you
A lot of your job as an SEO is gathering a large amount of data from all over the place. By learning scripting languages, you can access APIs (Application Programming Interfaces) and collect all of that data in one place. Most SEO tools, such as Majestic and SEMRush, offer APIs. You can combine the data from two or more tools and create great reports for yourself.
4. Programming teaches efficiency
Writing code is a continuous cycle of coding and testing with a lot of tweaking in between. Doesn’t this remind you of SEO? In your day to day job as an SEO’er, things are always changing and it takes a lot of experimentation and adapting to change in order to become more efficient. Once you know how to program, you can take all sorts of repetitive tasks and automate them.
5. Learning is good
Learning how to code is a great way to develop analytical thinking, structured thinking, planning and workflow. Not everyone has the patience to learn coding and it’s usually not something that can simply be done just by reading some blog posts and articles. Learning how to code takes a lot of practice. So when you learn it, you really stand out in your company, among your colleagues and within your industry. Knowledge in coding is a strong USP which will set you apart from your competition.
So, how can I start?
Now that you’re all pumped up to learn this new language, let’s answer the main question which is where to start? There are different answers to how to start learning to code, but my answer is learn ‘C’.
All the modern day programming languages, such as Java, PHP, Python and Perl are partially or fully written in ‘C’. All the modern day operating systems from Windows, UNIX to Linux are majorly written in ‘C’.
It will be difficult to understand the language elements used in programming concepts unless you build a solid foundation in ‘C’. Once you know ‘C’, you can learn any programming language much easily.
There are three important concepts to get familiar with in ‘C’, and generally in any programming language and theses are:
- Syntax: The spelling and grammar of a programming language
- Semantics: The meaning of a programming language
- Paradigm: The style of a programming language
Different syntax, semantics and paradigms are used by different programming languages to solve the same problem.
Which Web Programming Languages should I learn?
C++ is an extension of ‘C’ and once you have a basic understanding of ‘C’, you can introduce yourself to some elements that are unique to ‘C++’ such as object oriented programming, classes, data abstraction and inheritance.
PHP is one of the most widely used server side language in the world and it can help you greatly in your day to day SEO tasks. It can be integrated in HTML code and can help you access a wide range of databases, authenticate users to restrict access to certain parts of the site, encrypt data, auto-generate files and so much more.
Google App Engine uses Python, and this lets you run web applications on Google’s infrastructure. This programming language is really easy to learn and it can be used either as a scripting language or as an object oriented language.
jQuery and JSON
API calls use both jQuery and JSON so being familiar with both these languages will enable you to speed up your SEO and analytics day to day work.
Some final thoughts
If you’re feeling overwhelmed with this list, just remember to avoid too much coding and instead focus on learning the syntax, semantics and paradigm. The main goal here is to understand the code and how different web elements interact with each other. It takes a lifetime to become a great programmer as there is no end to learning to code. Just feel comfortable to dive in, code, break stuff, then fix it.
If you stuck around to the end of this post, then you deserve some recommendations to get you started:
- Head First C by David Griffiths
- Code Academy: Learn to code interactively for free
- Code School: Learn by doing
- SitePoint: Learn web development with SitePoint tutorials, courses and books
Let me know your thoughts and if you have any other recommendations to add to this list, and I’ll be keeping you all updated with my progress!