| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Issue | Pass/Fail | Helpful Resource | Notes | |||||||||||||||||||||
2 | Technical | If fail, send to devs to fix issues. | |||||||||||||||||||||||
3 | Google Analytics installed | Pass | https://yourblogworks.com/know-google-analytics-installed-blog/ | The blog post shows how to check if GA is set up, but if you can log in and see traffic, it is. This doesn't count against dev time. | |||||||||||||||||||||
4 | Bing Webmaster Tools set up | Pass | |||||||||||||||||||||||
5 | Google Search Console set up | Pass | https://search.google.com/search-console/about | Log in and see if the client has this set up. This doesn't count against dev time. | |||||||||||||||||||||
6 | robot.txt | Pass | https://seositecheckup.com/tools/robotstxt-test | Check that the robot.txt file is on the site properly. | |||||||||||||||||||||
7 | XML Sitemap(s) | Pass | https://support.google.com/webmasters/answer/7451001?hl=en | Submitted to GSC, up to date, and only containing canonicalised 200-status URLs. | |||||||||||||||||||||
8 | Indexing | Pass | https://www.screamingfrog.co.uk/seo-spider/ | Run a crawl in Screamingfrog to check indexability. See which pages aren't being indexed. You can also find these in SEMRush. Also check indexing in Google Search Console. Check that pages that aren't supposed to be indexed, aren't. | |||||||||||||||||||||
9 | Crawling Budget | Pass | |||||||||||||||||||||||
10 | Metadata | Pass | https://marketbrew.ai/meta-tags-and-metadata-for-seo-the-essential-guide | Make sure the metadata is properly tagged for SEO standards. Title tags, meta description, image tags, and check for proper H tag structure. | |||||||||||||||||||||
11 | Core web vitals | Pass | https://search.google.com/search-console/about | You can check this in the PageSpeed insights tool, but you can also log in and check by the individual page in Google Search Console. | |||||||||||||||||||||
12 | Plugins | Pass | https://pagespeed.web.dev/ | Look for plugin overload in "Reduce JavaScript execution time". This doesn't count against dev time. | |||||||||||||||||||||
13 | Website has good user interface and user experience | Pass | https://uxdesign.cc/how-to-evaluate-designs-cheat-sheet-for-design-critiques-and-your-own-designs-f339a2d0fa11 | Make sure the client's website follows the rules in this blog post. | |||||||||||||||||||||
14 | Website is mobile friendly | Pass | https://search.google.com/test/mobile-friendly | Make sure the client's website follows the rules in this blog post. | |||||||||||||||||||||
15 | Website popups or ads are mobile friendly | Pass | https://www.optimonk.com/ux-design-tips-popups-to-improve-user-experience/ | Make sure the client's website follows the rules in this blog post. | |||||||||||||||||||||
16 | Only one version of site is indexable | Pass | https://www.theedigital.com/blog/website-multiple-site-versions-using-right-one | Check for the http://, https://, and http://www., and https://www. variants of the site using a site: search. | |||||||||||||||||||||
17 | Images lazy load | Pass | https://pagespeed.web.dev/ | Test 3 random pages on the website to make sure images lazy load. | |||||||||||||||||||||
18 | Images are .webp or JPEG file types | Pass | https://imagify.io/documentation/how-to-check-if-webp-image-is-displayed-on-your-site/ | Test 3 random pages on the website to make sure images are the .webp file type | |||||||||||||||||||||
19 | Images are properly sized for fastest load times | Pass | https://pagespeed.web.dev/ | Check for "Image elements do not have explicit width and height" | |||||||||||||||||||||
20 | Videos lazy load | Pass | https://web.dev/lazy-loading-video/ | If the website has videos, check to see if they lazy load. Especially embeds. | |||||||||||||||||||||
21 | Structure – No pages should be more than 3 clicks deep into the website. | Pass | https://en.wikipedia.org/wiki/Three-click_rule | Run a SEMRush or Ahrefs audit to look for any website structure issues. The site should pass with 90+ Health Score to be considered a pass here. | |||||||||||||||||||||
22 | Internal Links and Redirects/Redirect Chains | Pass | https://yoast.com/internal-linking-for-seo-why-and-how/ | Make sure the internal links on the website aren't HTTP or 301 redirects and that the internal linking structure of the website is good. Check for redirect chains. | |||||||||||||||||||||
23 | Schema/Structured Data | Pass | https://www.semrush.com/news/270269-site-audit-structured-data/ | Rich results, products, articles, breadcrumbs, FAQs, etc. | |||||||||||||||||||||
24 | Site uses proper HTTPS | Pass | https://www.keyfactor.com/resources/how-to-check-ssl-certificate/#:~:text=The%20easiest%20way%20to%20know,the%20site's%20SSL%20certificate%20details. | Check that the site uses HTTPS. Make sure no HTTP resources are loaded on HTTPS pages. | |||||||||||||||||||||
25 | Site supports HSTS | Pass | https://www.namecheap.com/support/knowledgebase/article.aspx/9711/38/how-to-check-if-hsts-is-enabled/ | Check that the site supports HSTS: https://domsignal.com/hsts-test | |||||||||||||||||||||
26 | Canonical | Pass | https://ahrefs.com/blog/canonical-tags/ | Check that the site makes proper use of canonical tags. | |||||||||||||||||||||
27 | Hreflang | Pass | https://www.screamingfrog.co.uk/seo-spider/tutorials/how-to-audit-hreflang/ | Check that hreflang is appropriately used for international seo | |||||||||||||||||||||
28 | International SEO | Pass | https://backlinko.com/international-seo | Consistency of language/country targeting. | |||||||||||||||||||||
29 | No hacked content, malware, or other security issues | Pass | https://www.webfx.com/blog/web-design/is-my-site-hacked/ | Go through this list of hacks and make sure the site doesn't have any of them. | |||||||||||||||||||||
30 | Hosting | Pass | https://hostingchecker.com/ | It should be on AWS or equivalent in terms of speed. For local, it's best to get on a server closest to their geographic location. | |||||||||||||||||||||
31 | CDN | Pass | https://seositecheckup.com/seo-audit/cdn-usage-test/ | It should be on AWS or equivalent in terms of speed. | |||||||||||||||||||||
32 | Browser Caching | Pass | https://www.ghacks.net/2014/08/11/find-out-if-websites-get-loaded-from-cache-and-how-to-force-reloads/ | Make sure their site is leveraging browser cacheing. Use this tool: https://cache-checker.com/ | |||||||||||||||||||||
33 | Repetitive or inefficient code (ex. inline code) | Pass | https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements | Check for weird things in the HTML. Inline is a good thing to spot. | |||||||||||||||||||||
34 | Orphan pages | Pass | https://analytics.google.com/analytics/ | These are pages that are useless and get no traffic from any source. | |||||||||||||||||||||
35 | Faceted Navigation / Parameter Handling | Pass | https://developers.google.com/search/docs/crawling-indexing/crawling-managing-faceted-navigation | Check for crawl traps and set proper canonical or noindex rules. | |||||||||||||||||||||
36 | Pagination | Pass | https://developers.google.com/search/docs/specialty/ecommerce/pagination-and-incremental-page-loading | Make sure site uses pagination in best practices. | |||||||||||||||||||||
37 | Thin / Duplicate Content | Pass | https://www.screamingfrog.co.uk/seo-spider/tutorials/how-to-check-for-duplicate-content/ | Check for duplicate content and if it's a problem. | |||||||||||||||||||||
38 | JavaScript Rendering | Pass | https://www.semrush.com/blog/js-rendering/ | Ensure search engines can render key content (test with “fetch & render” or mobile-friendly test). | |||||||||||||||||||||
39 | Subresource Integrity (SRI) | Pass | https://www.inmotionhosting.com/support/security/subresource-integrity-sri/ | For JS/CSS imports where possible. | |||||||||||||||||||||
40 | GDPR / Cookie Compliance | Pass | https://insites.com/resources/free-website-gdpr-audit | If targeting EU audiences. | |||||||||||||||||||||
41 | Server Response Codes | Pass | https://ahrefs.com/blog/http-status-codes/ | Check response codes in Ahrefs. | |||||||||||||||||||||
42 | |||||||||||||||||||||||||
43 | |||||||||||||||||||||||||
44 | |||||||||||||||||||||||||
45 | |||||||||||||||||||||||||
46 | |||||||||||||||||||||||||
47 | |||||||||||||||||||||||||
48 | |||||||||||||||||||||||||
49 | |||||||||||||||||||||||||
50 | |||||||||||||||||||||||||
51 | |||||||||||||||||||||||||
52 | |||||||||||||||||||||||||
53 | |||||||||||||||||||||||||
54 | |||||||||||||||||||||||||
55 | |||||||||||||||||||||||||
56 | |||||||||||||||||||||||||
57 | |||||||||||||||||||||||||
58 | |||||||||||||||||||||||||
59 | |||||||||||||||||||||||||
60 | |||||||||||||||||||||||||
61 | |||||||||||||||||||||||||
62 | |||||||||||||||||||||||||
63 | |||||||||||||||||||||||||
64 | |||||||||||||||||||||||||
65 | |||||||||||||||||||||||||
66 | |||||||||||||||||||||||||
67 | |||||||||||||||||||||||||
68 | |||||||||||||||||||||||||
69 | |||||||||||||||||||||||||
70 | |||||||||||||||||||||||||
71 | |||||||||||||||||||||||||
72 | |||||||||||||||||||||||||
73 | |||||||||||||||||||||||||
74 | |||||||||||||||||||||||||
75 | |||||||||||||||||||||||||
76 | |||||||||||||||||||||||||
77 | |||||||||||||||||||||||||
78 | |||||||||||||||||||||||||
79 | |||||||||||||||||||||||||
80 | |||||||||||||||||||||||||
81 | |||||||||||||||||||||||||
82 | |||||||||||||||||||||||||
83 | |||||||||||||||||||||||||
84 | |||||||||||||||||||||||||
85 | |||||||||||||||||||||||||
86 | |||||||||||||||||||||||||
87 | |||||||||||||||||||||||||
88 | |||||||||||||||||||||||||
89 | |||||||||||||||||||||||||
90 | |||||||||||||||||||||||||
91 | |||||||||||||||||||||||||
92 | |||||||||||||||||||||||||
93 | |||||||||||||||||||||||||
94 | |||||||||||||||||||||||||
95 | |||||||||||||||||||||||||
96 | |||||||||||||||||||||||||
97 | |||||||||||||||||||||||||
98 | |||||||||||||||||||||||||
99 | |||||||||||||||||||||||||
100 |