# [Search Engine Optimization (SEO)](https://marcobiedermann.github.io/search-engine-optimization/) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) [![Join the chat at https://gitter.im/marcobiedermann/search-engine-optimization](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/marcobiedermann/search-engine-optimization) A helpful checklist / collection of Search Engine Optimization (SEO) tips and techniques. ## Table of Contents - [URL](#url) - [Accessibility](#accessibility) - [Meta Information](#meta-information) - [Keywords](#keywords) - [Content](#content) - [Images](#images) - [Videos](#videos) - [Links](#links) - [Mobile](#mobile) - [Sitemap](#sitemap) - [Social Media](#social-media) - [Tools & Services](#tools--services) - [Webmasters](#webmasters) - [Analytics](#analytics) - [Optimization](#optimization) - [Keywords](#keywords-1) - [Links](#links) - [Structured Data](#structured-data) - [Bookmarklets](#bookmarklets) - [Browser Extensions](#browser-extensions) - [Jekyll Plugins](#jekyll-plugins) - [TYPO3 Extensions](#typo3-extensions) - [WordPress Plugins](#wordpress-plugins) - [Books](#books) - [Courses](#courses) ## URL - **Descriptive URLs:** use a descriptive page url, which should reflect your targeted keyword - **[File extension](https://www.youtube.com/watch?v=dSG6C33GwsE)**: do not strip out the file extension on URLs - **[HTTPS](https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html):** Security is a top priority for Google - **[Hyphens](https://www.youtube.com/watch?v=AQcSFsQyct8):** split words using hyphens - **[Localisation](https://support.google.com/webmasters/answer/62399):** choose a country-specific domain, for better local search results - **[Subdomain or subfolder](https://www.youtube.com/watch?v=_MswMYk05tk):** subdomains are seen as separate domains - **[URL builder](https://support.google.com/analytics/answer/1033867):** Use this tool to add custom campaign parameters to your URLs ## Accessibility - **403:** provide a 403 - Access denied page - **404:** provide a 404 - Page not found page - **[Custom Search](https://developers.google.com/structured-data/slsb-overview):** with Google Sitelink search box, people can reach your content more quickly - **File not found:** avoid `404 FILE_NOT_FOUND` errors - **Layout:** use `divs` instead of `tables` for layout. Using `tables` is not semantically correct. - **Moving a website:** redirect all your links to the new location via `.htaccess` - **[Pagination](https://support.google.com/webmasters/answer/1663744):** implement the `rel="next"` and `rel="prev"` attributes to links - **[Performance](https://developers.google.com/webmasters/mobile-sites/mobile-seo/common-mistakes/slow-mobile-pages):** performance and loading time is important - **Redirects:** avoid redirects if possible. Use 301 redirect instead of 302 - **[RichSnippets](https://schema.org/):** markup your code with rich snippets, they show up on the search results page - **[Robots](https://en.wikipedia.org/wiki/Robots_exclusion_standard):** block pages which should not be indexed via the `robots.txt` file or `` - **Validation:** write valid code ([HTML Validator](https://validator.w3.org/) [CSS Validator](https://jigsaw.w3.org/css-validator/)) - **[WAI-Aria](https://www.w3.org/TR/wai-aria/):** use WAI-Aria tags to help machines understand your code ## Meta Information - **[Description](https://www.youtube.com/watch?v=W4gr88oHb-k):** each page should have a unique description (max. 160 characters) `` - **Title:** each page should have a unique speaking title (60 - 100 characters) `Website Title` ## Keywords - **Content:** keyword should appear in ~3% of article length - **Heading:** keyword should appear in headings - **[Meta Tag](https://www.youtube.com/watch?v=jK7IPbnmvVU):** you can ommit the ``, search engines do not use this meta tag - **Research:** rank for keywords with high traffic and less competition - **Single:** every page should have a single unique targeted keyword - **Title:** keyword should appear in page title - **[URL](https://www.youtube.com/watch?v=rAWFv43qubI):** keyword should appear in URL name ## Content - **Content:** content matters the most in SEO - **Flash:** avoid Flash content and Flash pages. They are not accessible on mobile phones and will be ranked lower - **Freshness:** new content is important. Updating pages or posting regularly is recommended - **Headings:** clear structure `H1` -`H6` max. 70 characters long - **Length:** article should be at least 300 words - **Strong:** use `strong` tag to highlight your targeted keyword - **[Uniqueness](https://www.youtube.com/watch?v=mQZY7EmjbMA):** do not provide duplicated content, use unique content types ## Images - **[Alt tag](https://support.google.com/webmasters/answer/114016):** add an alt-tag this a description of the image (60 - 70 characters) - **Dimensions:** add the `width=""` and `height=""` attributes to the image - **[File name](https://www.youtube.com/watch?v=h2SWuUobbr0):** use a short descriptive name - **[Optimization](https://imageoptim.com/):** Optimize images by removing some meta information - **[Responsive Images](https://www.w3.org/TR/html-picture-element/):** serve the most optimized image corresponding to the window size - **Size:** keep the filesize as low as possible ## Videos - **Controls:** add controls to playback and control your video - **Embed:** allow others to embed your videos - **Transcriptions:** use transcriptions for indexing, usability & content - **[Unplayable content](https://developers.google.com/webmasters/mobile-sites/mobile-seo/common-mistakes/unplayable-content):** avoid unplayable video content. Use HTML5 `