Technical Search Engine Optimization (Technical SEO) Crash Course

I spend a fair amount of time over the years learning Technical Search Engine Optimization (Technical SEO) and recently a question was posted on the BigSEO Slack Community which went like this:

Can anyone suggest some free tutorials or knowledge base for advanced Seo[?]

I consider Technical SEO to be advanced SEO so I responded to the query with several following suggestions, which I’ll cover here.

What is Technical SEO?

The following definition of Technical SEO is taken from the article entitled “What is Technical SEO?“:

Technical SEO refers to website and server optimizations that help search engine spiders crawl and index your site more effectively (to help improve organic rankings).

I’m a software engineer and this definition is pretty good at explaining why I think Technical SEO is interesting: Technical SEO requires skills in subjects including performance engineering, software architecture, system administration for the Linux Operating System (OS), caching, testing, load testing, Content Delivery Networks (CDN), Content Management Systems (CMS) such as WordPress, programming languages such as PHP, web server configuration and administration for the Apache or NGINX web servers, and much more.

If you’re looking to expand your knowledge of Technical Search Engine Optimization (Technical SEO), learn more about new technologies, product developement, and technical project management processes, and to network with other technologists, consider joining the Washington, DC Chief Technical Officer (CTO) Meetup Group.

We try to host events monthly and, in most cases, meetups are available via Zoom and usually last for around an hour.

What is the best way to learn Technical SEO?

In my opinion, when it comes to Technical SEO, it’s probably better to learn by doing and that means setting up a website, running some tests on that website, and then trying to remedy whatever problems are found and verifying that the change actually addressed the issue.

Here’s a project that you could do that would give you a tonne of experience and knowledge around Technical SEO:

  1. Set up a server on Digital Ocean, for example, which runs WordPress.
  2. Create a few pages with some text and lots of pictures.
  3. Run a test on it using WebPagetest.org and check the results, which will likely have a few D’s or F’s.
  4. Start fixing those problems, retesting, and seeing that the improvement is working.

    This alone would give you a really good deep-dive into technical SEO.

  5. Use other testing tools too such as GTmetrix or Google PageSpeed Insights.
  6. Run other tests such as those listed in the section entitled “Other Technical Search Engine Optimization Tests”, below.
  7. Is it running PHP 7.4? If not then upgrade to a newer version of PHP.
  8. Set up W3 Total Cache or one of the competitors.
  9. Set up a CDN.
  10. Set up NewRelic on your server.

This should keep you very busy and give you some really solid hands-on Technical SEO experience.

I use WebPageTest: Test. Optimize. Repeat. frequently — it’s really good for a number of reasons, one of them being that it provides a score for a page on a website right there at the top of the report — see an example report below.

WebPagetest.org technical search engine optimization results before headers have been enabled (Security Score, First Byte Time, Cache static content: each with F grades; CDN not detected; Keep-alive Enabled, Compress transfer, and Compress Images: each with A grades).
A performance test result from the WebPagetest.org website.

In this example we can see that the page the report applies to has some problems — specifically:

  • The security test resulted in an “F”, or “fail” — this may have to do with the CORS configuration.
  • First Byte Time (TTFB or FTTB) is also failing.
  • The cache static content test is failing.
  • There’s currently no Content Delivery Network (CDN) in use. Not every website needs a CDN but if your goal is to learn more about Technical SEO, addressing this issue should be worthwhile. Installing a CDN is not exactly straightforward and requires both a configuration of the CDN, a configuration of the website to use the CDN, as well as testing.

There are many other web testing tools that can help with this exercise and I recommend trying others and seeing which one you like.

About these performance tests

  • While testing changes for each of these “F”‘s is usually easy enough to do, it will likely require some time to investigate, implement, test, and confirm that the solution is actually working.
  • While this is mostly performance-related, performance is important for both search engines as well as for a positive user experience.
  • Addressing an issue such as what’s listed here, usually impacts the entire website.
  • Testing should be done with both desktop as well as mobile devices and expect the results to differ. This is where things have the potential to become very tedious because implementing a solution that results in positive performance gains in both environments is not exactly straightforward, in my experience.

Other Technical Search Engine Optimization Tests

In this section I include a list of testing tools which should be helpful for testing various aspects of technical search engine optimization.

Technical SEO Crash Course Conclusion

This article is by no means over at this point. Below I’ve included a quiz that should give you more ideas and information around the subject of Technical SEO, but they’re formed as questions so they may be a bit more difficult to answer — if you get stuck on any of them and need help, send me an email and I’ll try to clarify.

Technical SEO Quiz

