The struggle to remember is real.
Sometimes it’s hard enough just to remember what you ate the day before, let alone all the finer details of technical SEO.
From meta tags, link attributes and canonicals to HTTP status codes and more.
Sure, you could memorize everything you need to know…
But what if you had a cheat sheet you could bookmark or print out and put on the wall of your office so that you’d never forget that string of code again?
The Technical SEO Cheat Sheet: Never Forget Again
We’ll begin with the basics. Because even the basics can be hard to memorize, right?
HTTP Status Codes
Status codes indicate whether an HTTP request has been completed successfully.
There are five classes of HTTP status codes.
These codes indicate the request has been received.
- 100: Continue
- 101: Switching Protocols
- 102: Processing
These codes indicate the requested action has been accepted.
- 200: OK / Success
- 201: Created
- 202: Accepted
- 203: Non-Authoritative Information
- 204: No Content
These codes indicate further action is required.
- 300: Multiple Choices
- 301: Moved Permanently
- 302: Found
- 307: Temporary Redirect
These codes indicate a client error.
- 401: Unauthorized
- 403: Forbidden
- 404: Not Found
- 410: Gone (permanently removed)
- 429: Too Many Requests
5xx: Server Error
These codes indicate a failure to fulfill what should be a valid request.
- 500: Internal Server Error
- 502: Bad Gateway
- 503: Unavailable (retry later)
- 504: Gateway Timeout
Common HTML Tags
There are plenty of tags you need to know to perform technical SEO. Here are some of the basics:
<head> <title>Page Title</title> </head>
<head> <meta name="description" content="Meta Description"> </head>
<img src="img/seo.png" alt="seo" width="100" height="100">
<a href="https://example.com" rel="nofollow noopener" window="_blank">Link Text</a>
Robots.txt give direction to website crawlers on how to crawl the pages of a site.
There are two critical components: the user agents targeted and the URL string.
User-agent: [user agent name] Disallow: [URL string not to be crawled]
The X-Robots tag allows you to set various robot.txt-related directives in the headers of a HTTP response.
The same parameters that apply to robots.txt apply to X-Robots directives.
Location: Within HTTP Header
X-robots-tag: noindex nofollow
Robots meta directives give crawlers direction on how to crawl and index an individual page’s content.
The same parameters (noindex, nofollow) apply.
Location: In HTML <head>
meta name="robot" content="nofollow noindex"> meta name="robot" content="follow index">
Canonical tags help direct crawlers to the preferred version of a page.
Canonicals are a solve for duplicate content issues—or multiple URLs containing similar or identical content. For instance, instead of a single homepage URL, your site may contain:
To tell crawlers which version you prefer, you would implement a canonical tag:
Location: In HTML <head>
<link rel="canonical" href="https://yoursite.com">
Pagination can also prevent tricky duplicate content issues.
Crawlers need to know that page one or two of an archive is a paginated archive. The introduction of the rel=”prev” and rel=”next” tags solved this dilemma a few years ago.
Location: In HTML <head>
Most Common User Agents
There are plenty of user agents crawling the web, and plenty of reasons why you might want to direct certain user agents to crawl your site in different ways.
There are some tags that pertain specifically to how a page appears when shared on a third-party platform like Facebook, Twitter or LinkedIn.
Here are some common tags to help you take control of your content display:
Open Graph Tags
<meta property="og:title"> content="Title Goes Here"> <meta property="og:type"> content="article"> <meta property="og:url"> content="URL of page"> <meta property="og:description"> content="Description (keep under 300 characters)"> <meta property="og:image"> content="Image URL (recommended 1200×630 pixels)">
Twitter Card Markup
<meta name="twitter:card" content="Summary"> <meta name="twitter:title" content="Title or alternate title of page viewed as the headline"> <meta name="twitter:site" content="@username for the website used in the card footer."> <meta name="twitter:creator" content="@username for the content creator / author"> <meta name="twitter:description" content="Page description (less than 300 characters)">
Structured data simply refers to organized content that helps search engines understand a webpage’s content.
There are many use cases, and a couple of common vocabularies. For example, marking up a product with schema.org would look something like this:
<div itemscope itemtype="http://schema.org/ItemList"> <link itemprop="url" href="http://multivarki.ru?filters%5Bprice%5D%5BLTE%5D=39600" /> <span itemprop="numberOfItems">315</span> <div itemprop="itemListElement" itemscope itemtype="http://schema.org/Product"> <img alt="Photo of product" itemprop="image" src="http://img01.multivarki.ru.ru/c9/f1/a5fe6642-18d0-47ad-b038-6fca20f1c923.jpeg" /> <a itemprop="url" href="http://multivarki.ru/brand_502/"> <span itemprop="name">BRAND 502</span> </a> <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> <span itemprop="price">4399 р.</span> </div>
Most Common Uses
- Business Information
- Phone Number
- Media Content
Most Common Schema Vocabularies
Structured data can also be used to aid search engines in displaying rich snippets in search results.
A snippet is a bit of additional information added to a search result. For instance, Google might display a review rating for a local business.
The structured data intended to display a review rating might look like this:
<div itemscope itemtype="http://schema.org/Product"> <span itemprop="name">Kenmore White 17" Microwave</span> <img itemprop="image" src="kenmore-microwave-17in.jpg" alt='Kenmore 17" Microwave' /> <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> Rated <span itemprop="ratingValue">3.5</span>/5 based on <span itemprop="reviewCount">11</span> customer reviews </div>
There are a couple of tools in the technical SEO tool bag we’re going to file under “Advanced.”
If you’re a pro in these areas, more power to you!
Log files contain a collection of log entries made whenever a server, operating system, network device or computer application performs an action on your site.
When considering how log files can be used for technical SEO analysis, the action we’re most often referring to is a user or bot requesting a page.
A log entry might look like this:
184.108.40.206 brooks [4/Oct/2018:9:51:58 -0800] "GET /page-url.html HTTP/2.0" 404 5672
- 220.127.116.11 – remote hostname IP
- brooks – user ID
- [4/Oct/2018:9:51:58 -0800] – date, time and timezone
- GET – refers to the action taken; will either be GET or POST
- /page-url.html – URL being accessed
- HTTP/2.0 – version of HTTP
- 404 – the status code returned
- 5672 – the size of the file returned (in bytes)
Log file analysis can give you technical SEO insight into:
- Bot crawling
- Response code errors
- Crawl budget
- Crawl budget waste
- Duplicate crawling
- Last crawl date
The hreflang attribute tells Google what language you’re using on a page. This allows Google to serve the right page to the right audience.
You can target both languages and variants of languages with the hreflang attribute. For instance, you can target Portuguese in Portugal or in Brazil.
<link rel="alternate" href="http://example.com" hreflang="pr-pr" /> <link rel="alternate" href="http://example.com" hreflang="pr-br" />
The hreflang attribute should both reference itself and any page that should serve as an alternate.
Common Language Codes
- Chinese: zh
- Spanish: es
- English: en
- Arabic: ar
- Hindi: hi
- Portuguese: pr
- China: CN
- United States: US
- Brazil: BR
- India: IN
- Japan: JP
- Portugal: PR
And there you have it: A cheat sheet to help you conquer all things technical SEO.
Our hope is that this serves as a trusty resource for years to come.
So bookmark it, print it out, frame it, and go help search engines better understand your site!