Checklist for technical SEO audit of a website

Aims and objectives of technical audit

The purpose of a technical SEO audit of a website is to identify and correct technical errors that can negatively impact its search visibility and search engine ranking.

The main objectives of the audit include:

  1. Detection of indexing errors: checking robots.txt file and sitemap.xml file for errors, setting correct directives for page indexing.
  2. URL structure analysis: checking for readable, informative and optimized URLs, as well as excluding duplicate URLs.
  3. Optimization of page loading speed: analysis of the loading speed of the site and its individual pages, identification of the reasons for slow loading and suggestion of measures to improve them.
  4. Mobile compatibility check: make sure the site displays and functions correctly on mobile devices, and is optimized for mobile search queries.
  5. Check site structure and internal linking: analyze the structure of the site and its internal linking to ensure ease of navigation for both users and search engine robots.
  6. Check the presence and optimization of meta tags: make sure that relevant meta tags (title, description, keywords) are present on every page of the site, and optimize them for keywords and phrases.
  7. Site security check: analyze the presence of protection against hacking, check the presence of SSL certificate, eliminate vulnerabilities and prevent malicious attacks.
  8. HTML code and structure analysis: checking the correctness of HTML code markup, correcting errors and optimizing for better perception by search engines.
  9. Checking for 404 errors and redirects: identifying and fixing broken links, as well as setting up correct redirects to redirect visitors from outdated pages to up-to-date ones.
  10. External factors analysis: evaluation of the impact of external factors (e.g. backlinks) on the SEO performance of a website and suggesting measures to optimize them.

A technical SEO audit is an important step in optimizing a website that helps to increase its search visibility, improve user experience, and increase organic traffic.

Check - sheet of technical audit

To perform some audit items, access to Yandex Metrics, Google Analytics, Yandex Webmaster, Google Search Console are required.

In the report we show a few examples from the upload, and the full version of the upload (for example, the full list of pages with 404-response or the list of all pages with duplicate title) uploaded to Google Drive and give a link for review.

1. analyzing the availability of Yandex Webmaster

Quite often clients grant webmaster access to our account. Despite this, these sites are not displayed in the webmaster until we add them manually. If after adding manually you need to confirm the permissions, it is a client error (account permissions are not unshared).

Go to Webmaster https://webmaster.yandex.ru/ and find our site.

Checking for major errors:

Diagnostics in Webmaster

2. analyzing the availability of Google Search Console

Google Search Console

3. Checking Yandex Metrics and Google Analytics counters

"Yandex Metric" is a free Internet service of the company Yandex, designed to assess website traffic and analyze user behavior.

How to check:

  1. Manual.

Go to the main page of the site and look for "metrika" in the page code. The counter should be located in the body and be the only one.

Screenshot of the code with metrics
This is what the GA code looks like
  1. Using the browser extension - Wappalyzer.

The extension - Wappalyzer - shows the analytics systems installed on the site.

A screenshot of the Wappalyzer extension that shows all analytics systems

4. Checking the availability of the robots.txt file

How to check:

  1. Manual.

On the site, look for the file at domain.ru/robots.txt.

  1. Via webmaster - https://webmaster.yandex.ru/tools/robotstxt/.

Watching:

  • Whether it is customized for different User-Agent (*, Googlebot, Yandex, etc.)
  • Is there a sitemap link, is it working, is it at the end of robots.txt
  • Check through https://webmaster.yandex.ru/tools/robotstxt/ for obvious urls like cart, comparison, favorites, etc.
  • The "Host:" directive is no longer supported in the robots file
  • Check robots at subdomains, especially look at sitemap links, if any
  • Clean-param for Yandex is set up and pages with Get-param for Google and other search engines are closed for indexing

Add the current file type to the report, then write recommendations. In particular, we recommend adding Robots.txt and sitemap.xml to Yandex and Google Webmaster.

Example of a customized robots file

https://rozetka.com.ua/robots.txt

Example of a robots file

5. Check if sitemap.xml is available

How to check:

  1. Manual.
  2. Extension - SEO META in 1 CLICK.
  3. Screaming Frog.

