TL;DR
- Favicon
- Robots.txt
- Title
- Meta Description
- Schema Markup
- Facebook Open Graph Markup
- Twitter Card
- Specify language and charset
- Canonical URLS
- Remove meta noindex nofollow
- RSS Link
- Sitemap
- 301 Redirect
- Analytics
- Google Search Console
- Search feature
- Performance & Optimization
- Browser/Platform Compatibility & Responsive Design
- Creative Commons
- Accelerated Mobile Pages (AMP)
- Progressive Web Apps (PWA)
Favicon
Make sure you have favicon as it's displayed at browser tab next to title.
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
It is nice to support apple-touch-icon as well with recommended image size of 180x180.
<link rel="apple-touch-icon" href="/touch-icon-iphone.png">
Robots.txt
Put robots.txt file at the root of your website (e.g. https://code.luasoftware.com/robots.txt
) to allow/disallow search engines to crawl and index your website.
The following robots.txt
allow all search engines to crawl your entire website.
User-agent: *
Disallow:
Title
Make sure every page have a title. Whenever possible, make sure every page have a unique title (not a generic one).
I prefer to put site title at the end of page title so that users could easily identify the page content using the title shown on tab.
<title>Website Launch Checklist | Lua Software Code</title>
Meta Description
A meaningful and descriptive meta description would affect how Google display search result and how link preview is generated by others. It might have tiny impact on SEO.
<meta property="description" content="A basic SEO and must-have list for every website." />
Schema Markup
Use structured data to mark up content (using schema) to help Google understand its context for better display in search result. You can test your markup using Structured Data Testing Tool
Example of Article schema using JSON-LD
<script type="application/ld+json">{ "@context": "http://schema.org", "@type": "BlogPosting", "headline": "Website Launch Checklist", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://code.luasoftware.com/tutorials/web-development/website-launch-checklist/" }, "image": { "@type": "ImageObject", "url": "https://code.luasoftware.com/img/cover.jpg", "width": 1024, "height": 500 }, "genre": "tutorials", "keywords": "web development, checklist", "wordcount": 931, "url": "https://code.luasoftware.com/tutorials/web-development/website-launch-checklist/", "datePublished": "2017-08-03T20:14:38+08:00", "dateModified": "2017-08-03T20:14:38+08:00", "license": "This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.", "publisher": { "@type": "Organization", "name": "Lua Software", "logo": { "@type": "ImageObject", "url": "https://code.luasoftware.com/img/logo.png", "width": 127, "height": 40 } }, "author": { "@type": "Person", "name": "Desmond Lua" }, "description": "A basic SEO and must-have list for every website."}</script>
Facebook Open Graph Markup
Implement Open Graph Markup to generate better link preview on Facebook, use debug to test the markup.
Example of Open Graph Markup
<meta property="og:url" content="https://tutorials/web-development/website-launch-checklist/" /><meta property="og:type" content="article" /><meta property="og:title" content="Website Launch Checklist" /><meta property="og:description" content="A basic SEO checklist before deployment." /><meta property="og:image" content="https://code.luasoftware.com/img/cover.png" />
Twitter Card
Implement Twitter Card to generate better link preview on Twitter, use validator to test the markup.
Example of Twitter Card
<meta name="twitter:card" content="summary_large_image"/><meta name="twitter:image:src" content="https://code.luasoftware.com/img/cover.png"/><meta name="twitter:title" content="Website Launch Checklist"/><meta name="twitter:description" content="A basic SEO checklist before deployment."/>
Specify language and charset
To let search engine know the language of this site.
<html lang="en"><head> <meta charset="utf-8"></head><body> ...</body> </html>
Canonical URLS
If you have multiple urls which server the exact same content, you should use canonical URLs to prevent being penalized by Google.
You might have the same content in different format or layout, or serving the same content on multiple domains/subdomains or directory structures.
Assuming https://code.luasoftware.com/tutorials/web-development/website-launch-checklist
is the prefered url, where the same content is also available on https://code.luasoftware.com/website-launch-checklist.html
. Add the following markup to other pages which publishes the same content.
<html> <head> <!-- indicate the original/prefered url is this on other pages which republish the same content --> <link rel="canonical" href="https://code.luasoftware.com/tutorials/web-development/website-launch-checklist" /> </head> ...</html>
Remove meta noindex nofollow
Make sure you didn't accidentally put <meta name="robots" content="noindex, nofollow">
into your html. Doing so will prevent your website from being indexed by search engines.
Having <meta name="robots" content="index, follow">
is not mandatory.
RSS Link
If your websites always have new contents, it should have an RSS feed to enable your readers to subscribe to your new contents.
<link href="https://code.luasoftware.com/index.xml" rel="alternate" type="application/rss+xml" title="Lua Software Code" />
Sitemap
Adding sitemap.xml at the root of your website to make your pages easily crawled and indexed by search engines.
https://code.luasoftware.com/index.xml
404 Pages
Whenever possible, you should have a more helpful 404 pages, either suggesting where the missing pages might have been or provide a search function. If you can't be helpful, at least add some humour.
301 Redirect
If you have moved content pages or migrated domain, make sure to use 301 Redirect (Moved Permanently) to indicate where the website or pages had moved to. Without redirect, external links which point to your moved website or pages would be broken.
Analytics
You should install some analytics tool (e.g. Google Analytics) to understand your audiences and measure website's metrics (e.g. website traffic, traffic sources, bounce rate, top contents, conversion rate, etc.).
Google Search Console
Google Search Console (previously Google Webmaster Tools) is a free service by Google for webmasters. The tool will alerts webmasters if any problem or error is found. Webmaster can submit sitemap and check various report like crawl and index status, incoming links, search keyword, etc.
You might want to look into Bing - Webmaster Tools as well.
Search feature
You website should have a search feature. If it doesn't, you can try Google Custom Search.
Performance & Optimization
Use Page Speed Insights to test the performance of your website, where it would give optimization tips accordingly.
Some of the performance best practices include compression, server response time, browser caching, minify resources, optimize images, optimize css delivery, remove render-blocking JavaScript, asynchronous scripts, etc.
Browser/Platform Compatibility & Responsive Design
You should test on multiple browsers (IE, Chrome, Firebox, Safari, etc.) to ensure the pages render properly on these browsers. You should also test on different platform such as Windows, macOS, iOS, Android, etc.
You website should adopt a responsive design framework like Bootstrap, Foundation, Pure, Skeleton, etc.
Creative Commons
You might want to share your articles as creative commons.
Accelerated Mobile Pages
You might want to look into Accelerated Mobile Pages(AMP): a publishing format by Google to enable instant loading for mobile web browsing.
Progressive Web Apps
You might want to look into building Progressive Web Apps (PWA): building realiable, fast and engaging web apps.