Rise of the Full-Stack SEO
As SEO gets more technical, the ladder of an SEO career grows another step higher. Search engine optimization has come a long way since it was all content and links. Search engines are also looking for context and intent of the users' searches and try to deliver the best result first.
If you look at most high-level SEO positions on the job market, they are still requiring knowledge of only HTML and CSS, which shows a severe lack of leadership and understanding what it takes to be successful in SEO.
So, it's time we look at the skill path and career path of an SEO. The further into the future we go, the more SEOs will need skills beyond HTML and CSS and start getting into programming languages that typically fall into a developer's hands. This is the evolution of the full-stack SEO as the most senior-level of an employee specific to search engine optimization.
Early SEO β Content is King
I don't want to spend a lot of time talking about the history of SEO (feel free to skip the history), but it's important for us to look at what SEO once was to get a better understanding of what SEO currently is and where it's going. You can normally follow SEO trends by looking at the search engine penalties that resulted from exploiting the trends.
The early days of SEO (arguably in the late 1990s to early 2000s) required someone who understood signals that search engines were looking for. Early search engines were all about the keywords. AOL had a powerhouse when it came to internet connectivity to the point that ads everywhere were helping you find their companies' websites by looking up a single keyword. This is what set the SEO game into content of the webpage. This led to websites trying to game the system with keyword stuffing. Pages would be filled with irrelevant keywords all over the place. This is when meta keywords actually meant something (but not for long at all). Savvy SEOs would take to what is now considered very black-hat by hiding keywords within the page. There were other techniques, but again, it was all about the content regardless of the context.
This all came to a head in early 2011 with the first release of Google Panda. There was a total of 28 updates until the incorporation of Panda into the core Google algorithm in 2016.
Content is still king - don't get me wrong - but context of that content matters and there's much more in SEO. While content is very important, it doesn't require a lot of technical skill so it is great for someone newer to SEO to tackle and optimize.
Middle Ages β Build Those Links
There are only so many ways to say the same things. As more companies started websites, more websites started having the same kind of content. How does a search engine determine which content is more valuable? Links, of course. And Google has a sophisticated way of determining the value of each link. In the early days of link building, it was all volume and anchor text. Every link was a "vote" for your website and that vote counted toward the keyword being linked to you.
As you can see, this can easily be exploited as well. And it was. This brought about the first release of Google Penguin. There was a total of 5 updates before Penguin 4.0 in 2016 which integrated Penguin into the core Google algorithm.
Links also still matter in the SEO world. I'm sure you're beginning to notice a pattern. The degree to which links matter is becoming more and more debatable, however. John Mueller, Senior Webmaster Trends Analyst, even says that SEOs focus too much on links.
You focus too much on backlinks :)
— π John π (@JohnMu) January 22, 2019
You focus too much on links, imo -- I'm glad that we use 100s of factors in our crawling, indexing, and ranking algorithms.
— π John π (@JohnMu) January 22, 2019
Just like content, links to your website and pages are still important to ranking, but the work is less technical and the responsibility of executing on link building efforts should typically fall on more entry-level SEO positions at the direction of a Senior SEO Specialist.
Present Day β Google Gets Sophisticated
In 2013, a new Google Algorithm update hit the world, Hummingbird. If you're not familiar, the basic gist of Hummingbird was to take context and semantics into account with searches. It was designed to consider the intent of the searcher, not just the terms that are being searched. This heavily impacted local search, as the changes were most commonly found in the knowledge graph, featured snippets, and local pack.
In 2015, webmasters and SEOs found themselves in Mobilegeddon, which was when Google decided it was time to make drastic changes in website evaluation since mobile web traffic continued to rise. This ultimately led to mobile-first indexing and the rise of page speed as a ranking factor. The push for AMP started the following year. Google's mobile SERP started indicating which sites were not mobile friendly and Google Search Console started throwing errors related to mobile rendering.
In 2018, webmasters and SEOs were being herded into a more secure web that Google was pushing for, as Google gives more weight to websites with an SSL certificate, loading over a secure protocol (HTTPS). Google's SERP began indicating which websites were encrypted and Google Chrome 68+ started indicating in the address bar which websites were not secure.
Then in 2019, Google announced BERT, Bidirectional Encoder Representations from Transformers. It's a mouthful, but it's not an algorithm update. Rather it is a system that helps Google better understand searches. This primarily impacts unique searches. Searches that have never been searched before.
Had enough history and timelines?
Why is SEO Going Full-Stack & What Does That Mean?
As you can see SEO is a very simple concept that is very difficult to achieve. At the end of the day, the best white-hat SEO will be looking at the end goals of Google and other search engines to determine how to optimize websites in the best way.
What's Google's end goal? To deliver the best results for every search.
This means that websites need to contain the information searchers are looking for and the website needs to deliver a good user experience. This means that page speeds are quick and the pages render everything in an easy-to-use format.
If I was hiring an SEO contractor, I'd expect him or her to be able to optimize anything on my site without needing to get a developer involved. This would be anything from the server to the end user. Most of the SEO job listings I've seen, even high-level positions, require familiarity with HTML and CSS occasionally with other languages as a plus. Is that enough? Maybe it's just the lack of familiarity with SEO of the person writing the job description. Let's take a look at some of the pieces that make up the stack.
Server Stack
As we discussed, pretty much every website needs an SSL these days. Most websites can get away with a Domain Validation SSL, but some sites should use Organization Validation or Extended Validation SSLs depending on what the site is used for. If you are using a DV SSL, you can take advantage of Let's Encrypt's Wildcard SSL and set it up to renew every 90 days. Some webhosts will include this for free. I'm hosted with GreenGeeks and they offer an auto-renewing free SSL through Let's Encrypt. You don't necessarily need to know how to manually set up an SSL, but you should be able to get one set up.
You will also need to understand how to read and write commands in server files like htaccess and web.config. These files allow you to set up server directions like forcing HTTPS and WWW, directing to the 404 page when a file is not found, set up redirects, rewrite files into SEO-friendly URLs, and more.
Since we're talking SSLs and redirections, if you're working on a site that is not redirecting all traffic to the https version and either the www or non-www version of that page, here's a quick snippet of the commands to do that:
htaccess
# Force HTTPS and WWW RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC] RewriteCond %{https} off RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Here's a quick cheat sheet for the htaccess commands.
web.config
<configuration> <system.webServer> <rewrite> <rules> <rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> <add input="{HTTP_HOST}" negate="true" pattern="^www\.(.*)$" /> </conditions> <action type="Redirect" redirectType="Permanent" url="https://www.{HTTP_HOST}/{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
Here's a pretty handy web.config guide.
Both of them will use regular expressions, which can make them look very confusing if you've never worked with them before. This is a regex guide and cheatsheet to help you learn this end.
HTML & CSS
Alright, these two are a given so I'm going to leave the obvious mostly left unsaid. If you are an SEO and you aren't beyond familiar with HTML and CSS, you probably haven't made it this far in the article. You should be able to read a website entirely using the source code. Sometimes it's all generated upon loading the page, so I like to use Jon Hoggs's View Rendered Source Chrome Extension.
With Google's recommendation to migrate away from m. mobile sites toward responsive sites, CSS's importance in SEO became more vital than when I started, since they will be your controllers for when the site's appearance changes with different viewport widths. Also remember to minify your CSS files as much as you can. Don't look at my CSS files; do as I say, not as I do.
PHP
I hate PHP. If you know me, you've probably heard me say it. In my opinion, the only reason it is still alive is thanks to WordPress. That's also the reason I'm including it in the stack for SEOs. WordPress is the go-to for easy-to-build websites and a lot of small businesses start off with a WordPress site.
PHP has its upsides. It is a relatively quick server-side rendering programming language. If you are using .php files for your site instead of .html, you can get some more functionality out of your website as well to keep your code a little cleaner and reduce the potential for errors. Rather than hard coding elements that are standard across the site like headers and footers, you can use include statements to pull those in.
Of course, PHP requires installation on the webserver and with that installation comes updates. With updates comes breakage. This is another reason why you should add PHP to your list as a full-stack SEO. Versions don't always change syntax that much, but you'll need to know how to troubleshoot it if you need to.
JavaScript
JavaScript is arguably the most important programming language in the future of SEO. As a front-end language, JS will have a more prominent place at the table as it interacts with the user experience and more greatly impacts load times. It's also the language most used and recommended in Google's documentation. Dirty JavaScript can bog down a webpage if you're not careful, but there are so many ways it can add to your site. This is why I believe it is the most important programming language an SEO should learn. Doing it right can pay dividends; doing it wrong can be a train wreck.
This is where I want to talk about structured data. Structured data is becoming more and more important in helping Google and other search engines understand exactly what a page and its content and concept is about. Structured data can be written into the HTML, but it is probably better served through JSON-LD. JSON is JavaScript. Google even accepts structured data served through Google Tag Manager. Let's call back to Hummingbird; structured data can lead to featured snippets or rich snippets on the SERP, potentially giving your site more visibility with rich results. Help Google understand your pages programmatically while helping your users understand your pages humanly.
JavaScript is often also used in rendering. As a high-level SEO, you need to know how to write, modify, and optimize JavaScript code because rendering and is hugely important to the end-user from the speed it takes to render to the actual output. Lazy loading images and videos, for example, can be done through JavaScript. Deferring off-screen images is one of the most common things I find that need fixing when auditing page speed. And remember, Google's end goal is to deliver the best result to the best search, including user-experience.
The best part of understanding JavaScript is that you have a jumping-off point for the other libraries that are derivatives of it, like AngularJS (a Google-maintained JS-based front-end framework), JQuery (a fairly lightweight way to modify and simplify JavaScript), React (a language designed to build user-interfaces), and Node.js (which executes JavaScript outside of the web environment, for example, to run scripts on the server-side, improving on rendering speeds).
The Future of SEO β The Armageddon Dilemma
As you can see, SEO is only getting more technical. SEO's reliance on developers will eventually be squeezed out as the skills required to complete the SEO job coincide more and more with the skills required for full-stack developers.
This is what puts the future of SEO in, what I like to call, The Armageddon Dilemma.
If you're not familiar with the film, Armageddon, a huge asteroid is heading for Earth that will result in a total loss of humanity, so NASA finds the best team of oil drillers to send into space to land on the asteroid, drill a hole, and detonate a nuclear bomb to save Earth. I personally love the movie but it's not without its criticisms, one of which is the reason I'm coining the dilemma:
Is it better to train oil drillers to be astronauts or to train astronauts to drill?
The Armageddon Dilemma with full-stack SEO is: is it better to train SEOs to be developers or to train developers to do SEO?
SEOs and developers have worked hand-in-hand for a long time but I think there have been some butted heads between the two, despite often having some of the same goals. Whether it is making the site look and feel better or working on dev-ops to improve the speed and efficiency, both of those improve SEO. The challenge comes from communication when SEOs can't explain problems and solutions to developers. This is where a full-stack SEO could either do it him- or herself or be able to communicate the needs to a developer if it requires a more knowledgeable eye.
I don't think a full-stack SEO would eliminate a developer position. Rather, a full-stack SEO would free up a developer's time to work on other tasks and projects for the organization. As a young industry, SEOs are still building the career ladder as they climb it. It's time to build a new rung on that ladder that doesn't require a step into management. This next step is the full-stack SEO position.