diff --git a/_config.yml b/_config.yml
index 282bba7..fc53e48 100644
--- a/_config.yml
+++ b/_config.yml
@@ -1,10 +1,10 @@
# Site settings
title: Search Engine Optimization
description: A helpful checklist / collection of Search Engine Optimization (SEO) tips and technics.
-baseurl: "" # the subpath of your site, e.g. /blog/
-url: "" # the base hostname & protocol for your site
+baseurl: '' # the subpath of your site, e.g. /blog/
+url: '' # the base hostname & protocol for your site
twitter_username: m412c0b
-github_username: marcobiedermann
+github_username: marcobiedermann
exclude: [readme.md]
sass:
style: compressed
diff --git a/_includes/footer.html b/_includes/footer.html
index ca2657c..2aac2ea 100644
--- a/_includes/footer.html
+++ b/_includes/footer.html
@@ -1,9 +1,5 @@
diff --git a/_includes/head.html b/_includes/head.html
index db9b417..2870d01 100644
--- a/_includes/head.html
+++ b/_includes/head.html
@@ -1,18 +1,20 @@
-
-
-
diff --git a/_sass/_base.scss b/_sass/_base.scss
index 52c0b7c..3d85c66 100644
--- a/_sass/_base.scss
+++ b/_sass/_base.scss
@@ -21,7 +21,7 @@ body {
background: $base-bgcolor;
color: $base-color;
font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family, $base-font-family-fallback;
- min-height: 100%;
margin: 0;
+ min-height: 100%;
position: relative;
}
diff --git a/_sass/_variables.scss b/_sass/_variables.scss
index 18e305e..d17ed8d 100644
--- a/_sass/_variables.scss
+++ b/_sass/_variables.scss
@@ -3,7 +3,7 @@ $base-border-color: #808080;
$base-color: #111;
$base-font-family-fallback: sans-serif;
$base-font-family: Helvetica Neue;
-$base-font-size: .875rem;
+$base-font-size: 0.875rem;
$base-font-weight: 400;
$base-line-height: 1.5;
diff --git a/_sass/modules/_code.scss b/_sass/modules/_code.scss
index 4620a7e..718c32d 100644
--- a/_sass/modules/_code.scss
+++ b/_sass/modules/_code.scss
@@ -1,6 +1,6 @@
$code-font-family: 'Courier New';
$code-font-family-fallback: monospace;
-$code-font-size: .875rem;
+$code-font-size: 0.875rem;
code {
font-family: $code-font-family, $code-font-family-fallback;
diff --git a/_sass/modules/_github.scss b/_sass/modules/_github.scss
index 9fd2dae..48f0219 100644
--- a/_sass/modules/_github.scss
+++ b/_sass/modules/_github.scss
@@ -1,41 +1,38 @@
.github {
height: 80px;
- width: 80px;
position: fixed;
right: 0;
top: 0;
transform: translateZ(0);
+ width: 80px;
z-index: 1;
&:hover {
-
.github__arm {
-
@media (min-width: $media-sm) {
animation: octocat-wave 560ms ease-in-out;
}
-
}
-
}
&__arm {
transform-origin: 130px 106px;
}
-
}
-@keyframes octocat-wave{
-
- 0%, 100%{
+@keyframes octocat-wave {
+ 0%,
+ 100% {
transform: rotate(0);
}
- 20%, 60%{
+ 20%,
+ 60% {
transform: rotate(-25deg);
}
- 40%, 80%{
+
+ 40%,
+ 80% {
transform: rotate(10deg);
}
-
}
diff --git a/_sass/modules/_headlines.scss b/_sass/modules/_headlines.scss
index e53ea77..82cbd00 100644
--- a/_sass/modules/_headlines.scss
+++ b/_sass/modules/_headlines.scss
@@ -1,9 +1,7 @@
$headlines-color: #686868;
@for $i from 1 through 6 {
-
h#{$i} {
- margin: 0 0 .5rem;
+ margin: 0 0 0.5rem;
}
-
}
diff --git a/_sass/modules/_links.scss b/_sass/modules/_links.scss
index de39743..cd9117c 100644
--- a/_sass/modules/_links.scss
+++ b/_sass/modules/_links.scss
@@ -7,7 +7,7 @@ a {
border: 0;
color: $link-color;
text-decoration: none;
- transition: background-color .3s, color .3s;
+ transition: background-color 0.3s, color 0.3s;
&:active {
color: $link-active-color;
@@ -21,5 +21,4 @@ a {
&:focus {
outline: none;
}
-
}
diff --git a/_sass/modules/_lists.scss b/_sass/modules/_lists.scss
index e0e8dfe..75415a9 100644
--- a/_sass/modules/_lists.scss
+++ b/_sass/modules/_lists.scss
@@ -5,12 +5,11 @@ ul {
ol,
ul {
- margin: .5rem 0 0;
+ margin: 0.5rem 0 0;
padding-left: 1.5rem;
}
li {
- margin-bottom: .25rem;
+ margin-bottom: 0.25rem;
}
-
}
diff --git a/_sass/modules/_quotes.scss b/_sass/modules/_quotes.scss
index 4e78b05..87c0deb 100644
--- a/_sass/modules/_quotes.scss
+++ b/_sass/modules/_quotes.scss
@@ -1,17 +1,14 @@
blockquote {
margin: 0;
- quotes: '\201C' '\201D' '\2018' '\2019';
+ quotes: '\201C''\201D''\2018''\2019';
p {
-
- &:before {
+ &::before {
content: open-quote;
}
- &:after {
+ &::after {
content: close-quote;
}
-
}
-
}
diff --git a/js/script.js b/js/script.js
index f55eb0c..9275d73 100644
--- a/js/script.js
+++ b/js/script.js
@@ -18,19 +18,45 @@
// easing
var easing = {
- linear: function (t) { return t; },
- easeInQuad: function (t) { return t * t; },
- easeOutQuad: function (t) { return t * (2 - t); },
- easeInOutQuad: function (t) { return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t; },
- easeInCubic: function (t) { return t * t * t; },
- easeOutCubic: function (t) { return (--t) * t * t + 1; },
- easeInOutCubic: function (t) { return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1; },
- easeInQuart: function (t) { return t * t * t * t; },
- easeOutQuart: function (t) { return 1 - (--t) * t * t * t; },
- easeInOutQuart: function (t) { return t < 0.5 ? 8 * t * t * t * t : 1 - 8 * (--t) * t * t * t; },
- easeInQuint: function (t) { return t * t * t * t * t; },
- easeOutQuint: function (t) { return 1 + (--t) * t * t * t * t; },
- easeInOutQuint: function (t) { return t < 0.5 ? 16 * t * t * t * t * t : 1 + 16 * (--t) * t * t * t * t; }
+ linear: function(t) {
+ return t;
+ },
+ easeInQuad: function(t) {
+ return t * t;
+ },
+ easeOutQuad: function(t) {
+ return t * (2 - t);
+ },
+ easeInOutQuad: function(t) {
+ return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
+ },
+ easeInCubic: function(t) {
+ return t * t * t;
+ },
+ easeOutCubic: function(t) {
+ return --t * t * t + 1;
+ },
+ easeInOutCubic: function(t) {
+ return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;
+ },
+ easeInQuart: function(t) {
+ return t * t * t * t;
+ },
+ easeOutQuart: function(t) {
+ return 1 - --t * t * t * t;
+ },
+ easeInOutQuart: function(t) {
+ return t < 0.5 ? 8 * t * t * t * t : 1 - 8 * --t * t * t * t;
+ },
+ easeInQuint: function(t) {
+ return t * t * t * t * t;
+ },
+ easeOutQuint: function(t) {
+ return 1 + --t * t * t * t * t;
+ },
+ easeInOutQuint: function(t) {
+ return t < 0.5 ? 16 * t * t * t * t * t : 1 + 16 * --t * t * t * t * t;
+ },
};
// requestAnimationFrame
@@ -76,10 +102,10 @@
function scroll(timestamp) {
var currentTime = Date.now();
- var time = Math.min(1, ((currentTime - start) / duration));
+ var time = Math.min(1, (currentTime - start) / duration);
var easedT = easingFunction(time);
- elem.scrollTop = (easedT * (Y - from)) + from;
+ elem.scrollTop = easedT * (Y - from) + from;
if (time < 1) {
requestAnimationFrame(scroll);
@@ -87,9 +113,7 @@
if (callback) {
callback();
}
-
}
-
}
requestAnimationFrame(scroll);
@@ -104,9 +128,8 @@
length = links.length;
for (i = 0; i < length; i++) {
- if (links[i].hostname != window.location.hostname) {
- links[i].target = '_blank';
- }
+ if (links[i].hostname != window.location.hostname) {
+ links[i].target = '_blank';
+ }
}
-
-}(window, document));
+})(window, document);
diff --git a/readme.md b/readme.md
index 4de1f51..7194cb9 100644
--- a/readme.md
+++ b/readme.md
@@ -6,226 +6,250 @@
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](#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
-* **[www or no-www](https://support.google.com/webmasters/answer/44231):** provide both domains, but set a prefered version in Google Webmaster Tools
+
+- **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
+- **[www or no-www](https://support.google.com/webmasters/answer/44231):** provide both domains, but set a prefered version in Google Webmaster Tools
## 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:** 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
+
+- **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:** 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`
+
+- **[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:** 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
+
+- **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
+
+- **[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 `