{"id":13556395,"url":"https://github.com/datamade/site-launch-checklist","last_synced_at":"2026-02-05T22:04:17.420Z","repository":{"id":36303155,"uuid":"40607757","full_name":"datamade/site-launch-checklist","owner":"datamade","description":":ballot_box_with_check: A checklist of miscellaneous tasks to do before launching a public website.","archived":false,"fork":false,"pushed_at":"2023-07-12T20:40:09.000Z","size":30,"stargazers_count":126,"open_issues_count":1,"forks_count":29,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-12-21T03:07:01.659Z","etag":null,"topics":["checklist","guide"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datamade.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-08-12T15:16:14.000Z","updated_at":"2025-12-09T13:14:59.000Z","dependencies_parsed_at":"2024-01-12T20:03:53.063Z","dependency_job_id":null,"html_url":"https://github.com/datamade/site-launch-checklist","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/datamade/site-launch-checklist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datamade%2Fsite-launch-checklist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datamade%2Fsite-launch-checklist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datamade%2Fsite-launch-checklist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datamade%2Fsite-launch-checklist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datamade","download_url":"https://codeload.github.com/datamade/site-launch-checklist/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datamade%2Fsite-launch-checklist/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29135941,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T21:59:57.939Z","status":"ssl_error","status_checked_at":"2026-02-05T21:59:57.628Z","response_time":65,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["checklist","guide"],"created_at":"2024-08-01T12:03:48.658Z","updated_at":"2026-02-05T22:04:17.402Z","avatar_url":"https://github.com/datamade.png","language":null,"funding_links":[],"categories":["Others","Checklist-like","others","\u003ca id=\"Web-Development\"\u003e\u003c/a\u003eWeb Development","🌐 Web Development - Frontend"],"sub_categories":["Software development","\u003ca id=\"Web-App\"\u003e\u003c/a\u003eWeb App"],"readme":"# 🚀 DataMade Site Launch Checklist\n_A checklist of tasks to do before launching a public website._\n\n## Usage\nLaunch preparation generally takes a day or more. You should also reserve a day for bugfixing after you have wrapped the last feature. Be sure to plan accordingly!\n\nOnce you're ready, make a new GitHub issue in your project called \"Launch Checklist\" and copy/paste the following:\n\n```\nFrom the [DataMade Site Launch Checklist](https://github.com/datamade/site-launch-checklist)\n\n## Load Testing and Website Optimization\n\nIf your site relies on a database or server-side code, you should load test and optimize the site for the level of traffic you anticipate. If you're launching a static site, you can skip this section.\n\n* [ ] Set up [caching](https://docs.djangoproject.com/en/stable/topics/cache/)\n* [ ] Run the site through Google's [PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights/)\n* [ ] Write a script to load test your site\n    - We like [Locust](https://docs.locust.io/en/stable/) for this. See [LA Metro Councilmatic](https://github.com/datamade/la-metro-councilmatic#load-testing) for a basic example.\n\nIf you're writing a Django application, [Django Debug Toolbar](https://django-debug-toolbar.readthedocs.io/en/latest/) is a great tool for identifying duplicated and/or sluggish queries.\n\n## Deployment and DNS\n\n* [ ] Create a production deployment\n* [ ] Double check that production-level resources have been provisioned\n* [ ] Purchase your domain and create the DNS record to point it at your production deployment\n* [ ] Set up SSL\n\n## Web Search Indexing\n\n* [ ] Create a [robots.txt](https://developer.mozilla.org/en-US/docs/Glossary/Robots.txt) file that disallows indexing of your staging site and allow indexing of your production site\n* [ ] Create a [sitemap.xml](https://en.wikipedia.org/wiki/Sitemaps) that lists all pages on your site that you want indexed\n* [ ] Redirect the www subdomain to your root domain\n* [ ] Set up [Google Search Console](https://search.google.com/search-console) and verify the site\n\n## Tracking Site Traffic and Analytics\n\n* [ ] Create a [Matomo](https://matomo.org/) account\n* [ ] [Add the Matomo script to your site](https://developer.matomo.org/guides/tracking-javascript-guide)\n\n## Accessibility\n\n* [ ] Overview - test all pages with a tool like [Axe DevTools](https://chrome.google.com/webstore/detail/axe-devtools-web-accessib/lhdoppojpmngadmnindnejefpokejbdd) or [Google Lighthouse](https://developers.google.com/web/tools/lighthouse/)\n* [ ] Keyboard - confirm all functionality works with a keyboard _only_. This includes logical focus order (typically left-right top-down) and no focus traps (except modals)\n* [ ] Screen Reader - test pages with a screen reader like [NVDA](https://www.nvaccess.org/download/) on Windows or [VoiceOver on Mac](https://support.apple.com/guide/voiceover/turn-voiceover-on-or-off-vo2682/mac), confirming that all content is clear, including:\n  * [ ] Confirm no repeat or unclear button titles (e.g. \"Click here\" or \"View more\")\n  * [ ] Confirm images have proper alt tags for their context (including `alt=\"\"` for decorative images)\n* [ ] Structure - Using [Accessibility Insights for Web](https://chrome.google.com/webstore/detail/accessibility-insights-fo/pbjjkligggfmakdaogkfomddhfmpjeni) or another tool, confirm all pages have clear and sufficient heading levels. Keep in mind it should act like a table of contents, you want to have enough headings to be useful but not one for every paragraph.\n* [ ] Color Blindness - make sure no information is conveyed via color only, potentially by testing using grayscale mode in [Accessibility Insights for Web](https://chrome.google.com/webstore/detail/accessibility-insights-fo/pbjjkligggfmakdaogkfomddhfmpjeni)\n\n## Sharing \u0026 Rich Snippets\n\n* [ ] Create a share card using [Canva](http://canva.com/) or a similar tool\n* [ ] Set up general meta tags\n    ```html\n    \u003cmeta name=\"description\" content=\"${SITE_NAME}\" /\u003e\n    \u003cmeta name=\"author\" content=\"${SITE_AUTHOR}\" /\u003e\n    ```\n* [ ] Set up Facebook meta tags \u0026 validate [here](https://developers.facebook.com/tools/debug/)\n    ```html\n    \u003cmeta property=\"og:type\" content=\"website\"\u003e\n    \u003cmeta property=\"og:site_name\" content=\"${SITE_NAME}\"\u003e\n    \u003cmeta property=\"og:description\" content=\"${SITE_DESCRIPTION}\"\u003e\n    \u003cmeta property=\"og:image\" content=\"${SHARE_CARD_URL}\"\u003e\n    \u003cmeta property=\"og:title\" content=\"${PAGE_TITLE}\"\u003e\n    \u003cmeta property=\"og:url\" content=\"${PAGE_URL}\"\u003e\n    ```\n* [ ] Set up Twitter meta tags \u0026 validate [here](https://cards-dev.twitter.com/validator)\n    ```html\n    \u003cmeta name=\"twitter:card\" content=\"summary_large_image\"\u003e\n    \u003cmeta name=\"twitter:site\" content=\"${SITE_NAME}\"\u003e\n    \u003cmeta name=\"twitter:creator\" content=\"${SITE_AUTHOR}\"\u003e\n    \u003cmeta name=\"twitter:description\" content=\"${SITE_DESCRIPTION}\"\u003e\n    \u003cmeta name=\"twitter:image\" content=\"${SHARE_CARD_URL}\"\u003e\n    \u003cmeta name=\"twitter:title\" content=\"${PAGE_TITLE}\"\u003e\n    \u003cmeta name=\"twitter:url\" content=\"${PAGE_URL}\"\u003e\n    ```\n\nConfirm your meta tags work by checking on https://metatags.io\n\n## Miscellaneous Polish\n\n* [ ] Add favicons and Apple touch icons (http://www.favicomatic.com/)\n* [ ] Add custom 404 \u0026 500 error pages\n\n## Browser and mobile compatibility\n\n* [ ] Use BrowserStack to confirm that your site is compatible with the browsers you wish to support\n\nUsing BrowserStack's mobile device emulators and/or your own mobile device, confirm that:\n\n* [ ] Scrolling is easy\n* [ ] Nav bar works\n* [ ] Hoverable things are tappable\n* [ ] Charts and maps look ok\n\n## Printer Friendliness\n\nDynamic sizing, dark backgrounds, and interactivity don't play well with printers.\n\nPick one:\n\n* [ ] Make a print stylesheet using a `@media print {}` media query, then add it to your site with `\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"css/print.css\" media=\"print\"\u003e`\n\n- or -\n\n* [ ] Use your browser's dev tools to remove offending elements (like sticky footers), alter colors where needed, and [screenshot the entire page](https://stackoverflow.com/a/14830242).\n* [ ] Add a link to the printer-friendly version to your website.\n\n## GitHub README\n\nIf the site is open source, make sure the README.md is complete and accurate.\n\nHere's a few good examples:\n\n- [LA Metro Councilmatic](https://github.com/datamade/la-metro-councilmatic)\n- [Illinois Sunshine](https://github.com/datamade/illinois-sunshine/blob/master/README.md)\n\nThe README should generally contain information on the following:\n\n* [ ] Project overview\n* [ ] System-level dependencies\n* [ ] Running locally\n* [ ] Bug reports and contributing\n* [ ] Copyright and license\n```\n\n## Suggestions?\n\nWe'd love to hear 'em. [Open an issue](https://github.com/datamade/site-launch-checklist/issues), or fork this repo and make it your own!\n\n## Copyright and Attribution\n\nCopyright (c) 2021 DataMade. Released under [MIT License](https://github.com/datamade/site-launch-checklist/blob/master/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatamade%2Fsite-launch-checklist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatamade%2Fsite-launch-checklist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatamade%2Fsite-launch-checklist/lists"}