Languages to Know For Tech SEO
Last Updated: August 24, 2020
Working on technical SEO inevitably will require getting into the code. This can seem daunting for many people, especially those who come from a non-technical background or those who didn’t want to be a programmer. Yes, you will almost always work with developers who can assist with the more complicated technical projects. True, not everybody who works in technical SEO needs a complete mastery of all the different programming languages.
But to successfully work on technical SEO, or really anything on the technical side of web marketing, everybody involved should understand certain technical concepts and should be familiar with a variety of languages even if you aren’t a programmer. Having even a bit of familiarity with these technologies will improve your ability to analyze websites, understand the website’s UX, understand SEO performance, and converse with developers. Even knowing that these technologies exist allows you to see what more could be possible as you review and analyze your website and SEO performance.
What Languages You Should Know
Along with those programming languages, another language you should understand is SQL. If you are given a SQL table to review, you should be comfortable enough querying basic information and understanding how the data is related across different tables.
And, the final languages you should also be very comfortable working with are HTML and CSS, which govern the page’s styles and structure. If you view the source on an HTML page, you should be able to understand how the content is being rendered and understand how the CSS is displaying content.
Why you need these languages in your toolkit and what you are going to do with each language changes depending on the language and how it is used. Let’s go through some examples.
But First…Where To Learn?
If you aren’t familiar with these languages, that’s okay. There are great free courses available to help you learn each language. While there are many options, here a few to get you started:
PHP comes in handy for any technical SEO professional who works on websites built in a PHP-based CMS, the most common of which is WordPress. Sometimes you need to make changes to template or function files, like adjusting the way titles or descriptions are output. You may need to change the HTML to use a different tag—like changing from a span tag around headers to an h1 tag. Other times, these might be more substantial than mere tweaks. For example, you may need to write custom code to output schema within a custom template relying on custom variables unique to that particular template and that particular type of content. The more familiar you are with PHP, the more comfortable you can be that your tweaks aren’t going to accidentally destroy the website.
More often than not, though, you aren’t trying to write some new code or make a tweak. Instead, you need to review how something is being produced to make sure it will render it correctly for robots and humans. As part of a tech SEO audit, for example, you may question how one file is being output on the website. Knowing just how the file is put together requires wading into the code behind the scenes. That includes looking at all the functions and files that made that file possible (which also often requires having a good handle on WordPress’s file structure) and also includes reviewing the content as stored in the database.
Structured Query Language (SQL)
In almost all cases, you are going to work with SQL at the time you are working with PHP. As PHP-built websites often store data into a MySQL database (like WordPress). In WordPress, as an example, you may want to review all the different pages contained on the website and the data contained about those pages. Sure, you could crawl the website—but that takes time to run that crawl. It is far easier to access the WordPress database directly and export some type of data out of the database directly. For example, you may want to export all page titles or you may want to find a complete list of all pages contained on your website (some of which might be orphaned and not detectable within a crawl anyway).
SQL knowledge isn’t only helpful when trying to extract information about a website. If you are doing any type of larger data analysis, SQL can make the job far easier. Instead of trying to manipulate and filter and sort data in Excel, import your data in SQL. The WHERE clauses in SQL are far more powerful than any filtering that Excel allows for and you can customize ORDER BY clauses for more advanced levels of sorting. The more advanced your SQL knowledge, the more you will benefit from SQL in your data analysis and processing.
Python is the go-to language for data analysis and statistics. If you are doing major analysis work, or anything involving machine learning, Python is going to be a critical tool to help you get the answers you need. Once you are ready to move beyond basic analysis that can be accomplished in Excel or once you are working with larger data sets, you are going to need Python (a good example of that can be found here). More specifically, you are going to want to work with NumPy, Pandas, Matplotlib, and other similar libraries to help you analyze your data more aggressively. SQL knowledge can also be helpful here as you can connect to SQL databases, such as with the SQLLite library.
Another common need within the world of technical SEO is a custom-crawler. Sure, many websites may benefit from off the shelf crawl tools. However, for companies running larger and more active websites, off the shelf crawl tools simply aren’t going to be sufficient. The catch is that more often than not, those same companies aren’t quite ready for (and can’t afford) the enterprise crawl tools either. A custom-crawler can be the perfect solution for this middle ground between off-the-shelf and enterprise-level crawl tools. While you can build a web crawler in PHP too, Python also offers easier ways of creating and deploying bots to crawl through your website’s pages, including frameworks like Beautiful Soup or Scrapy.
Finally, we have HTML and CSS. While separate, these really go together. Neither are programming languages but instead provide markup that helps browsers (and bots) understand how to structure the website’s content. These are the languages those working in technical SEO will likely spend the most time interacting with and analyzing.
On the technical SEO side, you’ll want to review the HTML to ensure the basic HTML tags are in place. This includes checking for title tags, header tags, various meta tags, link tags (for canonicals or hreflangs), and more. The better structured your HTML, the easier time bots will have crawling through your website and understanding your website’s content. As well, well-structured HTML also helps with web accessibility, which is important in its own right and increasingly becoming important for SEO and UX.
As you review your HTML, you’ll also want to review how that is styled within the CSS; an H1 tag is of little actual importance if it is styled to look like every other piece of text on a website. At the same time, you’ll want to make sure your CSS is styling the content correctly on different browser sizes, including on mobile devices. There are many gains to checking this styling, but the most important for SEO is staying in compliance with Google’s mobile-friendly guidelines.
As a bonus, if you understand HTML, you already understand XML too. XML sitemaps are still very important for SEO, especially for larger and more complicated websites. RSS feeds are a dialect (or version) of XML, making XML useful to understand how RSS feeds work on your website too. Plus, many APIs share data via an XML file and that means XML knowledge can help you access different information from third-parties—which can be useful for content generation, analytics, and more.
I’m not suggesting you need to go out and learn all of these languages right now to succeed in SEO. Hardly. And, again, I’m not saying you need complete mastery of these technical subjects when working on the technical side of SEO. However, to better understand the technical aspects of SEO and get the results you want does require some familiarity with these languages. Even spending a bit of time studying these languages and taking the time to use that knowledge can help you identify new areas to improve and problems to fix. As always, let me know if you have any questions or if you need help on your website, please contact me.