Jekyll SEO

In this post; we'll learn about some techniques used for improving the SEO of Jekyll websites.

Jekyll is a static site generator that takes a bunch of html and markdown files and generates a static site ready for hosting for free with GitHub pages, GitLab or using your own server (Cheap cost). Jekyll is by far the most popular static site generator out there.

Jekyll is blog aware which means that things such as posts, categories, permalinks are first class citizens so you don’t need to worry if you are intending to build your blog with Jekyll, It should be easy and straightforward.

Jekyll is all about static files which means there is no database and no need for security patches, your website is more secure and very fast(no time spent accessing database).

Unlike other blogging platforms Jekyll gives you a total control over your SEO.   If you are building a static website or a blog with Jekyll and you care about SEO (You should!) in this post I’ll try to show you how to deal with some important SEO tricks when using Jekyll.

URL redirection

URL redirection means redirecting an old url to a new url so you can tell browsers and search engines that some resource has moved to a new location. This is just one of the reasons, you can read this wikipedia article for other reasons why need URL redirection.

You can do url redirection using 301 redirect which means moved permanently to search engines but that’s only possible if you are in control of the web server. In case of a Jekyll website hosted with GitHub or GitLab you need to implement client side redirection 

To implement client side redirection you can use the Meta refresh tag which redirects the visitor to a new location after some controlled amount of time has passed.

    <meta http-equiv=”Refresh” content=”0; url=http://www.domain.com/newlocation" />

You can put the amount of time and the url to the new location in the content attribute separated by a semi-colon.

So how to do URL redirection the Jekyll way, you have two options either use a plugin or a layout.

Jekyll Redirect From Plugin

