ABCDEFGH
1
Site Audit
2
Client[NAME]Date[DATE]
3
CMS[Contentful/Drupal/WordPress]Version[VERSION]
4
StatusCategoryTaskLOERisk LevelNotes
5
FailedExampleDoes the thingy work with the thingy?HighCriticalIt looks like the config file is wrong, and points to X.
6
PassedExampleDoes the thingy work with the thingy?N/AN/AIt looks like the config file is wrong, and points to X.
7
FailedExampleDoes the thingy work with the thingy?MediumLowIt looks like the config file is wrong, and points to X.
8
Not CheckedContent ModelingReusable content should have its own content type and be referenced in other content types. E.g. Author content type instead of author field on Blog Post.
9
Not CheckedContent ModelingIs the page building content model flexible?
10
Not CheckedContent ModelingMinimize singletons (content types with only one instance)
11
Not CheckedContent ModelingFields should have proper validations (e.g. Titles on Blog Posts should be required.)
12
Not CheckedContent ModelingContent types and Fields should have descriptive names, descriptions, and/or help text
13
Not CheckedContent ModelingFields should have proper 'Appearance', e.g. text vs url vs dropdown. See https://www.contentful.com/help/content-modelling-basics/#the-appearance-tab
14
Not CheckedContent ModelingDoes Content have admin titles so that it can be easily identified?
15
Not CheckedContent ModelingAre wysiwy fields being leveraged to control formatting and content?
16
Not CheckedAccessibilityAre there any glaring Accessibility issues
17
Not CheckedSEODoes every page have proper metatags? (E.g. facebook og tags and twitter tags)
18
Not CheckedSEOStructured data properly setup
19
Not CheckedSEOIs there a robots.txt?
20
Not CheckedSEOIs there a sitemap?
21
Not CheckedSEOAre there any issues in search console that need addressing?
22
Not CheckedSecurityIs the site loaded over SSL?
23
Not CheckedSecurityAre there admin-only routes? If so, are they secure?
24
Not CheckedSecurityAre there custom roles and permissions? Are they being used properly?
25
Not CheckedSecurityAre forms protected from spam? (see https://www.netlify.com/blog/2018/06/28/5-pro-tips-and-plugins-for-optimizing-your-gatsby-netlify-site/)
26
Not CheckedUI/UXIs there a favicon on every page?
27
Not CheckedUI/UXIs there a custom 404 page?
28
Not CheckedUI/UXIs the site mobile responsive?
29
Not CheckedDevelopment WorkflowShould use a separate Contentful Space for "sandbox" testing
30
Not CheckedDevelopment WorkflowCI & CD Sequencing? List providers and events if documentation doesn't outline
31
Not CheckedDevelopment WorkflowCI & CD Build times
32
Not CheckedDevelopment Workflowincremental builds enabled on static host?
33
Not CheckedDevelopment WorkflowOffline capabilty turn on?
34
Not CheckedDevelopment WorkflowGatsby content preview
35
Not CheckedDevelopment WorkflowCode linting, code formatting?
36
Not CheckedHostingAre good logs being kept?
37
Not CheckedHostingIs there a backup of the Contentful Space? Is content backed up regularly?
38
Not CheckedHostingAre there any functions being abstracted into custom APIs? ie Lambda, Netlify functions, etc
39
Not CheckedPerformanceLighthouse audit
40
Not CheckedPerformanceCode quality and organization
41
Not CheckedPerformance / Static AssetsAre assets (e.g. images) being imported with Webpack (preferred) or a static folder (not preferred)? See https://www.gatsbyjs.org/docs/importing-assets-into-files/
42
Not CheckedPerformance / Static AssetsAre images using gatsby-image to optimize performance?
43
Not CheckedPerformance / Static AssetsAre images being blurred on load or other lazy-loading?
44
Not CheckedPerformance / Static AssetsAre images optimized for device viewport size? E.g. are images sizes too large?
45
Not CheckedPerformance / CachingAre files being cached properly?
46
Not CheckedPerformance / CachingA general best practice is to add a Cache-Control header when fetching the service worker file, explicitly telling the browser not to cache it. (https://www.netlify.com/blog/2018/06/28/5-pro-tips-and-plugins-for-optimizing-your-gatsby-netlify-site/)
47
Not CheckedGraphQL QueriesAre we using static queries where appropriate?
48
Not CheckedGraphQL QueriesAre queries properly scoped (i.e. only fetching needed data)? Is filtering done in GraphQL instead of javascript?
49
Not CheckedGraphQL QueriesAre queries named descriptively?
50
Not CheckedGit RepoAre developers using proper git flow, including feature branches?
51
Not CheckedGit RepoAre developers writing descriptive commit messages?
52
Not CheckedCodeReview dependencies. Go through the package.json and look at each dependency added there. Is it clear why these are needed? Are there other libraries that might be more maintained or stable that should be considered instead?
53
Not CheckedCodeCheck for security patches, updates, deprecated libraries.
54
Not CheckedCodeReview use of Gatsby Plugins. Are Gatsby plugins being used instead of non-Gatsby-specific libraries or custom code?
55
Not CheckedCodeDoes the site use a Gatsby theme and should it?
56
Not CheckedCodeAre routes hardcoded? createPages? GRAPHQL?
57
Not CheckedCodeAre there any unused variables?
58
Not CheckedCode Are we using static queries where appropriate? (By using StaticQuery, you can colocate a component with its data. It is no longer required to, say, pass data down from Layout to Header.)
59
Not CheckedCodeAre errors handled gracefully?
60
Not CheckedCodeGTM scripts addition?
61
Not CheckedCodeHardcoded strings / text
62
Not CheckedCodeIs there typechecking with PropTypes or TypeScript?
63
Not CheckedCode / StylesHow is styling handled? Global css, module stylesheets, or css-in-js? Is the approach consistent throughout the site?
64
Not CheckedCode / StylesHow is screen-responsiveness handled? Conditional rendering, css media queries? Is the approach consistent throughout the site?
65
Not CheckedCode / StylesIs a Layout component being used?
66
Not CheckedCode / StylesDoes the site use rem for spacing instead of pixels? Is there consistent usage of px vs rem?
67
Not CheckedCode / ReactAre React components properly scoped? Does each component do one basic thing?
68
Not CheckedCode / ReactAre React components reused often throughout the code?
69
Not CheckedCode / ReactAre React components organized within the folder structure?
70
Not CheckedCode / ReactIs there excessive nesting in the React components folder structure?
71
Not CheckedCode / ReactDo components have consistent levels of nesting? E.g. /src/components/button.js vs /src/components/Button/index.js
72
Not CheckedCode / ReactEach child in a list should have a unique "key" prop.
73
Not CheckedCode / AccessibilityAre empty fields being rendered?
74
Not CheckedCustom ConfigCheck for custom babel.js config
75
Not CheckedCustom ConfigCheck for custom webpack config (should not be needed for most Gatsby sites).
76
Not CheckedCustom ConfigAPI keys, tokens, etc storage
77
Not CheckedCustom ConfigCMS/Ecommernce integration/connections (plugin, custom, etc)
78
Not CheckedDocumentationStyled components organization (ie: Storybook)
79
Not CheckedDocumentationIs the styled component explorer up-to-date?
80
Not CheckedDocumentationIs the project README cohesive and up-to-date? E.g. Can you easily set up a local environment by following the instructions?
81
Not CheckedDocumentationAre there any additional documentations, charts, data visualizations or training materials?
82
Not CheckedDocumentationIs there automated testing (ie: Cypress)
83
Not CheckedDocumentationContent model is visualized