What to look out for:

  • there should be no duplicates, broken and junk links in sitemap;
  • sitemap should contain all pages that are allowed to be indexed by search engines, both in CMS Core and in robots.txt;
  • sitemap should be updated by cron and automatically change parameters;
  • The sitemap should always be updated for search bots;
  • The site map should automatically add new url addresses of landing pages that are allowed to be indexed.

Find sitemap convenient way. Most often it is specified in robots. Sometimes it is located at domain.ru/sitemap.xml, but it is not necessary. You can see it through a plugin, such as SEO META in 1 CLICK:

SEO META in 1 CLICK shows the presence of sitemap.xml website map

If the sitemap is empty (or obviously has few links), we recommend setting up generation and updating the file.

In addition, we check the files through https://webmaster.yandex.ru/tools/sitemap/.

If at first glance it is not clear whether all links are in the sitemap, parse the site (you can do this in the next stages, when parsing will be needed for other purposes) and compare the number of 200 pages from parsing and the total number of pages from all sitemap files (do not forget that there may be several).

Analyzing the sitemap in https://webmaster.yandex.ru/tools/sitemap/

If the number is very different, most likely not all pages are in the sitemap or, on the contrary, there are a lot of extra pages in the sitemap. Describe the problem and recommend setting up correct generation and updating the file.

You can also copy addresses from all sitemaps and parse the response code. If somewhere the response code is 3xx or 4xx, we recommend removing such links from the sitemap.

You can get a list of urls from sitemap in Screaming Frog (URL List - load from Sitemap).

Click OK and parsing of pages in sitemap is performed

Parsing sitemap in Screaming Frog

6. Breadcrumbs

How to check:

Manual.

"Breadcrumbs" are a very useful element on the site, it is a kind of nesting menu. The user can easily understand what section he is in or quickly move to another.

"Breadcrumbs are also important for search engine robots. If the markup is composed well, "breadcrumbs" can appear in the rendition of Yandex and Google. Thanks to which the site snippet in the search engine looks more unique. The CTR of the snippets increases, respectively the site will get more conversions.

The "breadcrumb" view of Google search

7. Meta tags noindex, nofollow, canonical

How to check:

  1. Manual.
  2. The extension is Alaev SEO Tools.

Go to the category and filter pagination pages (option - look in the parsing results).

We look at how they have noindex, nofollow, canonical and whether they have them at all.

An example of an error in the filter canonical (in this case filter pagination pages are open to indexing and static weight transfer, as they contain index tag and follow attribute - we recommend to fix it):

Checking site indexation in Alaev SEO Tools extension

8. Tag

Tag is a tag placed in the HTML code of the page, which prohibits the Yandex search engine bot to index part of the text (contained within it). The noindex tag was introduced by Yandex on its own initiative, which until today is shared only by Rambler.

Google won't pay attention to it.

The rel="noindex" construct, which is quite common on the web, is a fallacy because it is not an attribute but a tag.

Using the noindex tag leads to the fact that site validation will contain a lot of errors in the code. The reason is the same: only Yandex is among those who understand the noindex tag. In addition, this tag is not standardized.

But there is still a way out. In order to exclude errors related to the use of this tag, there is a variant of its writing that suits absolutely everyone: . In this case, the tag will be recognized by Yandex, other search engines will not pay attention to it, and the code check will not perceive it as an error.

When used:

  • When you need to hide non-unique text content. The goal is to hide implicit duplicates on landing pages that are repeated. For example, a delivery block in a product card or a guarantee block.
  • Close the codes of various counters from the eyes of search engine robots.
  • Remove from indexing text that changes too often and adding it to the index is pointless.

9. Indexability of content on site pages

How to check:

Manually

We paste a piece of text from the page in quotes into Google. If the page is found, all is well. If the page is not found by the piece of text in quotes, it is necessary to check what prevents content indexing.

Searching for a passage of text in quotes in Google

10. Definition of the main mirror

How to check:

  1. Manual.
  2. Yandex Webmaster.
  3. Screaming Frog.

