2. AGENDA
What is Technical SEO?
Why Should You Bother Learning?
Where Should You Start?
Nice to Have
Next Steps
Initiatives for Employers
Resources
@Fearless_Shultz #BrightonSEO
3. The aim of this
presentation is to help
guide you on deciding a
learning path rather than
giving specific tech SEO
tips. It’s also not an
exhaustive list
@Fearless_Shultz #BrightonSEO
* It’s also just my opinion ☺
4. So What is “Technical SEO”?
@Fearless_Shultz #BrightonSEO
5. It Depends…
Page Speed Performance
Rendering Issues
Internal Link Analysis
Crawling and Indexing
Content Analysis
Security
Structured Data
@Fearless_Shultz #BrightonSEO
6. So Why Should You Care?
@Fearless_Shultz #BrightonSEO
9. I think…
The smarter Google tries to get, the more
help they need (for now)
@Fearless_Shultz #BrightonSEO
• Disavow files
• Schema
• Hreflang
• Canonicals
• Server Side Rendering
14. How the Internet
& Web* Work
TCP / IP
HTTP
DNS Configuration
Familiarity with RFCs
Proxies and Reverse Proxies
@Fearless_Shultz #BrightonSEO
* Not the same thing
23. @Fearless_Shultz #BrightonSEO
What Should You Know?
Basic understanding of the structure of a HTML document
and the ability to write at least a basic HTML page from
scratch
Why Should You Know it?
Being able to manually identify issues that many tools might
not catch as well as being able to understand why Search
Engines display certain SERPs in a particular way. Also better
ability to communicate with dev teams who may not be
aware of issues that impact crawling
24. @Fearless_Shultz #BrightonSEO
<!doctype html>
<html>
<head>
<title>My Awesome Page</title>
<link rel="stylesheet" type="text/css"
href="https://example.com/stylesheet.css" />
<div class="contentDiv" id="contentDivID"></div>
<meta name="description" content="This is a description of my awesome
page!" />
<iframe src="https:/example.com/include.html" title="iframe-
include"></iframe>
<link rel="canonical" href="https://example.com/awesome-page" />
<link rel="alternate" hreflang="en-gb"
href="https://example.com/awesome-page" />
<link rel="alternate" hreflang="en-us" href="https://example.com/en-
us/awesome-page" />
</head>
<body>
this is the body of the page
</body>
</html>
25. @Fearless_Shultz #BrightonSEO
<!doctype html>
<html>
<head>
<title>My Awesome Page</title>
<link rel="stylesheet" type="text/css" href="https://example.com/stylesheet.css" />
<div class="contentDiv" id="contentDivID"></div>
<meta name="description" content="This is a description of my awesome page!" />
<iframe src="https:/example.com/include.html" title="iframe-include"></iframe>
<link rel="canonical" href="https://example.com/awesome-page" />
<link rel="alternate" hreflang="en-gb" href="https://example.com/awesome-page" />
<link rel="alternate" hreflang="en-us" href="https://example.com/en-us/awesome-
page" />
</head>
<body>
this is the body of the page
</body>
</html>
http://www.thesempost.com/avoid-non-head-html-tags-head-section-pages/
26. @Fearless_Shultz #BrightonSEO
What Should You Know?
Understand what the potential issues are that JavaScript
could present to search engines, how to check for issues at a
high level. Learning to read and write JS can come at a later
stage.
Why Should You Know it?
Being able to think about potential issues even if you don’t
fully understand why they might occur yet and being able to
better communicate with dev teams to make sure problems
don’t occur at an early stage.
30. @Fearless_Shultz #BrightonSEO
What Should You Know?
What CSS is and how it impacts the display and layout of a
HTML document and the basic syntax of CSS rules and how
historically CSS has been used to serve users a different
experience to search engines.
Why Should You Know?
An understanding of how CSS has been used negatively in
the past to try and trick search engines will give you an
ability to check for potential issues that many tools might
not pick up that might be negatively impacting rankings
35. @Fearless_Shultz #BrightonSEO
What Should You Know?
Familiarity with the basics of how a webserver functions and
the differences between the main types of server such as
Apache and IIS. In particular how common SEO tasks should
be performed in htaccess or the local variant such as
web.config
Why Should You Know?
Ability to implement redirects and rewrites, make page
speed optimizations, crawling and indexing control. Possibly
most importantly to understand how to read and understand
server log files
36. @Fearless_Shultz #BrightonSEO
Top Tip – Get Yourself a Raspberry Pi!
• Install Apache / LAMP stack easily and
without conflicting with existing
operating system
• Learn to install and configure JavaScript
frameworks, build test websites etc
without setting up hosting and buying
domains.
• Learn without consequence
37. Tools of the Tech
SEO Trade
Chrome Dev Tools
Regular Expressions
PowerShell
SEO Tools for Excel
Fuzzy Lookups
@Fearless_Shultz #BrightonSEO
38. @Fearless_Shultz #BrightonSEO
• Inspecting Elements
• Checking for JavaScript Errors
• User Agent and Device
Switching
• Checking Protocol Usage
https://www.polemicdigital.com/view-source-quickly-compare-raw-html-
rendered-dom/
40. @Fearless_Shultz #BrightonSEO
Regex or Regular
Expressions are
patterns created to
match a particular
string of characters
https://twitter.com/lilyraynyc/status/1433086975045775363
45. Nice to Have’s
Understanding of different
data formats
Xpath / CSS Path
Ability to call APIs
@Fearless_Shultz #BrightonSEO
46. @Fearless_Shultz #BrightonSEO
• Recommended
method for
implementing
structured data
• Common API
response format
• Used by many
JavaScript website
frameworks
• Reading and
writing XML
sitemaps
• API calls
• Standard default
output format for
many tools
• Common API
response format
47. @Fearless_Shultz #BrightonSEO
XPath stands for XML Path. It’s a query
language that helps identify elements from
an XML document. It uses expressions that
navigate into an XML document in a way
that can be traced from the start to the
intended element
Advantages of Using CSS Selector
•It’s faster than XPath.
•It’s much easier to learn and implement.
•You have a high chance of finding your
elements.
•It’s compatible with most browsers to date.
https://www.testim.io/blog/xpath-vs-css-selector-difference-choose/
48. @Fearless_Shultz #BrightonSEO
A REST API (also known as RESTful API) is an application programming
interface (API or web API) that conforms to the constraints of REST
architectural style and allows for interaction with RESTful web
services. REST stands for representational state transfer and was
created by computer scientist Roy Fielding.
50. @Fearless_Shultz #BrightonSEO
It’s always much easier to decide what
you need to learn if you start with the
problem, find the easiest solution even
if you don’t initially understand exactly
how it works and develop from there
51. How Can Employers Help Develop
Their Teams?
@Fearless_Shultz #BrightonSEO
52. • Sunlight Training Budget
• Training Days
• Internal Presentations
• Cross Chapter Collaboration
• Squiggly Careers
• Clearly Defined Growth Maps
iTech Employee Development
@Fearless_Shultz #BrightonSEO
54. @Fearless_Shultz #BrightonSEO
How the Internet Works
https://developer.mozilla.org/en-
US/docs/Learn/Common_questions/How_does_the_Internet_work How the Internet works guide from Mozilla
https://www.cloudflare.com/en-gb/learning/network-layer/how-does-the-internet-
work/ Similar Guide from Cloudflare
https://www.makeuseof.com/difference-between-internet-world-wide-web/ Difference between the Internet and the Web
http://www.steves-internet-guide.com/internet-protocol-suite-explained/ Beginners guide to TCP/IP
https://www.extrahop.co.uk/resources/protocols/http/ How HTTP Works
https://httpstatuses.com/ HTTP status code reference
http://www.steves-internet-guide.com/dns-guide-beginners/ Understanding DNS
https://www.cloudflare.com/en-gb/learning/cdn/glossary/reverse-proxy/ Cloudflare guide to reverse proxies
https://moz.com/blog/what-is-a-reverse-proxy-and-how-can-it-help-my-seo Moz overview of reverse proxies
https://support.cloudflare.com/hc/en-us/articles/231109348-Improving-Google-SEO-
with-Cloudflare Cloudflare SEO
https://www.ietf.org/ Home of the Internet Engineering Task Force
https://www.ietf.org/standards/rfcs/ IETF RFCs
https://www.searchenginejournal.com/content-delivery-network-how-to/406464/ Guide to CDNs
55. @Fearless_Shultz #BrightonSEO
How Google Works
http://infolab.stanford.edu/~backrub/google.html
Original Stanford paper proposing the idea of
Backrub(Google)
https://www.youtube.com/watch?v=iJPu4vHETXw
How Google works from a ranking engineers
perspective
https://seonorth.ca/search-patents/googles-reasonable-surfer-model/
Difference between random and reasonable surfer
models
https://www.seobythesea.com/2016/04/googles-reasonable-surfer-patent-
updated/ Google Patent change to reasonable surfer model
https://developers.google.com/search/docs/advanced/crawling/large-site-
managing-crawl-budget
Google guidance on managing crawl budget on large
sites
56. @Fearless_Shultz #BrightonSEO
HTML & CSS
https://www.w3schools.com/html/html_quiz.asp Test Your basic HTML knowledge
https://www.w3schools.com/html/
Learn the basics of HTML for free with W3
Schools
https://www.codecademy.com/learn/learn-html Code Academy HTML Course
https://www.w3.org/TR/html5-diff/
Differences between HTML 4 and 5 ( technical
docs)
https://www.w3schools.com/html/html5_semantic_elements.asp Semantic HTML elements
https://searchengineland.com/seo-advantages-of-machine-readable-html5-semantic-
markup-314455 SEO Specific observations about HTML 5
https://www.w3schools.com/css/css_intro.asp W3 Schools CSS intro
57. @Fearless_Shultz #BrightonSEO
JavaScript
https://www.w3schools.com/js/ Basic JS tutorial from W3 Schools
https://www.geeksforgeeks.org/difference-between-typescript-and-
javascript/ JavaScript vs TypeScript
https://www.codingninjas.com/blog/2018/12/08/difference-between-a-
programming-language-and-a-scripting-language/ Difference between scripting and programming languages
https://developers.google.com/search/docs/advanced/javascript/javascr
ipt-seo-basics JavaScript basics from Google
https://moz.com/blog/javascript-seo-guide Moz 2021 guide to JavaScipt
https://www.codemotion.com/magazine/dev-hub/javascript/javascript-
frameworks-guide/ Guide to JavaScript frameworks
https://www.searchenginejournal.com/angular-seo-guide/303849/ SEO guide to Angular
https://gorrion.io/blog/angularjs-vs-angular/ Angular vs Angular JS
58. @Fearless_Shultz #BrightonSEO
Web Servers
https://www.thegeekdiary.com/beginners-guide-to-apache-
http-server/ Beginners guide to Apache
https://www.dnsstuff.com/windows-iis-server-tools Guide to IIS
https://www.danielmorell.com/guides/htaccess-seo htaccess for SEO
https://ignitevisibility.com/the-ultimate-guide-to-htaccess-files-
for-seo/ htaccess for SEO
https://www.bowlerhat.co.uk/301-redirects-for-seo-from-
windows-server-iis Redirects in Windows web.config
https://pimylifeup.com/raspberry-pi-apache/ Setting up Apache on Raspberry Pi
https://projects.raspberrypi.org/en/projects/lamp-web-server-
with-wordpress Build a LAMP Server on Raspberry Pi
59. @Fearless_Shultz #BrightonSEO
Chrome Dev Tools
https://developer.chrome.com/docs/devtools/ Google intro to Chrome Dev Tools
https://www.searchenginejournal.com/chrome-devtools-seo-
troubleshooting/387494/ SEO troubleshooting with Chrome Dev Tools
https://blog.openreplay.com/the-ultimate-guide-to-fixing-javascript-
performance-problems-in-browser-devtools JavaScript performance issues with Chrome Dev Tools
60. @Fearless_Shultz #BrightonSEO
Regular Expressions
https://www.hongkiat.com/blog/getting-started-with-regex/ Getting Started with Regex
https://www.sitepoint.com/learn-regex/ Another Regex guide
https://moz.com/blog/an-seos-guide-to-regex SEO Guide to Regex
https://www.jcchouinard.com/regex-for-seo/ Another SEO Guide to Regex
https://regexr.com/ Regex Cheatsheet, pattern storage, community patters etc
https://regex101.com/ Another testing and debugging tool
62. @Fearless_Shultz #BrightonSEO
General
https://seotoolsforexcel.com/ Homepage for tool
https://www.slideshare.net/MikeOsolinski/brighton-seo-sept-
2019-powershell PowerShell for Process Automation
https://www.slideshare.net/MikeOsolinski/command-line-
automation-for-repetitive-tasks Command Line Automation
https://moz.com/blog/writing-structured-data-guide SEO Guide to writing JSON
https://moz.com/blog/json-ld-for-beginners Guide to writing JSON-LD
https://builtvisible.com/seo-guide-to-xpath/ SEO Guide to Xpath
https://www.mulesoft.com/resources/api/what-is-an-api What is an API
https://mlsdev.com/blog/81-a-beginner-s-tutorial-for-
understanding-restful-api Starting with APIs
https://projects.raspberrypi.org/en/projects/lamp-web-server-
with-wordpress Installing a LAMP stack on Raspberry Pi