Categories
Marketing

35 SEO technical requirements and features

A SEO-friendly website needs to have specific technical requirements in its core. I listed 35 features or mega-features into 6 different groups.

Introduction

How did I make this list?

No need to say that I didn’t invent the wheel with this. 90% of the technical requirements are good practices that can be found in Google official resources. I was also inspired by the following resources:

  • Clay Cazier (2016-07-27). SEO requirements for a new website platform. Search Engine Land. This article is probably the best article on technical SEO I found, as it is really about technical SEO. Logically, many of the features listed by Clay Cazier are in my article. However, I was bothered by the lack of grouping between the features. I also felt that some features were too specific (feature 18 about AngularJS) and some were repetitive. The distinction between Platform SEO requirements and Platform SEO near-requirements wasn’t relevant to me.
  • Matthew Howells-Barby (2018-04-13). How We Increased Organic Traffic by Over 50% Using Technical SEO Updates. HubSpot. This article is an interesting case study that shows how important are the technical features for SEO. The article focuses on several features that are in my list: 404 pages (1.5), pagination (3.6), structured data (1.4), customizable text zones (4.3), Hreflang (6.1) and XML sitemap (1.1). The article also covers language meta tags, which, I think, are not necessary and should be replaced by a lang attribute in the HTML opening tag of the document.

Who is this list for?

The added-value of this list depends on the type of website you use it for.

  1. For custom-developped websites, this list is a gold mine (or at least I hope it is!). You have an updated overview of what needs to be done for making a website SEO-friendly. Web developpers, this list is really for you.
  2. For websites based on CMS platforms, the majority of the technical features listed below should already be integrated in the CMS core code, even though it is not always the case. And if there are not, it not always possible to implement them without interfering whith the core of the CMS, which is not recommended. However, the list can be useful to compare CMS regarding their SEO friendlyness.

If you work in SEO, this checklist is also a solid basis to perform technical SEO audits. A technical SEO audit is not about spotting pages with missing meta descriptions. Technical SEO audit is really about checking the presence of technical requirements on a website.

The list

A SEO-friendly website needs to have specific technical requirements in its core. I listed 35 features or mega-features into 6 different groups: _.

1. Crawlability and indexability

  • 1.01. The main XML sitemap is accessible at the root of the domain.
  • 1.02. The XML sitemap(s) are updated automatically with the existing URLs.
  • 1.03. The XML sitemap(s) exclude “not to be indexed” pages.
  • 1.04. If appropriate, the XML sitemap(s) include links to images.
  • 1.05. The robots.txt file is acessible at the root of the domain.
  • 1.06. The robots.txt file lists all “disallow/not to be indexed” pages.
  • 1.07. The link to the main XML sitemap is in the robots.txt file.
  • 1.08. Each page type of your website has structured data in JSON-LD format.
  • 1.09. Each page type of your website has valid HTML code on https://validator.w3.org/.
  • 1.10. Each page type of your website has valid CSS code on https://jigsaw.w3.org/css-validator/.
  • 1.11. Your website has a 404 page with a proper 404 http status code.
  • 1.12. All “Not to be indexed” pages include a “noindex” meta tag.
  • 1.13. For websites translated in 2 or languages, all pages have hreflang attributes with appropriate regions/languages codes.

2. URLs

  • 2.1. All pages of your website are in HTTPS.
  • 2.2. All versions of your domain have an automatic 301 redirection to your primary domain.
  • 2.3. When a URL has to be changed, the old URL should have an automatic 301 redirect to the new URL.
  • 2.4. All new URLs should be customizable, unique and clean.
  • 2.5. A page can only be accessed through 1 unique URL (no duplicate pages).
  • 2.6. URLs of generic pages should be paginated, especially with generic pages with infinite scroll.

3. Content

  • 3.1. Each page has a customizable title tag, with an optimal length of 50 to 60 characters.
  • 3.2. Each page has a customizable meta description tag, with an optimal length of 50 to 300 characters.
  • 3.3. Each page has customizable text zones at the top of the page, with customizable headings (h1 to h4).
  • 3.4. Each image has customizable information: you can choose the name of the file (as it appears in the URL), the title tag (name of the image) and the alt tag.

4. Loading performance

  • 4.1. The images of your website are optimized (compressed).
  • 4.2. The HTML, CSS and JavaScript code used by your website is minified (code minification).
  • 4.3. The JavaScript code used by your website is split into bundles (code splitting).
  • 4.4. Your website uses premium hosting.
  • 4.5. You serve cached content of your website with reverse proxy servers and/or a Content Delivery Network (CDN).
  • 4.6. You serve an AMP version of the public content pages of your website.

5. User experience

  • 5.1. Your website fits all screens (desktops, tablets, smartphones), with ideally Responsive Web Design (RWS).
  • 5.2. Your website has a custom 404 page.
  • 5.3. Your website does not have broken links (404 pages).
  • 5.4. Your website has a high definition favicon.