Mirrors are exact copies of a site that can be accessed at different URLs. Since two URLs usually have the same content available, search engines recognize them as mirrors and glue them together. The term "splicing" means that only one resource is involved in the search. Search engines can select the main domain or the main mirror automatically.

Determine the main mirror (it is usually visible during parsing and when viewing the output of Yandex for this domain). Specify what non-main mirrors have a site and whether they are set up redirect to the main one. To find out what domain is the main mirror of your site, you can in Yandex Webmaster. To do this, add to your account the necessary domains. Those of them, which the search engine already considers mirrors, will be grouped. The main mirror is always displayed in the first place. If you display only one domain, then you do not have mirrors.

If the site is already ranked and has traffic, you should choose the mirror that is ranked in the search engines as the main one.

There should be no doubles with index.php, index.htm, index.html, index.asp, with slash / or without slash /.

11. secure site protocol

How to check:

Manual.

HTTPS (HyperText Transfer Protocol Secure) is a secure HTTP protocol to protect data transmission. Data is encrypted using SSL/TLS.

12. availability of technical duplicates

How to check:

Screaming Frog.

  • Parsing the site with a handy program and making uploads: duplicate titles, duplicate descriptions, empty titles and empty descriptions.
  • We give links to uploads (we put them in separate tables on Google Drive).
  • Here are some examples of why duplicates occurred (e.g. in product cards titles are not generated by product name).
  • Giving recommendations on how to fix it.

Duplicates and missing titles in the Screaming Frog program

Duplicates and missing descriptives in Screaming Frog program

Duplicate and missing h1 headings in the Screaming Frog program

13. Analyzing subdomains of the site

How to check:

  1. Manual.
  2. Screaming Frog.

The presence of regional subdomains is a signal to search engines about the reliability of the company, so it is recommended to expand the business to several regions and create regional subdomains if possible.

List the subdomains found. See if they have unique sitemap, robots, meta tags, contacts, seo-texts and other information that could be duplicated.

14. Spam blocks in HTML

How to check:

Manual.

Check for presence, and if there is any, we recommend removing it.
For example, code repetition.

15. Spammy hidden text blocks

How to check

Manual.

More about hidden text: https://yandex.ru/support/webmaster/threats/hiddentext.html

Check for presence, if any, recommend removal.

16. Broken links

How to check

Screaming Frog.

A broken link is a link to a non-existent page, document or image. Clicking on a broken link, the user, in the best case, sees a message that the page was not found. In the worst case - a service page of the server.

Make a report in Screaming Frog, give a link to the upload. Give recommendations on how to fix it.

Unloading broken links from Screaming Frog

17. Links to pages with 301 redirects

How to check

Screaming Frog.

Redirect links are links that lead to pages where the user will be redirected from another page on the site. This is important to fix as such links can degrade user experience, slow down page load times and reduce the relevance of content to search engines.

Unloading links with 301 redirect from Screaming Frog

18. Micropatterning

How to check:

  1. https://validator.schema.org/.
  2. https://search.google.com/test/rich-results.
  3. https://webmaster.yandex.ru/tools/microtest/.
  4. https://search.google.com/search-console.

Schema.org is a standard for semantic markup of data on the web, supported by Google, Bing, Yandex, and Yahoo!

The purpose of semantic markup is to make the Internet more understandable, structured, and to make it easier for search engines and special programs to extract and process information for convenient presentation in search results.

Screen of micro-partitioning check in the service https://validator.schema.org/
Screenshot of micro-partitioning check in the service https://search.google.com/test/rich-results.

19. Correctness of 404 code

How to check:

Service - bertal.ru.

Non-existing pages should give a 404 code and have an appropriate appearance.

Screenshot of the response code check in the service

20. Correctness of 200 code

How to check:

Service - bertal.ru.

Check, if there are problems indicate where and recommend fixes.

Screenshot of the response code check in the service

21. Server Response Speed/Cache Utilization/Image Optimization

Site loading speed is a very important indicator of its performance. The faster the site loads - the more time the user will be able to spend on the resource and view it more deeply.

