There are some things that all websites should just have. There are also things that most websites should have. This is my running compilation of those things.
A canonical tag
canonical tag is important for avoiding SEO duplicate content penalties. It should be consistent no matter how you view the page.
Here are some things that can throw your URL off if you have a bad canonical tag, or no canonical tag:
- with or without the
- with or without the
- with or without the trailing
Your website should be able to be served securely, via the
https protocol. My personal preference is to always have a redirect from
https but I don't think it's necessary yet. It is, however, necessary, at least on pages that have any forms where people can fill in any information about themselves, especially passwords.
Your website should have valid HTML. Use the W3C Markup Validator to test your site. There should be 0 errors. Warnings are sometimes OK, as long as you know why they are there and can rationalize it.
An obvious one, but sometimes it's easy to forget. Make sure you cross-browser test!
Image Alt Attributes
An important role in accessibility, make sure all of your
<img> tags have the
alt attribute filled in with descriptive text. A good alt attribute value should portray the same feeling to somebody who cannot see the image that somebody who can see the image feels. If you cannot think of a good alt attribute value for an image, you probably don't need that image!
Make sure you have your Google Analytics snippet on your site before you launch so you get as much analytic data as possible.
Social Media meta tags
I'm not going to go into it here because it will likely change more than I update this list, but make sure you have them if you think there is the slightest chance people will share pages on any social media platform.
It's not strictly necessary, but it makes your brand feel a lot better. A site without a favicon just feels cheap.
Make sure all forms work
Sometimes it's easy to forget making sure the contact form sends out an email. Make sure that works after deploying to the actual environment, in case there is some weird environment-specific thing causing those emails to get lost.
Make sure you have a sitemap set up.