Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/flowforfrank/seo-checklist

πŸ” A comprehensive list of SEO requirements to rank your page higher
https://github.com/flowforfrank/seo-checklist

off-site-seo on-site-seo resources seo seo-checklist seo-optimization technical-seo tools webtips

Last synced: 16 days ago
JSON representation

πŸ” A comprehensive list of SEO requirements to rank your page higher

Awesome Lists containing this project

README

        


SEO Checklist

πŸ•΅οΈ The SEO Checklist is a comprehensive list of SEO requirements you need to address to rank higher and elevate your SEO game to the next level. πŸ†™


Learn more about JavaScript and web development
Follow on Twitter
Follow on Medium


Support on Buy Me A Coffee

β€’ β€’ β€’

πŸ“ˆ Performance Checklist

## πŸ—ƒοΈ Table of Contents

1. **πŸ› οΈ [Tools](#%EF%B8%8F-tools)**
1.1. [Analytics Tools](#analytics-tools)
1.2. [SEO Checkers](#seo-checkers)
1.3. [Chrome Extensions](#chrome-extensions)
1.4. [Other Tools](#other-tools)
2. **βš™οΈ [Technical SEO](#%EF%B8%8F-technical-seo)**
2.1. [Identify crawl errors](#%EF%B8%8F-identify-crawl-errors)
2.2. [URL inspection](#%EF%B8%8F-url-inspection)
2.3. [No broken links](#%EF%B8%8F-no-broken-links)
2.4. [No blocked pages](#%EF%B8%8F-no-blocked-pages)
2.5. [Optimized 404](#%EF%B8%8F-optimized-404)
2.6. [Served over HTTPS](#%EF%B8%8F-served-over-https)
2.7. [Mobile friendly](#%EF%B8%8F-mobile-friendly)
2.8. [Page speed efficiency](#%EF%B8%8F-page-speed-efficiency)
- 2.8.1. [Browser caching](#%EF%B8%8F-browser-caching)
- 2.8.2. [Compression enabled](#%EF%B8%8F-compression-enabled)
- 2.8.3. [Resources minified](#%EF%B8%8F-resources-minified)
- 2.8.4. [Images and fonts are optimized](#%EF%B8%8F-images-and-fonts-are-optimized)

2.9. [Has valid robot.txt](#%EF%B8%8F-has-valid-robottxt)
2.10. [Has valid sitemap.xml](#%EF%B8%8F-has-valid-sitemapxml)
2.11. [Structured Data](#%EF%B8%8F-structured-data)
2.12. [Core web vitals](#%EF%B8%8F-core-web-vitals)
- 2.12.1. [Largest Contentful Paint](#%EF%B8%8F-largest-contentful-paint)
- 2.12.2. [First Input Delay](#%EF%B8%8F-first-input-delay)
- 2.12.3. [Cumulative Layout Shift](#%EF%B8%8F-cumulative-layout-shift)
3. **πŸ“œ [On-Site SEO](#-on-site-seo)**
3.1. [Meta information](#meta-information)
- 3.1.1. [Has meta description](#%EF%B8%8F-has-meta-description)
- 3.1.2. [Has meta viewport](#%EF%B8%8F-has-meta-viewport)
- 3.1.3. [Has open graph tags](#%EF%B8%8F-has-open-graph-tags)

3.2. [Document head](#document-head)
- 3.2.1. [Doctype is set to HTML5](#%EF%B8%8F-doctype-is-set-to-html5)
- 3.2.2. [Document has a title tag](#%EF%B8%8F-document-has-a-title-tag)
- 3.2.3. [Document has a valid hreflang](#%EF%B8%8F-document-has-a-valid-hreflang)
- 3.2.4. [Favicon exists](#%EF%B8%8F-favicon-exists)

3.3. [Document structure](#document-structure)
- 3.3.1. [SEO friendly URLs](#%EF%B8%8F-seo-friendly-urls)
- 3.3.2. [Headings in order](#%EF%B8%8F-heading-in-order)
- 3.3.3. [Image elements have [alt] attributes](#%EF%B8%8F-image-elements-have-alt-attributes)
- 3.3.4. [Document uses legible font sizes](#%EF%B8%8F-document-uses-legible-font-sizes)
- 3.3.5. [Tap targets are sized appropriately](#%EF%B8%8F-tap-targets-are-sized-appropriately)
- 3.3.6. [Document avoids plugins](#%EF%B8%8F-document-avoids-plugins)

3.4. [Readability](#readability)
- 3.4.1. [Title width](#%EF%B8%8F-title-width)
- 3.4.2. [Subheading distribution](#%EF%B8%8F-subheading-distribution)
- 3.4.3. [Links have descriptive text](#%EF%B8%8F-links-have-descriptive-text)
- 3.4.4. [Internal links](#%EF%B8%8F-internal-links)
- 3.4.5. [Outbound links](#%EF%B8%8F-outbound-links)
- 3.4.6. [Use of keyphrases](#%EF%B8%8F-use-of-keyphrases)
- 3.4.7. [Use of passive voice](#%EF%B8%8F-use-of-passive-voice)
- 3.4.8. [Use of transition words](#%EF%B8%8F-use-of-transition-words)
- 3.4.9. [Text length](#%EF%B8%8F-text-length)
- 3.4.10. [Length of paragraphs](#%EF%B8%8F-length-of-paragraphs)
- 3.4.11. [Length of sentences](#%EF%B8%8F-length-of-sentences)
4. **πŸ“Š [Off-Site SEO](#-off-site-seo)**
4.1. [Link building](#link-building)
- 4.1.1. [Amount of links](#%EF%B8%8F-amount-of-links)
- 4.1.2. [Good vs bad links](#%EF%B8%8F-good-vs-bad-links)
- 4.1.3. [The use of rel](#%EF%B8%8F-the-use-of-rel)
5. **πŸ“š [Other Resources](#-other-resources)**

## πŸ› οΈ Tools
ℹ️ *If you can't measure it, you can't improve it - The first step is to put analytics tools in place which can help you draw conclusions and locate potential issues*

> πŸ†“ The tools listed below are free to use

- #### Analytics Tools
- πŸ“ˆ [Google Analytics](http://analytics.google.com/) - *Analyse traffic and behaviour of users on your site. Launch experiments and track conversions*
- πŸ“ˆ [Google Search Console](https://search.google.com/search-console/about) - *Measure your site's search traffic and performance, shows click-through rate and issues such as unreachable links*
- πŸ“ˆ [Google Keyword Planner](https://ads.google.com/intl/en_gb/home/tools/keyword-planner/) - *Plan your content around keywords that you want to rank for. Compare keywords to check number of searches and competitiveness*
- πŸ“ˆ [Google Trends](https://trends.google.com/trends) - *Discover what the world is searching for*
- πŸ“ˆ [Bing Webmaster Tools](https://www.bing.com/toolbox/webmaster) - *Track impressions, plan keywords and many more for Bing*
- πŸ“ˆ [SimilarWeb](https://www.similarweb.com/) - *Identify traffic sources*
- πŸ“ˆ [LSIGraph](https://lsigraph.com/) - *Generate latent semantic indexing terms for your keywords*
- πŸ“ˆ [WordPress - Yoast SEO](https://yoast.com/wordpress/plugins/seo/) - *WordPress plugin for on-page content analysis*
- πŸ“ˆ [WordPress - RankMath](https://wordpress.org/plugins/seo-by-rank-math/) - *WordPress plugin for seo analysis*
- πŸ“ˆ [Keyword.com](https://keyword.com/) - *Accurate keyword rank tracking software with daily updates*
- #### SEO Checkers
*Online tools that helps you locating and addressing issues that can hurt your ranking*
- βœ”οΈ [Lighthouse](https://developers.google.com/web/tools/lighthouse/) - *Addressing technical and on-site seo issues*
- Built inside Chrome DevTools.
- Apart from SEO, it can be used to audit for **performance, pwa, best practices and accessibility** issues
- βœ”οΈ [Webhint](https://webhint.io/) - *Checks for issues such as: **accessibility, compatibility, pwa, performance, pitfalls and security***
- βœ”οΈ [Google’s Mobile-Friendly Test](https://search.google.com/test/mobile-friendly) - *Test if page is mobile friendly*
- βœ”οΈ [Varvy SEO tool](https://varvy.com/) - *Checks for:*
- Accessibility issues
- Excessive amount of links and they are findable
- Performance: page speed is optimal
- Robots.txt and sitemap are available
- Security: page is served over HTTPS
- Site availability: Google has access to your CSS and JavaScript resources
- Site is responsive
- Validates document
- βœ”οΈ [SEO Tester Online](https://suite.seotesteronline.com/seo-checker) - *Analyse your site based on 4 different aspects:
- Structure of document
- Content on page
- Web & mobile performance
- Social presence (open graph tags)
- βœ”οΈ [Sitechecker Pro](https://sitechecker.pro/)
- βœ”οΈ [Seobility](https://www.seobility.net/en/seocheck/) - *Factors includes **meta information, page quality and structure, links and server configuration***
- βœ”οΈ [SEO Site Checkup](https://seositecheckup.com/) - *Apart from general SEO, also checks for: **speed, server & security and mobile usability***
- βœ”οΈ [Web Check](https://web-check.xyz/) - *A powerful all-in-one tool for discovering information about a website/host.*
- #### Chrome Extensions
- πŸ’» [Serpstat Website SEO Checker](https://chrome.google.com/webstore/detail/serpstat-website-seo-chec/fcgbopaomlpldhbinhgebmkcnkfconmn)
- πŸ’» [SEO Checker Tool](https://chrome.google.com/webstore/detail/seo-checker-tool-get-free/ljkhgacfcnhpfafpcdpaadgklajibdak)
- πŸ’» [Website SEO Checker: Free Audit & Analysis](https://chrome.google.com/webstore/detail/website-seo-checker-free/nljcdkjpjnhlilgepggmmagnmebhadnk)
- πŸ’» [Keywords Everywhere - Chrome & Firefox](https://keywordseverywhere.com/)
- πŸ’» [Detailed - Chrome & Firefox](https://detailed.com/extension/)
- #### Other Tools
- πŸ› οΈ [Facebook Sharing Debugger](https://developers.facebook.com/tools/debug/sharing/) - *Validate open graph tags*
- πŸ› οΈ [JSON-LD Schema Markup Generator](https://www.jamesdflynn.com/json-ld-schema-generator/)
- πŸ› οΈ [Structured Data Testing Tool](https://search.google.com/structured-data/testing-tool/u/0/)
- πŸ› οΈ [Structured Data Linter](http://linter.structured-data.org/)
- πŸ› οΈ [W3C Markup Validation Service](https://validator.w3.org/)
- πŸ› οΈ [LinkedIn Post Inspector](https://www.linkedin.com/post-inspector/)
- πŸ› οΈ [Pinterest Rich Pins Validator](https://developers.pinterest.com/tools/url-debugger/)
- πŸ› οΈ [Twitter Card Validator](https://cards-dev.twitter.com/validator)

## βš™οΈ Technical SEO
ℹ️ *The purpose of Technical SEO is to help search engines find and crawl your website without any problems.*

> #### β˜‘οΈ Identify crawl errors
> Use the [coverage tool](https://search.google.com/search-console/about) *(previously Crawl Errors Report)* in Google's Search Console to see which of your pages have been indexed and any problems encountered during indexing.
>
> πŸ“– [Google Search Console - Coverage status report](https://support.google.com/webmasters/answer/7440203)
> πŸ“– [Google Search Console - Migrating from old Search Console](https://support.google.com/webmasters/answer/9073702?hl=en)
----------

> #### β˜‘οΈ URL inspection
> Make sure your URLs are properly indexed by Google. Google's URL Inspection tool provides information about the indexed version of a specific page. With it, you can perform various tasks such as:
> - [Test whether your page is able to be indexed](https://support.google.com/webmasters/answer/9012289#test_live_page)
> - [Request URL to be (re)crawled by Google](https://support.google.com/webmasters/answer/9012289#request_indexing)
> - [See current status of a URL](https://support.google.com/webmasters/answer/9012289#using_the_tool)
> - [See how google sees your page](https://support.google.com/webmasters/answer/9012289#view_screenshot)
>
> πŸ“– [Google Search Console - URL Inspection Tool](https://support.google.com/webmasters/answer/9012289)
----------

> #### β˜‘οΈ No broken links
> Pages with unsuccessful HTTP status codes (pages that return 400s, 500s) may not be indexed properly. Make sure that you don't index error pages such as 404.
>
> πŸ“– [Web.dev - Page has unsuccessful HTTP status code](https://web.dev/http-status-code/?utm_source=lighthouse&utm_medium=devtools)
----------

> #### β˜‘οΈ No blocked pages
> Page is not blocked from indexing. Search engines are unable to include your pages in search results if they don't have permission to crawl them.
>
> πŸ“– [Web.dev - Page is blocked from indexing](https://web.dev/is-crawable/?utm_source=lighthouse&utm_medium=devtools)

```html

```

```txt
# This response header also blocks crawlers
X-Robots-Tag: noindex
```
----------

> #### β˜‘οΈ Optimized 404
> 404 (Page not found) pages should be optimized. Default 404 error pages can result in poor user experience. It can mislead users into thinking an entire site is down or broken which increases the chance they leave the site entirely.
> Things you can do to optimize your 404 page:
> - Include notification that the page the user is looking for cannot be found
> - Include a link to your home page
> - Include a search bar
> - Your navigation should be present
>
> πŸ“– [SEO Site Checkup - 404 Page Test](https://seositecheckup.com/tools/custom-404-error-page-test)
----------

> #### β˜‘οΈ Served over HTTPS
> Ensure that your site's connection is secured with HTTPS. Data sent using HTTPS is encrypted which improves security and makes sure that data cannot be modified during transfer without being detected. Also make sure that you redirect all HTTP requests to the equivalent HTTPS version.
>
> Strong sense of security will build trust over time which will only benefit your business.
>
> πŸ“– [Google Search Console - Secure your site with HTTPS](https://support.google.com/webmasters/answer/6073543)
----------

> #### β˜‘οΈ Mobile friendly
> Internet usage has turned around in [2016](https://gs.statcounter.com/download/internet_usage_2009_2016_ww.png): more people are accessing the web from mobile devices than from desktop. By making your site mobile friendly, you ensure that your pages work properly across all devices.
>
> πŸ› οΈ [Google’s Mobile-Friendly Test](https://search.google.com/test/mobile-friendly)
> πŸ“– [Google Developers: Be mobile-friendly](https://developers.google.com/search/mobile-sites/)
> πŸ“– [Google Developers: Responsive Web Design Basics](https://developers.google.com/web/fundamentals/design-and-ux/responsive)
> πŸ“– [Varvy: Mobile optimization guide](https://varvy.com/mobile/)
----------

> #### β˜‘οΈ Page speed efficiency
> Optimizing page speed is a whole topic in itself, but there are some key aspects from which you can leverage the most.
>
> - ##### βœ”οΈ Browser caching
> Leverage browser caching for static resources such as images or fonts. This way, you can reduce page load time for recurring visitors by storing website information in their cache. Rather than accessing these from the server, they are requested from the cache.
>
> Browser caching set for images in a `.htaccess` file
> ```
>
> ExpiresActive On
>
> # Expiration date set for images
> ExpiresByType image/jpeg "access plus 1 year"
> ExpiresByType image/gif "access plus 1 year"
> ExpiresByType image/png "access plus 1 year"
> ExpiresByType image/webp "access plus 1 year"
> ExpiresByType image/svg+xml "access plus 1 year"
> ExpiresByType image/x-icon "access plus 1 year"
>
> ```
> - ##### βœ”οΈ Compression enabled
> gzip or brotli compression is enabled on the server side. This further reduces the network request size which will result in a faster page load and less bandwidth used.
>
> - ##### βœ”οΈ Resources minified
> All resources (HTML, CSS, JavaScript) should be minified to reduce their size
>
> - ##### βœ”οΈ Images and fonts are optimized
> Compressing images and fonts can result in most saved bytes of data.
> Some tips for **image optimization:**
> - Try to utilize CSS3 effects instead of using images
> - Use vector images, perferably SVG
> - Minify SVG markup
> - Choose the right raster format
> - GIF for animation
> - JPG for fine detailed images
> - PNG-8/24 for transparent / low colour palette images
> - Intrinsic size should be as close to display size as possible
> - Compress
>
> Some tips for **font optimization:**
> - Minimize number of font usage (both font family and variants)
> - Subset font face
> - Use `rel="preload"` to treat resource with high priorty
> - Cache & compress
>
> πŸ“– [Webtips.dev - 10 Critical Performance Optimization Steps You Should Take](https://webtips.dev/10-critical-performance-optimization-steps-you-should-take)
> πŸ“– [Webtips.dev - How to Improve Page Speed by Optimizing Content](https://webtips.dev/how-to-improve-page-speed-by-optimizing-content)
> πŸ“– [Webtips.dev - 3 Ways to Benchmark Your JavaScript](https://webtips.dev/webtips/javascript/benchmark-javascript)
> πŸ“– [Web fundamentals - Measure Performance with the RAIL Model](https://developers.google.com/web/fundamentals/performance/rail)
> πŸ“– [Web fundamentals - Why Performance Matters](https://developers.google.com/web/fundamentals/performance/why-performance-matters)
> πŸ“– [Varvy.com - Leverage browser caching](https://varvy.com/pagespeed/leverage-browser-caching.html)
> πŸ“– [Varvy.com - Enable gzip compression](https://varvy.com/pagespeed/enable-compression.html)
----------

> #### β˜‘οΈ Has valid robot.txt
> If your robots.txt file is malformed, crawlers may not be able to understand how you want your website to be crawled or indexed.
>
> πŸ“– [Web.dev - robot.txt is not valid](https://web.dev/robots-txt/?utm_source=lighthouse&utm_medium=devtools)

*Example for a valid robot.txt file*

```txt
user-agent: *
disallow: /downloads/
```
----------

> #### β˜‘οΈ Has valid sitemap.xml
> A sitemap is a file where you provide information about the pages on your site. Search engines like Google read this file to more intelligently crawl your site. It tells Google which pages are important in your site.
>
> Cases where you might not need a sitemap:
> - If you only have a landing page or a small site (500 pages or less)
> - You're using a hosting service like Wix or Webflow which generates a sitemap automatically
> - Your site is comprehensively linked internally
>
> πŸ“– [Google Search Console - Learn about sitemaps](https://support.google.com/webmasters/answer/156184)
----------

> #### β˜‘οΈ Structured data
> Site has a valid structured data. Run the [Structured Data Testing Tool](https://search.google.com/structured-data/testing-tool/u/0/) and the [Structured Data Linter](http://linter.structured-data.org/) to validate.
> Marking up your content with structured data makes it more likely that it will be included in rich search results.
>
> πŸ“– [Webtips.dev - How to Use Schema Markup in HTML](https://webtips.dev/lessons/schema-markup-in-html)
> πŸ“– [Web.dev - Structured data is valid](https://web.dev/structured-data/?utm_source=lighthouse&utm_medium=devtools)
> πŸ“– [Learn more - Schema.org](http://schema.org/)
----------

> #### β˜‘οΈ Core web vitals
> The core web vitals are three core metrics that focuses on three aspects of the user experience; loading, interactivity, and visual stability. These are measured by the following metrics:
>
> - ##### βœ”οΈ Largest Contentful Paint
> **LCP** for short, measures the time it takes for the browser to fully render the main content of your page. LCP is considered good when it happens [within 2.5 seconds](https://web.dev/lcp/#what-is-a-good-lcp-score).
>
> - ##### βœ”οΈ First Input Delay
> **FID** for short, measures the time it takes for the first user input to be processed. Anything [below 100ms](https://web.dev/fid/#what-is-a-good-fid-score) is considered good.
>
> - ##### βœ”οΈ Cumulative Layout Shift
> **CLS** for short, measures the amount of layout shifts on your page that causes elements to change position unexpectedly. A good CLS score is [less than 0.1](https://web.dev/cls/#what-is-a-good-cls-score).
>
> πŸ“– [Webtips.dev - Core Web Vitals](https://webtips.dev/core-web-vitals)
> πŸ“– [Web.dev - Largest Contentful Paint (LCP)](https://web.dev/lcp/)
> πŸ“– [Web.dev - First Input Delay (FID)](https://web.dev/fid/)
> πŸ“– [Web.dev - Cumulative Layout Shift (CLS)](https://web.dev/cls/)

## πŸ“œ On-Site SEO
ℹ️ *On-Site SEO is about the structure and content of your page. It's goal is to guide you how to create SEO friendly content that is easily understandable by search engines.*

### Meta information
ℹ️ *Meta information provides details about the webpage. Metadata will not be displayed but will be parsed by search engines*

> #### β˜‘οΈ Has meta description
> Meta descriptions provides a summary of a page's content that search engines include in search results
>
> πŸ“– [Web.dev - Document has a meta description](https://web.dev/meta-description/?utm_source=lighthouse&utm_medium=devtools)

```html

```
----------

> #### β˜‘οΈ Has meta viewport
> Meta viewports optimize your app for mobile screens.
>
> πŸ“– [Web.dev - Document has a viewport meta tag](https://web.dev/viewport/?utm_source=lighthouse&utm_medium=devtools)

```html

```
----------

> #### β˜‘οΈ Has open graph tags
> The Open Graph protocol enables any web page to become a rich object in a social graph. To turn a web page into a rich object, you need to add additional `meta` tags to your head.
> The four required properties are:
> - `og:title` - The title of the object, usually will match the content of your `title` tag
> - `og:type` - The type of object, eg.: `article`, `profile`, `website`. *(To see all available object types visit the [object types section](https://ogp.me/#types) on the official page of open graph.)*
> - `og:image` - The URL of the image which will represent the object
> - `og:url` - The URL of your site where the object will take the user after interaction
>
> To see all other available open graph tags, visit the [official website](https://ogp.me/) of the open graph protocol.
>
> πŸ“– [The Open Graph protocol](https://ogp.me/)
> πŸ› οΈ [Facebook - Open Graph Object Debugger](https://developers.facebook.com/tools/debug/og/object)

```html

```
----------

### Document head
ℹ️ *Apart from meta tags, there are a number of other tags in the head of the document that you should take care of.*

> #### β˜‘οΈ Doctype is set to HTML5
> The `` declaration must be the very first thing in your HTML document. It tells browsers what version of HTML the page is written in. You should always use the latest version which is HTML5.
>
> πŸ“– [W3Schools - HTML Declaration](https://www.w3schools.com/tags/tag_doctype.asp)
> πŸ› οΈ [SEO Site Checkup - Doctype Test](https://seositecheckup.com/tools/doctype-test)

```html

```
----------

> #### β˜‘οΈ Document has a title tag
> The title gives screen reader users an overview of the page, and search engine users rely on it heavily to determine if a page is relevant to their search.
> Titles shouldn't be too long or too short, try to keep the character count around 50-60.
>
> πŸ“– [Web.dev - Document has a title tag](https://web.dev/document-title/?utm_source=lighthouse&utm_medium=devtools)

```html


…
SEO Checklist
…


…

```
----------

> #### β˜‘οΈ Document has a valid hreflang
> hreflang links tell search engines what version of a page they should list in search results for a given language or region.
>
> πŸ“– [Web.dev - Valid href for document](https://web.dev/hreflang/?utm_source=lighthouse&utm_medium=devtools)

```html

```
----------

> #### β˜‘οΈ Favicon exists
> If your site has a favion, it can be included in the search results page.
>
> πŸ“– [Google Search Console - Define favicon to show in search results](https://support.google.com/webmasters/answer/9290858?hl=en)

```html

```
----------

### Document structure
ℹ️ *Document structure outlines how your html should be built up and shows what are the key factors that can affect your SEO.*

> #### β˜‘οΈ SEO friendly URLs
> SEO friendly URLs should only contain letters and number, dashes (-) or underscores (_). Try to avoid using spaces, signs or other special characters. Make them short and relevant to the topic. Try to incorporate keywords into them.
>
> πŸ“– [Google Search Console - Keep a simple URL structure](https://support.google.com/webmasters/answer/76329)
> πŸ“– [Moz - URLs](https://moz.com/learn/seo/url)
> πŸ› οΈ [SEO Site Checkup - SEO Friendly URL Test](https://seositecheckup.com/tools/seo-friendly-url-test)

```html

Latest articles

Latest articles
```
----------

> #### β˜‘οΈ Heading in order
> Headings help Google understand your text and the context of the page. Headings should be created in hierarchical order. This means an `h1` should be followed by an `h2`, and not an `h3`.
>
> πŸ“– [Webtips.dev - 10 Best Practices for HTML](https://webtips.dev/10-best-practices-for-html)
> πŸ“– [Yoast - More than one H1](https://yoast.com/academy/seo-copywriting-training/single-h1/)

```html

Title of your page


Heading

Title of your page


Heading

Title of your page


Heading


Sub-heading


```
----------

> #### β˜‘οΈ Image elements have [alt] attributes
> Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. For images, provide `width` and `height` attributes to avoid layout shifts. Always lazy load off-screen images by setting the `loading` attribute to `lazy`.
>
> πŸ“– [Web.dev - Image elements have [alt] attributes](https://web.dev/image-alt/?utm_source=lighthouse&utm_medium=devtools)

```html

Diagram showing the steps of critical rendering path


```
----------

> #### β˜‘οΈ Document uses legible font sizes
> Font sizes less than 12px are too small to be legible and require mobile visitors to β€œpinch to zoom” in order to read.
>
> πŸ“– [Web.dev - Document uses legible font sizes](https://web.dev/font-size/?utm_source=lighthouse&utm_medium=devtools)
----------

> #### β˜‘οΈ Tap targets are sized appropriately
> Interactive elements like buttons and links should be large enough (48x48px), and have enough space around them, to be easy enough to tap without overlapping onto other elements.
>
> πŸ“– [Web.dev - Tap targets are sized appropriately](https://web.dev/tap-targets/?utm_source=lighthouse&utm_medium=devtools)
----------

> #### β˜‘οΈ Document avoids plugins
> Search engines can't index plugin content, and many devices restrict plugins or don't support them.
>
> Elements such as `embed`, `object` or `applet` are checked and if their MIME type matches any of the following:
> - `application/x-java-applet`
> - `application/x-java-bean`
> - `application/x-shockwave-flash`
> - `application/x-silverlight`
> - `application/x-silverlight-2`
>
> Then it will be flagged as a plugin.
>
> πŸ“– [Web.dev - Document avoids plugins](https://web.dev/plugins/?utm_source=lighthouse&utm_medium=devtools)
----------

### Readability

> #### β˜‘οΈ Title width
> The document title not only shows up in the tab but is also shown in the Google search results page as a blue link. This is what users first see about your website on the search result page. To grab user attention, be short and to the point. Titles wider than 600px will be cut off so make sure your title is not too long. Also try to incorporate your main keyword.
>
> πŸ“– [Yoast - The ideal width of title](https://yoast.com/academy/all-around-seo-training/seo-title-width)
----------

> #### β˜‘οΈ Subheading distribution
> Most texts of over 300 words need subheadings to help the reader scan the text more easily. Using subheadings will not only make your text more readable and accessible, but will also help Google figure out what your content is about.
> If you can, also incorporate your main keyphrase in the subheading.
>
> πŸ“– [Yoast - How to improve subheading distribution](https://yoast.com/academy/seo-copywriting-training/subheading-distribution/)
----------

> #### β˜‘οΈ Links have descriptive text
> Descriptive link text helps search engines understand your content.
>
> πŸ“– [Web.dev - Links have descriptive text](https://web.dev/link-text/?utm_source=lighthouse&utm_medium=devtools)

```html

To see more articles like this, click here.

Are you interesed in more? Check out these similar articles.


```
----------

> #### β˜‘οΈ Internal links
> Use internal links throughout your site. It helps Google get an idea about the structure and hierarchy of your page. You should have the most internal links pointing to a cornerstone content. This ways, the most important content on your site recieves the highest link value.
> By adding internal links, you enable Google to understand:
> - The relevance of pages
> - The relationship between the pages
> - The value of each page
>
> Last but not least, it can help both users and search engines to nagivate your site more easily.
>
> πŸ“– [Yoast - Internal linking for SEO: Why and how?](https://yoast.com/internal-linking-for-seo-why-and-how/)
----------

> #### β˜‘οΈ Outbound links
> Outbound or external links are links that are pointing to other websites from your page. Using external links and linking to other relevant pages on the web can help search engines better understand the context of your site.
>
> πŸ“– [Moz - External Links](https://moz.com/learn/seo/external-link)
----------

> #### β˜‘οΈ Use of keyphrases
> The focus keyphrase – or keyword – is the search term that you want your page to rank for most. For blog posts, you should usually aim for long-tail keywords (keywords containing multiple words) as competition is lower for these. To help you decide on keywords, you can use tools such as [Google Trends](https://trends.google.com/trends), [Google Keyword Planner](https://ads.google.com/intl/en_gb/home/tools/keyword-planner/), [Answer The Public](https://answerthepublic.com/) or simply search for your proposed term on Google and let autosuggest show you what other people are searching for.
>
> Make sure that your keyphrase:
> - Appear in the title tag
> - Appears in subheadings
> - Appears in first paragraph
> - is unique, not used it before throughout your site
> - is used in the slug *(your SEO friendly URL)*
> - is used in meta description
> - is used in image [alt] attributes
> - is not too long
> - Density is between 1-3% *(number of times your keyphrase appears in a copy, eg.: your text is 100 words and 5 of those are your keywords than you have a keyword density of 5%)*
>
> πŸ“– [Yoast - The importance of keyword density](https://yoast.com/academy/seo-copywriting-training/keyphrase-density/)
> πŸ“– [Yoast - The length of your focus keyword](https://yoast.com/academy/keyword-research-training/keyphrase-length/)
----------

> #### β˜‘οΈ Use of passive voice
> In most cases, active sentences are easier to understand than passive sentences. After writing your text, scan it for passive voice constructions. Always ask yourself: is a better, active alternative available? If there is, use it. If not, use the passive voice.
>
> πŸ“– [Yoast - Using and avoiding the passive voice](https://yoast.com/academy/seo-copywriting-training/passive-voice/)
----------

> #### β˜‘οΈ Use of transition words
> Transition words like **and**, **but**, **so**, **because** make it easier to read and understand a text. Although transition words don’t influence your SEO directly, they are one of the key factors to readability.
>
> πŸ“– [Yoast - Transition words: why and how to use them](https://yoast.com/academy/seo-copywriting-training/transition-words/)
----------

> #### β˜‘οΈ Text length
> You have a higher chance of ranking in Google if you have plenty of content on your page, preferably posts with 1000 words or more.
> The reason this will help you rank higher:
> - Google will have more clue to determine what your page is about
> - The longer the text, the more often your keywords will appear in it
> - The more content there is, the more value it can give to users, making your site more relevant
>
> πŸ“– [Yoast - Text length: how long should a blog post be?](https://yoast.com/academy/seo-copywriting-training/text-length/)
----------

> #### β˜‘οΈ Length of paragraphs
> Paragraphs help break down your text into bite-size and easy-to-understand chunks. Big walls of text are hardly readable and tend to scare off visitors. Try to limit the length of your paragraphs to **200 words.**
>
> πŸ“– [Yoast - Writing shorter paragraphs: why and how](https://yoast.com/academy/seo-copywriting-training/paragraph-length/)
----------

> #### β˜‘οΈ Length of sentences
> Longer sentences are generally more difficult to read than shorter sentences. Dividing longer sentences into shorter ones can help improve readability.
>
> πŸ“– [Yoast - Writing shorter sentences](https://yoast.com/academy/seo-copywriting-training/sentence-length/)
----------

## πŸ“Š Off-Site SEO
----------
ℹ️ *Off-Site SEO is not about technical details, but about marketing and promotion techniques.*

### Link building
ℹ️ *Link building is the process of getting other websites link back to your site. Backlinks are an important factor for search engines to determine which site to rank higher for which keyword.*

> #### β˜‘οΈ Amount of links
> Amount of links should not be excessive. Having too many links on a single page can hurt your SEO ranking as it is usually a sign of spam. The limit can depend on the type of site you have, whether you report news or provide services as a freelancer on a single landing page.
>
> πŸ“– [Varvy - How many links?](https://varvy.com/howmanylinks.html)
> πŸ“– [Backlinko - Link Building](https://backlinko.com/link-building)
----------

> #### β˜‘οΈ Good vs bad links
> When dealing with links, quality is more important than quantity. The type of links you use on your website and you receive traffic from, can make or break your ranking.
> We can divide good and bad links into two sub-categories: incoming and outgoing links. Some examples for both are listed below.
>
> Links that can be considered **good links:**
> - Links from high authority websites
> - Editorial links
> - Guest posting
> - Niche specific directories
>
> Links that can be considered **bad links:**
> - Links pointing to user profile pages
> - Links pointing to comments
> - Links pointing to dead websites
> - Links created with link builders
> - Links from foreign sites
> - Links from unrelated content
> - Links from paid links
> - Links from spammy comments
>
> πŸ“– [Moz - Types of Links](https://moz.com/beginners-guide-to-link-building/types-of-links)
> πŸ“– [Ahrefs - Bad links](https://ahrefs.com/blog/bad-links/)
----------

> #### β˜‘οΈ The use of rel
> The `rel` attribute on a link tag specifies the relationship between the page and the linked URL. Used by Google to specify whether search spiders should follow the link. Only use if an `href` attribute is present linking to an external resource.
>
> The attribute it can take that is relevant to SEO:
> - **nofollow:** Indicates that the linked document is not endorsed by the author of this one. Do not confuse with **noopener** or **noreferrer**.
>
> πŸ“– [MDN web docs - Link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types)
> πŸ“– [W3Schools - rel attribute](https://www.w3schools.com/TAGS/att_a_rel.asp)
----------

## πŸ“š Other Resources
- πŸ“– [Google Search Console - SEO Starter Guide](https://support.google.com/webmasters/answer/7451184?hl=en&ref_topic=9460495)
- πŸ“– [Google Search Console - Webmaster Guidelines](https://support.google.com/webmasters/answer/35769)
- πŸ“– [Moz - SEO Learning Center](https://moz.com/learn/seo)
- πŸ“– [Moz - The Beginners Guide to SEO](http://d2eeipcrcdle6.cloudfront.net/guides/Moz-The-Beginners-Guide-To-SEO.pdf)
- πŸ“– [TutorialsPoint - SEO Tutorials](http://www.tutorialspoint.com/seo/index.htm)
- πŸ“– [Ahrefs - The Noob Friendly Guide To Link Building](https://ahrefs.com/blog/link-building/)
- πŸ“– [Mastering SEO for Developers](https://www.git-tower.com/blog/seo-for-developers/)
- πŸ“Ί [Ahrefs - SEO For Beginners](https://www.youtube.com/watch?v=DvwS7cV9GmQ)
- πŸ“Ί [Ahrefs - SEO Checklist 2019](https://www.youtube.com/watch?v=taU9P98zfjk)
- πŸ“Ί [Backlinko - SEO Checklist 2020](https://www.youtube.com/watch?v=SEQBi9LtZjQ)
- πŸ“Ί [WordPress - Yoast SEO Tutorial 2019](https://www.youtube.com/watch?v=uNL82kDhG3w)