The Redirect From plugin allows you to do redirects and is white listed by GitHub so you can use it ith your GitHub pages,This is a GEM package so all you have to do is installing it from your terminal and start using it by adding either redirect_from or redirect_to in YAML FrontMatter of a post or page that you want to redirect from or to. For more information on how to use this plugin head over to its GitHub repo(https://github.com/jekyll/jekyll-redirect-from).

If you are not fan of plugins you can use a layout that redirects you using the Meta refresh tag

      <!DOCTYPE html>
      <html>
      <head>
      <link rel="canonical" href=""/>
      <meta http-equiv="content-type" content="text/html; charset=utf-8" />
      <meta http-equiv="refresh" content="0;url=" />
      </head>
      <body>
          <h1>Redirecting...</h1>
            <a href="">Click here if you are not redirected.<a>
            <script>location=''</script>
      </body>
      </html>

Then you can add redirection from any post or page by extending the layout and specify the redirect_to parameter

      ---
      layout: redirected
      sitemap: false
      permalink: /oldlocation/
      redirect_to:  /newlocation/
      ---

You should put sitemap: false in the front matter so your redirected page won’t get included in your sitemap.

Link building, use rel= nofollow with external links

If you include external links in your website then a good seo measure you should be aware of is to specify rel=”nofollow” which tells search engines not to follow these links which preserves your page rank from being transmitted to these urls websites it’s also used to preserve you website authority if the external links you are pointing to are more than the backlinks you have (urls pointing to you)

So how to add rel=”nofollow” automatically to your external links 

You should install first Nokogiri a Ruby XML and HTML library

      gem install nokogiri
    require 'nokogiri'

    module Jekyll
      module ExtLinks
        # Access plugin config in _config.yml
        def config
          @context.registers[:site].config['extlinks']
        end

        # Checks if str contains any fragment of the fragments array
        def contains_any(str, fragments)
          return false unless Regexp.union(fragments) =~ str
          true
        end

        def extlinks(content)
          # Process configured link attributes and whitelisted hosts
          if config
            if config['attributes']
              attributes = Array(config['attributes'])
            end
            if config['rel_exclude']
              rel_exclude = Array(config['rel_exclude'])
            end
          end
          # Stop if no attributes were specified
          return content unless attributes

          doc = Nokogiri::HTML.parse(content)
          # Stop if we could't parse with HTML
          return content unless doc

          doc.css('a').each do |a|
            # If this is a local link don't change it
            next unless a.get_attribute('href') =~ /\Ahttp/i

            attributes.each do |attr, value|
              if attr.downcase == 'rel'
                # If there's a rel already don't change it
                next unless !a.get_attribute('rel') || a.get_attribute('rel').empty?
                # Skip whitelisted hosts for the 'rel' attribute
                next if rel_exclude && contains_any(a.get_attribute('href'), rel_exclude)
              end
              a.set_attribute(attr, value)
            end
          end

          doc.to_s
        end

      end
    end
Liquid::Template.register_filter(Jekyll::ExtLinks)
#Developed by Dmitry Ogarkov - #http://ogarkov.com/jekyll/plugins/extlinks/

To configure the plugin add this to your _config.yml


      # extlinks:
      #   attributes: {rel: nofollow, target: _blank}
      #   rel_exclude: ['host1.com', 'host2.net']
      Now you can use it in the layout 
      <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="msvalidate.01" content="717883E5CC017F74428029865039B548" />
<meta name="google-site-verification" content="p5fO6UZ8-nSvKNUMfwmf8jb7dSQTMnSgw7Vrm4V49YE" />
<link rel="icon" href="/assets/images/logo.png">    
<title>Error:Buildtools 24.0.2 requires Java 1.8 or above. Current JDK version is 1.7 Under Ubuntu | Techiediaries</title>

<!--<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Righteous%7CMerriweather:300,300i,400,400i,700,700i" rel="stylesheet">
<link href="/assets/css/screen.css" rel="stylesheet">
<link href="/assets/css/main.css" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/jquery.jssocials/1.4.0/jssocials.css" />
<link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/jquery.jssocials/1.4.0/jssocials-theme-minima.css" />
-->
<!--<link rel="stylesheet" href="http://cdn.rawgit.com/tabalinas/jssocials/v1.4.0/dist/jssocials-theme-flat.css">-->


<link rel="manifest" href="/manifest.json" />
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async></script>
<script>
  var OneSignal = window.OneSignal || [];
  OneSignal.push(function() {
    OneSignal.init({
      appId: "d3aebc6a-438e-48e0-9f50-66766c258f40",
      autoRegister: false,
      notifyButton: {
        enable: true,
      },
    });
  });
</script>
<script src="/assets/js/sticky-sidebar.min.js"></script>
<script type="text/javascript">
  var sidebar = new StickySidebar('#sidebar', {
      containerSelector: '#main-content',
      innerWrapperSelector: '.sidebar__inner',
      topSpacing: 20,
      bottomSpacing: 20
  });
</script>
<style>

.sidebar {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}


</style>
<style>
#toc_container {
    background: #f9f9f9 none repeat scroll 0 0;
    border: 1px solid #aaa;
    display: table;
    font-size: 95%;
    margin-bottom: 1em;
    padding: 20px;
    width: auto;
}

.toc_title {
    font-weight: 700;
    text-align: center;
}

