A | B | C | D | E | F | G | H | |
---|---|---|---|---|---|---|---|---|
1 | Site Audit | |||||||
2 | Client | [NAME] | Date | [DATE] | ||||
3 | CMS | [Contentful/Drupal/WordPress] | Version | [VERSION] | ||||
4 | Status | Category | Task | LOE | Risk Level | Notes | ||
5 | Failed | Example | Does the thingy work with the thingy? | High | Critical | It looks like the config file is wrong, and points to X. | ||
6 | Passed | Example | Does the thingy work with the thingy? | N/A | N/A | It looks like the config file is wrong, and points to X. | ||
7 | Failed | Example | Does the thingy work with the thingy? | Medium | Low | It looks like the config file is wrong, and points to X. | ||
8 | Not Checked | Content Modeling | Reusable 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 Checked | Content Modeling | Is the page building content model flexible? | |||||
10 | Not Checked | Content Modeling | Minimize singletons (content types with only one instance) | |||||
11 | Not Checked | Content Modeling | Fields should have proper validations (e.g. Titles on Blog Posts should be required.) | |||||
12 | Not Checked | Content Modeling | Content types and Fields should have descriptive names, descriptions, and/or help text | |||||
13 | Not Checked | Content Modeling | Fields 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 Checked | Content Modeling | Does Content have admin titles so that it can be easily identified? | |||||
15 | Not Checked | Content Modeling | Are wysiwy fields being leveraged to control formatting and content? | |||||
16 | Not Checked | Accessibility | Are there any glaring Accessibility issues | |||||
17 | Not Checked | SEO | Does every page have proper metatags? (E.g. facebook og tags and twitter tags) | |||||
18 | Not Checked | SEO | Structured data properly setup | |||||
19 | Not Checked | SEO | Is there a robots.txt? | |||||
20 | Not Checked | SEO | Is there a sitemap? | |||||
21 | Not Checked | SEO | Are there any issues in search console that need addressing? | |||||
22 | Not Checked | Security | Is the site loaded over SSL? | |||||
23 | Not Checked | Security | Are there admin-only routes? If so, are they secure? | |||||
24 | Not Checked | Security | Are there custom roles and permissions? Are they being used properly? | |||||
25 | Not Checked | Security | Are 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 Checked | UI/UX | Is there a favicon on every page? | |||||
27 | Not Checked | UI/UX | Is there a custom 404 page? | |||||
28 | Not Checked | UI/UX | Is the site mobile responsive? | |||||
29 | Not Checked | Development Workflow | Should use a separate Contentful Space for "sandbox" testing | |||||
30 | Not Checked | Development Workflow | CI & CD Sequencing? List providers and events if documentation doesn't outline | |||||
31 | Not Checked | Development Workflow | CI & CD Build times | |||||
32 | Not Checked | Development Workflow | incremental builds enabled on static host? | |||||
33 | Not Checked | Development Workflow | Offline capabilty turn on? | |||||
34 | Not Checked | Development Workflow | Gatsby content preview | |||||
35 | Not Checked | Development Workflow | Code linting, code formatting? | |||||
36 | Not Checked | Hosting | Are good logs being kept? | |||||
37 | Not Checked | Hosting | Is there a backup of the Contentful Space? Is content backed up regularly? | |||||
38 | Not Checked | Hosting | Are there any functions being abstracted into custom APIs? ie Lambda, Netlify functions, etc | |||||
39 | Not Checked | Performance | Lighthouse audit | |||||
40 | Not Checked | Performance | Code quality and organization | |||||
41 | Not Checked | Performance / Static Assets | Are 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 Checked | Performance / Static Assets | Are images using gatsby-image to optimize performance? | |||||
43 | Not Checked | Performance / Static Assets | Are images being blurred on load or other lazy-loading? | |||||
44 | Not Checked | Performance / Static Assets | Are images optimized for device viewport size? E.g. are images sizes too large? | |||||
45 | Not Checked | Performance / Caching | Are files being cached properly? | |||||
46 | Not Checked | Performance / Caching | A 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 Checked | GraphQL Queries | Are we using static queries where appropriate? | |||||
48 | Not Checked | GraphQL Queries | Are queries properly scoped (i.e. only fetching needed data)? Is filtering done in GraphQL instead of javascript? | |||||
49 | Not Checked | GraphQL Queries | Are queries named descriptively? | |||||
50 | Not Checked | Git Repo | Are developers using proper git flow, including feature branches? | |||||
51 | Not Checked | Git Repo | Are developers writing descriptive commit messages? | |||||
52 | Not Checked | Code | Review 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 Checked | Code | Check for security patches, updates, deprecated libraries. | |||||
54 | Not Checked | Code | Review use of Gatsby Plugins. Are Gatsby plugins being used instead of non-Gatsby-specific libraries or custom code? | |||||
55 | Not Checked | Code | Does the site use a Gatsby theme and should it? | |||||
56 | Not Checked | Code | Are routes hardcoded? createPages? GRAPHQL? | |||||
57 | Not Checked | Code | Are there any unused variables? | |||||
58 | Not Checked | Code | 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 Checked | Code | Are errors handled gracefully? | |||||
60 | Not Checked | Code | GTM scripts addition? | |||||
61 | Not Checked | Code | Hardcoded strings / text | |||||
62 | Not Checked | Code | Is there typechecking with PropTypes or TypeScript? | |||||
63 | Not Checked | Code / Styles | How is styling handled? Global css, module stylesheets, or css-in-js? Is the approach consistent throughout the site? | |||||
64 | Not Checked | Code / Styles | How is screen-responsiveness handled? Conditional rendering, css media queries? Is the approach consistent throughout the site? | |||||
65 | Not Checked | Code / Styles | Is a Layout component being used? | |||||
66 | Not Checked | Code / Styles | Does the site use rem for spacing instead of pixels? Is there consistent usage of px vs rem? | |||||
67 | Not Checked | Code / React | Are React components properly scoped? Does each component do one basic thing? | |||||
68 | Not Checked | Code / React | Are React components reused often throughout the code? | |||||
69 | Not Checked | Code / React | Are React components organized within the folder structure? | |||||
70 | Not Checked | Code / React | Is there excessive nesting in the React components folder structure? | |||||
71 | Not Checked | Code / React | Do components have consistent levels of nesting? E.g. /src/components/button.js vs /src/components/Button/index.js | |||||
72 | Not Checked | Code / React | Each child in a list should have a unique "key" prop. | |||||
73 | Not Checked | Code / Accessibility | Are empty fields being rendered? | |||||
74 | Not Checked | Custom Config | Check for custom babel.js config | |||||
75 | Not Checked | Custom Config | Check for custom webpack config (should not be needed for most Gatsby sites). | |||||
76 | Not Checked | Custom Config | API keys, tokens, etc storage | |||||
77 | Not Checked | Custom Config | CMS/Ecommernce integration/connections (plugin, custom, etc) | |||||
78 | Not Checked | Documentation | Styled components organization (ie: Storybook) | |||||
79 | Not Checked | Documentation | Is the styled component explorer up-to-date? | |||||
80 | Not Checked | Documentation | Is the project README cohesive and up-to-date? E.g. Can you easily set up a local environment by following the instructions? | |||||
81 | Not Checked | Documentation | Are there any additional documentations, charts, data visualizations or training materials? | |||||
82 | Not Checked | Documentation | Is there automated testing (ie: Cypress) | |||||
83 | Not Checked | Documentation | Content model is visualized |