Below we include a list of questions that pertain to various aspects of Technical SEO. Some of the answers below may be boolean whereas others may require a more verbose response; finally, some of these answers may require an “it depends” style of response.

  1. Is performance / responsiveness important for the Google Search Engine?
  2. Is performance / responsiveness important for the Bing Search Engine?
  3. How frequently should we run performance tests on our website?
  4. Name one or more mistakes people make when it comes to images as it pertains to Technical SEO, in general, and page load time, specifically?
  5. Name all the things that can go wrong as it pertains to Technical SEO and SEO, in general, when a user pastes an image into a page in WordPress (assume Chrome, though this is likely present in other browsers)? Hint: There are probably at least five penalties that result from this bad practice.
  6. What is Schema.org and does it have anything to do with Technical SEO?
  7. What are one or more problems that could come from using an outdated version of PHP on a website which is backed by the WordPress CMS?
  8. In what way(s) can a CMS help with Technical SEO?
  9. What’s the problem with the following two URLs?

    https://random-site.blah/posts/post-x

    and

    https://random-site.blah/posts/post-x/

    How do you fix this problem?

  10. What’s the problem with the following two URLs?

    http://random-site.blah/posts/post-x/

    and

    https://random-site.blah/posts/post-x/

    How do you fix this problem?

    Is this also related to question #8?

  11. Is preparing a post such that it can be shared on Twitter and Facebook, for example, considered to be a part of Technical SEO?
  12. What is a Progressive Web Application (PWA)?
  13. What are Accelerated Mobile Pages (AMP) and if a website supports AMP is this considered by Google to be a ranking signal?
  14. What is a speed index and why is it important? The speed index appears in WebPagetest.org performance test results as well as in Google PageSpeed Insights Lab Data test results (and elsewhere)
  15. True or false: Google publishes their complete list of ranking factors.
  16. What’s wrong with the following statement? “I configured the Java web application to use an OpCode cache.”
  17.  What is an OpCode Cache and why would we use it?
  18. What is Apache PHP-FPM and why would we use it?
  19. What is Apache mpm-event and why would we use it?
  20. What is cross-origin resource sharing (CORS) and when or why would we need it?
  21. What is a crawl budget and when or why is it important?
  22. What is a canonical URL and when would we want to use it?
  23. A company e-commerce website that handles traffic for a large number of customers is hosted on Amazon Web Services (AWS) and uses various web services. Performance optimizing the website will result in an improved user experience which hopefully will yield more sales. Name one other very important positive side-effect which will result from investing in performance improvements for a business that hosts its web application on AWS? Hint: It has to do with money.
  24. We have a business website that has just been optimized for performance and run a performance test on a cold cache, what will the results look like?
  25. What is cache priming?
  26. How can we use Apache JMeter to prime a cache?
  27. Is a performance test that does not download any assets (such as images) result in valid page load time metrics?
  28. Does a single performance test that downloads all assets (such as images) result in valid page load time metrics?
  29. Does a performance test that downloads all assets (such as images) result in valid page load time metrics when a particular URL is hit 5000 times over two minutes?
  30. Can we use tmpfs in Linux to improve the performance of a web application? If yes, explain how this could work.
  31. What is the Google PageSpeed Module project? When should we use it?
  32. What is webp and why should we care?
  33. An intern uploads a 5GB uncompressed image to the server which is referenced from the home page, which gets significant traffic. When asked about the size of the image, the intern replies that it doesn’t matter because the webserver is configured to use a CDN, Brotli compression over HTTP/2, and serves this picture in webp format. What’s wrong with this statement and how should the issue be addressed?
  34. What is the Apache Benchmark tool and can we use it when performance testing changes on a website?
  35. Run performance, accessibility, progressive web apps, and SEO audits using the Chrome Lighthouse web developer tools.
  36. Customers are complaining about the page load time for a particular product and this defect was assigned to the intern, who rejected it with the following note: “Unable to reproduce locally, the page seems to load quickly for me when I open the URL in my browser.” — why is this faulty reasoning?
  37. What is cache busting and why would we need to do this?
  38. What is a nofollow link?
    What is the difference between a follow and nofollow link?
    Why would I want to use a no-follow link?
    Can a no-follow link benefit SEO at all?
  39. What is wp-cron.php (for  WordPress)?
    How frequently does it run, by default, in a WordPress website?
    Can we disable it?
    Name one or more side-effects of disabling WP-Cron and running it via a Linux cron job which executes every five minutes, for example?

These questions can offer guidance on things to look at with respect to Technical Search Engine Optimization and should be very helpful when it comes to learning more about this subject matter. These questions are by no means exhaustive so if you have one of your own, please send it to me and I’ll consider adding it to the list.

Answers should be supported by references, where appropriate, and note that there may be more than one answer in some cases.

Technical Search Engine Optimization Quiz (todo)

  1. Consider adding questions for the Nginx web server.

thospfuller

I am a Web Design, Technical SEO, and WordPress Specialist based in Northern Virginia. I am interested in software development, content engineering, and business. I'm originally from Chicago, IL, and currently reside in Reston, VA.