#toc_container li, #toc_container ul, #toc_container ul li{
    list-style: outs   }
    html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}aside,header{display:block}h1{font-size:2em;margin:.67em 0}a{background-color:transparent;-webkit-text-decoration-skip:objects}strong{font-weight:inherit}strong{font-weight:bolder}code{font-family:monospace,monospace;font-size:1em}img{border-style:none}button,input{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button{text-transform:none}[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}h1,h2{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}ul{margin-top:0;margin-bottom:1rem}blockquote{margin:0 0 1rem}a{color:#0275d8;text-decoration:none}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}img{vertical-align:middle}a,button,input{-ms-touch-action:manipulation;touch-action:manipulation}button,input{line-height:inherit}h1,h2{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1{font-size:2.5rem}h2{font-size:2rem}code{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}.container{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.col-md-4,.col-md-8{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col-md-4,.col-md-8{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col-md-4,.col-md-8{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col-md-4,.col-md-8{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col-md-4,.col-md-8{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}}.collapse{display:none}.nav-link{display:block;padding:.5em 1em}.navbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:.5rem 1rem}.navbar-brand{display:inline-block;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-toggler{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.navbar-toggler-right{position:absolute;right:1rem}@media (max-width:991px){.navbar-toggleable-md>.container{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-toggleable-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-md>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-md .navbar-toggler{display:none}}.navbar-light .navbar-brand,.navbar-light .navbar-toggler{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .active>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.ml-auto{margin-left:auto!important}.text-center{text-align:center!important}@font-face{font-family:FontAwesome;src:url(../../../../fonts/fontawesome-webfont.eot?v=4.7.0);src:url(../../../../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format('embedded-opentype'),url(../../../../fonts/fontawesome-webfont.woff2?v=4.7.0) format('woff2'),url(../../../../fonts/fontawesome-webfont.woff?v=4.7.0) format('woff'),url(../../../../fonts/fontawesome-webfont.ttf?v=4.7.0) format('truetype'),url(../../../../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-google-plus:before{content:"\f0d5"}@font-face{font-family:Righteous;font-style:normal;font-weight:400;src:local('Righteous'),local('Righteous-Regular'),url(https://fonts.gstatic.com/s/righteous/v6/1cXxaUPXBpj2rGoU7C9WiHGA.ttf) format('truetype')}body{font-family:Amiri,serif}.sidebar-outer{margin-top:2rem;position:relative}.fixed{position:fixed}h1,h2{font-family:Amiri,serif;font-weight:600}.mainheading{padding:1rem 0}a{color:#00ab6b}.mediumnavigation{background:rgba(255,255,255,.97);box-shadow:0 2px 2px -2px rgba(0,0,0,.15)}.main-content{min-height:300px}.site-content{min-height:60vh;padding-top:1.5rem;margin-top:57px}.article-post ul{margin-bottom:1.5rem}@media (min-width:992px){.navbar-toggleable-md .navbar-nav .nav-link{padding-right:.7rem;padding-left:.7rem;font-family:Righteous}}.mediumnavigation .navbar-brand{font-weight:500}.mediumnavigation .nav-item{font-size:.9rem}.mediumnavigation .navbar-brand img{max-height:30px;margin-right:5px}.mainheading h1.posttitle{font-family:Righteous;font-weight:700;font-size:4.1rem;margin-bottom:1rem}.article-post{font-family:Amiri}blockquote{border-left:4px solid #00ab6b;padding:0 20px;font-style:italic;color:rgba(0,0,0,.5)}.article-post p{margin:0 0 1.5rem 0}.alertbar{box-shadow:0 -3px 10px 0 rgba(0,0,0,.0785);position:fixed;bottom:0;left:0;background-color:#fff;width:100%;padding:14px 0;z-index:1;display:none}.alertbar form{display:inline-block}.alertbar input[type=email]{font-size:.85rem;padding:3px 5px 3px 10px;border-top-left-radius:3px;border-bottom-left-radius:3px;border:1px solid #ddd;border-right:0;margin-right:-10px;height:34px;letter-spacing:.5px;margin-left:5px}.alertbar input[type=submit]{background-color:#1c9963;border:1px solid #1c9963;color:rgba(255,255,255,1);fill:rgba(255,255,255,1);font-size:.85rem;border-radius:0;padding:4px 10px;border-top-right-radius:3px;border-bottom-right-radius:3px;font-weight:600;height:34px;letter-spacing:.5px}h1,h2{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}.article-post h2{font-weight:700;margin-bottom:1.5rem}img{max-width:100%}     
</style>
<!-- Ezoic Ad Testing Code-->
<script src="//g.ezoic.net/ezoic/ezoiclitedata.go?did=51807"></script>
<!-- Ezoic Ad Testing Code-->

</head>


<body class="layout-post">

    <script>
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

    ga('create', 'UA-74071120-2', 'auto');
    ga('send', 'pageview');
  </script>
    <script src="//m.servedby-buysellads.com/monetization.js" type="text/javascript"></script>
<script>
(function(){
    if(typeof _bsa !== 'undefined' && _bsa) {
        /* format, zoneKey, segment:value, options*/
        _bsa.init('flexbar', 'CK7D523E', 'placement:techiediariescom');
    }
})();
</script>



    <header class="navbar navbar-toggleable-md navbar-light bg-white fixed-top mediumnavigation">
    <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault"
        aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>
    <div class="container">

        <!-- Begin Logo -->
        <a class="navbar-brand" href="/">
            <img src="/assets/images/logo2.png" alt="Techiediaries">
        </a>
        <h1 style="font-family:Righteous;font-size:18px;">Techiediaries</h1>

        <!-- End Logo -->

        <!-- Begin Menu -->
        <div class="collapse navbar-collapse" id="navbarsExampleDefault">
            <!-- Begin Menu -->
            <ul class="navbar-nav ml-auto">
                <li class="nav-item active">                
                    <a class="nav-link" href="/team">Our Team</a>
                </li>
                <li class="nav-item active">
                    <a class="nav-link" href="/ionic">Ionic</a>
                </li>
                <li class="nav-item active">
                    <a class="nav-link" href="/angular">Angular</a>
                </li>
                <li class="nav-item active">
                    <a class="nav-link" href="/react">React</a>
                </li>
                <li class="nav-item active">
                    <a class="nav-link" href="/vuejs">Vue</a>
                </li>
                <li class="nav-item active">
                    <a class="nav-link" href="/django">Django</a>
                </li>

                <li class="nav-item active">
                    <a class="nav-link" href="/electron">Electron</a>
                </li>

                <li class="nav-item active">
                    <a class="nav-link" href="/jekyll">Jekyll</a>
                </li>

                <li class="nav-item active">
                    <a class="nav-link" href="/bootstrap">Bootstrap</a>
                </li>

            </ul>
        </div>
        <!-- End Menu -->

    </div>
</header>

<div class="site-content">   
<div class="container">

<div class="main-content">
    <div class="container">
    <div id="main-content" class="row main">



        <div id ="content" class="col-xs-12 col-md-8 content">
            <div class="mainheading">


                <!-- Post Title -->
                <h1 class="posttitle">Error:Buildtools 24.0.2 requires Java 1.8 or above. Current JDK version is 1.7 Under Ubuntu</h1> 

            </div>

            <!-- Post Featured Image -->

            <!--<img class="featured-image img-fluid" src="https://source.unsplash.com/random?computer" alt="Error:Buildtools 24.0.2 requires Java 1.8 or above. Current JDK version is 1.7 Under Ubuntu">-->


            <!-- End Featured Image -->


            <!-- Post Content -->

            <div class="article-post">
                <div style="margin: 10px;" id="share"></div>
                <p>Rencently i&#39;ve started working with Android Studio instead of Eclipse for developing Android applications.As usual,when starting with a new development tool ,the installation process takes time and causes a lot of frustration to most developers .Anyway to work with the latest Android Studio you need to have Java 1.8 installed in your computer as recommended by Google on its Android studio website,if you just go with any version of Java,you have already, and ignore that recommendation, all is going to be fine until you create your first project you&#39;ll be welcomed with this error:</p>
<div class="highlight"><pre><code class="language-" data-lang="">&lt;b&gt;Error:Buildtools 24.0.2 requires Java 1.8 or above. Current JDK version is 1.7&lt;/b&gt;
</code></pre></div>
<p>So if you are encoutering the same problem and you are using Ubuntu feel free to follow my post on how to solve the probem.</p>

<p>First of all i&#39;ve installed the latest version of Java(1.8) using this PPA ppa:webupd8team/java.If you have a problem installing Java you can follow this detailed post on <a href="/2016-09-19-how-to-install-java-8-jdk-8u101-on-ubuntu-via-ppa">How to install Java 1.8 under Ubuntu 15</a></p>

<p>After installing Java 8 I started my Android Studio again and when i&#39;ve executed my newely created project i encoutered the same problem again .So what the hell is going on ? don&#39;t worry I have the solution here .</p>

<h2>Change your project settings to use Oracle Java 1.8 instead of Java 1.7</h2>

<p>This is very simple just hit F4 or Right Click on your project and choose module settings from the menu </p>

<p>Now all you have to do is changing</p>

<p>https://www.youtube.com/watch?v=MR49-iseQP0</p>

            </div>

            <!-- Post Date -->
            <p>
            <small>
                <span class="post-date"><time class="post-date" datetime="2016-12-30">30 Dec 2016</time></span>           

                </small>
            </p>


            <!-- Post Categories -->
            <div class="after-post-tags">
                <ul class="tags">


                    <li>
                     <a href="/topics/java/">java</a>
                    </li>

                </ul>
            </div>
            <!-- End Categories -->
                <!-- Author Box -->

            <!-- Prev/Next -->
            <div class="row PageNavigation">

                <a class="col-md-6 prev" href="/inkscape/drawing-trees-for-2d-games-with-inkscape/">&laquo; How to draw 2d trees for games with Inkscape</a>


                <a class="col-md-6 text-right next" href="/jekyll/how-to-jekyll-like-a-pro-improving-seo/">Jekyll SEO &raquo;</a>

            </div>

            <hr/>


        </div>
        <div id="sidebar" class="col-xs-12 col-md-4 col-xs-offset-1 sidebar">

            <div class="sidebar__inner">
            <!-- Ezoic - SidebarTop1 - sidebar -->
            <div style="margin-top:10px;" id="ezoic-pub-ad-placeholder-101">
                <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
                <!-- TechieDiariesBottomRight -->
                <ins class="adsbygoogle"
                     style="display:block"
                     data-ad-client="ca-pub-9293763250492023"
                     data-ad-slot="2757012795"
                     data-ad-format="auto"
                     data-full-width-responsive="true"></ins>
                <script>
                (adsbygoogle = window.adsbygoogle || []).push({});
                </script>                
            </div>
            <!-- End Ezoic - SidebarTop1 - sidebar -->
            <!-- Ezoic - SidebarMiddle1 - sidebar_middle -->
            <div style="margin-top:10px;" id="ezoic-pub-ad-placeholder-103">
                <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
                <!-- TechiediariesHomePage -->
                <ins class="adsbygoogle"
                     style="display:block"
                     data-ad-client="ca-pub-9293763250492023"
                     data-ad-slot="9105165196"
                     data-ad-format="auto"
                     data-full-width-responsive="true"></ins>
                <script>
                (adsbygoogle = window.adsbygoogle || []).push({});
                </script>                
            </div>
            <!-- End Ezoic - SidebarMiddle1 - sidebar_middle -->
            </div>
        </div>
        <!-- End Post -->

    </div>
</div>
<!-- End Article
================================================== -->



<!-- Begin Comments
================================================== -->
<div id="comments" class="row mb-5">
    <div class="col-md-8">              
        <section class="disqus">
    <div id="disqus_thread"></div>
    <script type="text/javascript">
        var disqus_shortname = 'techiediaries'; 
        var disqus_developer = 0;
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = window.location.protocol + '//' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
    </script>
    <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
    <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</section>


    </div>
</div>
<!--End Comments
================================================== -->
</div>



<footer class="footer">
    <p class="pull-left">
        Copyright © 2018 Techiediaries
    </p>
    <div class="clearfix">
    </div>
</footer>


</div>  
</div>     

<script id="dsq-count-scr" src="//techiediaries.disqus.com/count.js" async></script>




<!-- BEGIN PRIVY ASYNCHRONOUS WIDGET CODE -->
<script type='text/javascript'>
    var _d_site = _d_site || 'E3E1C968C7F56DFCCA860FE0';
    (function(p, r, i, v, y) {
      p[i] = p[i] || function() { (p[i].q = p[i].q || []).push(arguments) };
      v = r.createElement('script'); v.async = 1; v.src = 'https://widget.privy.com/assets/widget.js';
      y = r.getElementsByTagName('script')[0]; y.parentNode.insertBefore(v, y);
    })(window, document, 'Privy');
 </script>
 <!-- END PRIVY ASYNCHRONOUS WIDGET CODE -->

<script>
    if('serviceWorker' in navigator) {
      navigator.serviceWorker.register('/sw.js')
        .then(function() {
              console.log('Service Worker Registered');
        });
    }
</script>


<!-- Default Statcounter code for Techiediaries
https://www.techiediaries.com -->
<script type="text/javascript">
    var sc_project=11727930; 
    var sc_invisible=1; 
    var sc_security="6afc9c45"; 
    </script>
    <script type="text/javascript"
    src="https://www.statcounter.com/counter/counter.js"
    async></script>
    <noscript><div class="statcounter"><a title="real time web
    analytics" href="http://statcounter.com/"
    target="_blank"><img class="statcounter"
    src="//c.statcounter.com/11727930/0/6afc9c45/1/" alt="real
    time web analytics"></a></div></noscript>
    <!-- End of Statcounter Code -->



</body>
</html>

Cloacking External Links

Masking external links by using internal links so instead of going to www.example.com your visitor will visit first, for example www.yoursite.com/go/examplecom and then gets redirected to www.example.com. So how we can achieve URL cloaking or masking using Jekyll.

Conclusion

In this article, we've seen many techniques for improving the SEO of your Jekyll website.


comments powered by Disqus