Also this indicator is of interest to search engines Google and Yandex - it is one of the key ranking factors in the search engine. Each search engine robot has a certain time to index one site. The faster the site will respond to it, the more pages it will be able to index in one pass. If the site responds slowly, the robot will decide that it is overloaded and will leave it.

Useful Services:

Screens of page load speed test in https://pagespeed.web.dev/.

First content rendering (FCP) and first input delay (FID) are important speed metrics for Google in 2021. Read more in the official help

Core Web Vitals:

First content rendering (FCP) - the time it takes to load the first content on a site (search box, snippet, block of text, or image).

Indicators:

  • high speed - less than 1 s;
  • average speed - 1 to 2.5 s;
  • low speed - more than 2.5 s.

First Input Delay (FID) - the period of time from the user's first interaction with the site (clicking a link, button, etc.) to the browser's response to that interaction.

Indicators:

  • high speed - less than 50 ms;
  • average speed - 50 to 250 ms;
  • low speed - more than 250 ms.

Core Content Loading Speed (LCP) - It marks the point on the page load timeline when the page's core content is likely to have loaded. A fast LCP helps convince the user of the page's usefulness.

To ensure good user interaction, sites should aim for an LCP of 2.5 seconds or less.

Cumulative Layout Change (CLS) is a stable Core Web Vital metric. It is an important user-centric metric for measuring visual stability because it helps quantify how often users experience unexpected layout changes.

Interaction with Next Draw (INP) is an expected Core Web Vital metric that will replace First Input Delay (FID) on March 12, 2024. INP evaluates responsiveness using data from the event synchronization API.

Time to First Byte (TTFB) is a metric for measuring connection setup time and web server responsiveness . It helps you determine when a web server is too slow to respond to requests. Good TTFB values are 0.8 seconds or less, and bad values are greater than 1.8 seconds.

22. Comparison of indices in different COPs

Use site:domain.com to compare the number of pages in the Yandex and Google indexes. If they are very different, we indicate this, look for reasons (e.g., a lot of duplicates in the index) and give appropriate recommendations.


23. HTML validity analysis

Validation of html is checking the code for errors and its correctness in general, to put it as simply as possible. Such a check can be performed with the help of almost any html validator, e.g.https://validator.w3.org/.

We analyze the template pages of the site (main page, category, subcategory, service page (eg. shipping), blog, blog article, shopping cart, etc.).

24. Alt at images

Unlike the title attribute, the filled alt attribute of images is more essential for search engine promotion. It is readily indexed by search engine bots and used by them to determine the content of detected images. This is important both to improve the relevance of the site pages, and to attract additional traffic from "Search by Images". Therefore, you should remember that by not filling in the alt attribute of images, you deprive your web resource of additional ranking points, which could well improve its position in the renditions of search engines.

Parsing the site and checking. If missing, recommend filling it in. Attach image upload without alt and pages where they are located.

Alt attribute:

  • should be meaningful and describe the picture;
  • consist of 3-5 words, but no more than 250 characters (it is difficult to describe a picture in two words);
  • contain a key query where possible;
  • shouldn't be spammy.

25. Challenges of mobile adaptation

In metrics, we're looking at mobile bounce rates. We also just test the mobile version.

Indicate errors found, recommend corrections.

26. Language versions

If the site has language versions, you need to check them for adequacy:

  • as implemented (subfolders/subdomains);
  • whether the content on the main version and the language version are the same;
  • is there a site map for the language version;
  • whether the language version is open for indexing;
  • rel="alternate" and hreflang.

Subscribe to our blog and telegame channel to stay up to date with SEO tips.

6 responses to “Checklist for technical SEO audit of a website”

  1. Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?

  2. Your point of view caught my eye and was very interesting. Thanks. I have a question for you. https://www.binance.com/da-DK/register?ref=V3MG69RO

  3. I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.

  4. Your article helped me a lot, is there any more related content? Thanks! https://www.binance.info/register?ref=IXBIAFVY

  5. Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me? https://www.binance.info/register?ref=IHJUI7TF

  6. Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?

Leave a Reply

Your email address will not be published. Required fields are marked *