6. Social

  • 6.1. Every public pages of your website have open graph metadata.
  • 6.2. Every public pages of your website have complementary Twitter Cards tags.

Further exploration

Crawlability and indexability

Crawlability and indexability is at the heart of how search engines work, so it’s not surprising to put this section as the first one on my list.

Not to index pages

There are mainly 2 reasons to prevent a page from being indexed :

  1. for security and privacy reasons: the page is only intended for one or several users. For example, the private back-office pages on an ecommerce website.
  2. for quality reasons: the content of a page is of low quality, due to poor or duplicate content.

If you need to prevent a page from being indexed by search engines or de-index one that has already been inexed, you should read this : Block search indexing with ‘noindex’

One or several XML sitemaps?

There is no preference related to having a unique or several XML sitemaps for a website. But if a website has or can have a lot of pages, multiple sitemaps are the way to go. The only requirement is to create a sitemap index file, listing all sitemaps of the website. You can learn more about this here: Simplify multiple sitemap management.

JSON-LD structured data

For JSON-LD structured data, you should read:

Search-engine friendly code

Search-engine friendly code is standard HTML (HTML5) and CSS (CSS3). To make sure your code is valid, you can use the W3C validation tools:

Now, if you use JavaScript to display partially or entirely the content of your website, things get complicated. The general rule is that search engines do not like JavaScript, at all. However, things are evolving progressively, due to the incresing popularity of JavaScript frameworks (React, AngularJS). Google has made much effort in order to be able to index JavaScript websites. I recommend the following articles for a deep exploration of almost all the difficulties related to JavaScript and SEO:

Finally, here is the official recommendation from Google regarding JavaScript:

404 page

A 404 page is necessary to indicate to users and search engine that a URL is no longer valid. Howerver, search engines hate 404 pages, as it it signlas broken links. The fewer the better for SEO. 404 pages generally appear in 2 cases:

  1. A page is deleted or a URL is changed. This scenario can be avoided by redirecting the non-valid URL to a valid one (301 redirect).
  2. An external website is linking to a page that never existed. A 301 redirect can also be put in place in this case, but only after you spot the existence of the 404 page.

For the user, the best thing is to have a customized (and if possible original) 404 page. You can find some inspiration on these websites:
* Dribble.
* Awwwards.
* Muz.li.
* 404notfound.fr (404 pages in English and French).
* bonjour404.fr (404 pages in French).

Hreflang attribute

If you want to have different languages for a website, there are 3 recommendended options:

  1. One top level domain name per language.
  2. One sub-domain name per language, with the same top level domain name. This is what Wikipedia is doing.
  3. One subdirectory per language with the same top level domain name.

You can read more about this in this article: Managing multi-regional and multilingual sites.

Primary domain

Your primary domain should start with https and I recommend to keep the www. So, your primary domain should start with https://www.

Change of URLs

Please note that you should avoid changing URLs. Search engines like stability, and especially don’t like change of URLs.

Clean URL

A clean URL is a URL made of words that human beings can easily read and understand. The authorized characters are the following:

  • the 26 lowercase letters from a to z.
  • the 10 digits from 0 to 9.
  • The dash punctuation mark.

Duplicate content.

If you stick to the rule “1 page = 1 unique URL”, canonical URL tags are useless within the same website. If you have pages accessible by selecting filters (facets), tags or categories, make sure that those filters, tags and categories are always ordered in the same way in the URL. If there is no systematic order set, canonical tags are needed.

URLs – Infinite scroll

Should you use infinite scroll or not? Even though there isn’t a definitive answer to this question, we can state that:

  • Infinite scroll seems offfer better user experience (except if you’re trying to reach the footer).
  • As stated in the list, pagination is the safest way to go in terms of SEO.

However, if you do want to use infinite scroll, please refer to those articles:

Optimized images

To know more about images:

Optimized code: code splitting, minification and compression

Some useful links:

AMP version for public content pages

Yeah, I know. AMP is quite controversial and I can understand the reluctance of using it:

Also, AMP might not work for your website. Kinsta published a nice article about this: Google AMP Case Study – Leads Dropped by 59% (How to Disable It).

User experience and performance

User experience and Performance are vast and complex issues. I recommend to start with these Google resources to get an overview of these subjects:

A website compatible with all devices

There are 3 technical options to mobile compatibility:

  1. Responsive Web Design.
  2. Dynamic serving.
  3. Separte URLs.

Google’s stand on this is adamant: Responsive Web Design is the way to go.

To learn more about this, I recommend the Google Developper Search guide, section Mobile-friendly website.

Open graph metadata and Twitter Cards

You can refer to these sources for implementation:

Author: Dimitri Alamkan
Initial publication date: 2018-06-20
Last updated: 2020-04-21