| 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 | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Item Name | Description | How to Audit | Status | Notes/Findings | |||||||||||||||||||||
2 | Is your main/important content visible without JavaScript? | We want to make sure that our content is visible to search engines without relying on JavaScript. Ideally all the content on the page should be visible to search engines without JS. | Use the Web Developer Chrome Extension and disable Javascript. Refresh and page and see if all the content on the page is visible. Check top navigation links too and internal links. Do this on different page types. Example: homepage, a product page, and a blog page. If important page content is not visible with JS disabled, mark this item as fail. | Not Audited | ||||||||||||||||||||||
3 | Are you using src-data attribute to lazy load images instead of src? | We need to make sure that all images have a "src" attribute as without having the "src" attribute, google may not be able to access and index those images. | Select few pages of different types. Example: homepage, a product page, a blog page. Use control+find to look for "src-data" attributes in the code. If images are using "src-data" attribute, mark this item as fail. | Not Audited | ||||||||||||||||||||||
4 | Are we using infinite scroll? | If your website is using infinite scroll, know that Google does not scroll through pages, as Google does not behave the same way as users on a page. This means that using infinite scroll can cause indexation issues as some URLs will not be discovered and therefore crawled by Google. | Find pages that are utilizing infinite scroll. Scroll to the very bottom of the page to trigger more content to load. Once more content is loaded, look at the URL bar at the top, did the URL change with something like ?page=2 If not mark this audit item as fail. | Not Audited | ||||||||||||||||||||||
5 | Are we creating fragmented URLs? | Using fragment URLs to show content that is not on the page will not work with Googlebot. Js Frameworks like Angular and Vue generate URLs with a hash (#) and Google ignores those URLs. | Crawl the website using a crawler like Screaming Frog. Search the URLs for #. Are these URLs used as jump links like the ones in table of content? or are they used to load different content than what is on the page? if so mark this item as fail. | Not Audited | ||||||||||||||||||||||
6 | Are we blocking JavaScript files in robots.txt | If Google cannot access your JavaScript files, it will not be able to render the content of your website correctly. | Go to robots.txt and manually inspect what items are blocked. You can also talk to your developer directly as they are more likely to know the answer to this question. If JS files are blocked in robots.txt mark this item as fail. | Not Audited | ||||||||||||||||||||||
7 | Are we using JavaScript redirects? | Google does not recommend using JS redirects as other search engines may not pick it up. | Crawl the website using screaming frog, and then go to the response codes tab and select redirection (Javascript) from the drop down menu. If there are JavaScript redirects, test those URLs in the GSC inspect tool to see if the redirect is picked up or not. If the redirects are not picked up correctly, mark this item as failed. | Not Audited | ||||||||||||||||||||||
8 | Ensure server-side rendering (SSR) for important pages | If possible, use SSR to make content easily crawlable by search engines, especially for high-value pages. | Check the source code to see if content loads without JavaScript, or use tools like Google’s Mobile-Friendly Test. | Not Audited | ||||||||||||||||||||||
9 | Validate the page title and meta description rendering | Ensure that page titles and meta descriptions are dynamically generated on the client side and visible to search engines. | Use 'Inspect Element' or 'View Source' to check if meta data is present in the initial HTML or inspect with a crawler. | Not Audited | ||||||||||||||||||||||
10 | Check for lazy-loading issues with key images or content | Lazy-loading should not prevent essential images or content from appearing in initial page load for SEO. | Simulate a slow network and ensure images are loaded in a way accessible to crawlers. Also use the Web Developer tools. | Not Audited | ||||||||||||||||||||||
11 | Examine structured data rendering | Ensure structured data (e.g., Schema.org JSON-LD) is correctly rendered for search engines when using JavaScript. | Use Google's Structured Data Testing Tool to validate schema markup on dynamically rendered content. | Not Audited | ||||||||||||||||||||||
12 | Verify navigation links are crawlable | Ensure that navigation links are HTML-based, allowing crawlers to discover all site pages without JavaScript interactions. | Check the HTML source code or use a crawler like Screaming Frog to confirm all links are in the HTML. | Not Audited | ||||||||||||||||||||||
13 | Assess page speed impacts of JavaScript | Ensure that JavaScript does not heavily impact page speed, as this can affect both user experience and SEO. | Use tools like Google PageSpeed Insights to analyze JavaScript performance and review suggestions. | Not Audited | ||||||||||||||||||||||
14 | Check for mobile-friendliness | Ensure JavaScript does not interfere with the mobile-friendliness of the website, impacting SEO on mobile devices. | Use Google's Mobile-Friendly Test to verify mobile usability with JavaScript enabled. | Not Audited | ||||||||||||||||||||||
15 | Ensure content loads fully with minimal scrolling | Avoid requiring excessive scrolling to load key content, as it can hinder visibility in search engine results. | Manually review or use a crawler to ensure that primary content is accessible without extended scrolling. | Not Audited | ||||||||||||||||||||||
16 | ||||||||||||||||||||||||||
17 | ||||||||||||||||||||||||||
18 | ||||||||||||||||||||||||||
19 | ||||||||||||||||||||||||||
20 | ||||||||||||||||||||||||||
21 | ||||||||||||||||||||||||||
22 | ||||||||||||||||||||||||||
23 | ||||||||||||||||||||||||||
24 | ||||||||||||||||||||||||||
25 | ||||||||||||||||||||||||||
26 | ||||||||||||||||||||||||||
27 | ||||||||||||||||||||||||||
28 | ||||||||||||||||||||||||||
29 | ||||||||||||||||||||||||||
30 | ||||||||||||||||||||||||||
31 | ||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||
35 | ||||||||||||||||||||||||||
36 | ||||||||||||||||||||||||||
37 | ||||||||||||||||||||||||||
38 | ||||||||||||||||||||||||||
39 | ||||||||||||||||||||||||||
40 | ||||||||||||||||||||||||||
41 | ||||||||||||||||||||||||||
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 |