How to remove "?m=1" from blogger

How to remove "?m=1" from blogger

How to remove "?m=1" from blogger blog

 Hello friends, 

After a month I'm sharing on my blog. How to remove "?m=1" from blogger blog.

Because if we create blog using Google blogger then we get m=1 with blog address.

So here you can say good bye to this tag "m=1".

Just copy the below highlighted code and paste it on your blog template.


Also Check: How to type English to Telugu 


How to hide "m=1"?

  1. Go to blogger.
  2. Now go to Template section
  3. Click on edit HTML.
  4. Search </body> and paste the below code before <body>.
  5. Save the theme. And say goodbye with this annoying tag.


<script type='text/javascript'>  

 //<![CDATA[  

 var uri = window.location.toString();  

 if (uri.indexOf("%3D","%3D") > 0) {  

 var clean_uri = uri.substring(0, uri.indexOf("%3D"));  

 window.history.replaceState({}, document.title, clean_uri);  

 }  

 var uri = window.location.toString();  

 if (uri.indexOf("%3D%3D","%3D%3D") > 0) {  

 var clean_uri = uri.substring(0, uri.indexOf("%3D%3D"));  

 window.history.replaceState({}, document.title, clean_uri);  

 }  

 var uri = window.location.toString();  

 if (uri.indexOf("&m=1","&m=1") > 0) {  

 var clean_uri = uri.substring(0, uri.indexOf("&m=1"));  

 window.history.replaceState({}, document.title, clean_uri);  

 }  

var uri = window.location.toString();  

 if (uri.indexOf("?m=1","?m=1") > 0) {  

 var clean_uri = uri.substring(0, uri.indexOf("?m=1"));  

 window.history.replaceState({}, document.title, clean_uri);  

 }  

 //]]>  

 </script>

I redesign a blogger template and use this code for remove m=1. You can check it.
Voice To Text converter (HTML/JavaScript)

Voice To Text converter (HTML/JavaScript)

Create Voice To Text converter with HTML and JavaScript
Hello friends, Today i'm sharing "How to create Voice To Text converter with HTML and JavaScript?"
If you are a webmaster or blogger then you can create this tool on your website/blog.
For create voice to text converter, create a new page and follow this tutorial.


  • Create a plain html page or for blogger create a new page.
  • Add HTML for this tool.

<div class="words" contenteditable>
</div>


  • After HTML add CSS for this tool.
<style>@import url("https://fonts.googleapis.com/css?family=Open+Sans");

html {
  font-size: 10px;
}

body {
  background: #fce6d3;
  font-family: "Open Sans", sans-serif;
  font-size: 2rem;
  color: #1d2e4b;
}

.words {
  max-width: 500px;
  margin: 50px auto;
  background: #fff;
  border-radius: 5px;
  padding: 1rem 2rem 1rem 5rem;
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#cfddf9), color-stop(4%, #fff)) 0 4px;
  background-size: 100% 3rem;
  position: relative;
  line-height: 3rem;
  -moz-box-shadow: 2px 8px 15px rgba(228, 126, 118, 0.5);
  -webkit-box-shadow: 2px 8px 15px rgba(228, 126, 118, 0.5);
  box-shadow: 2px 8px 15px rgba(228, 126, 118, 0.5);
}

p {
  margin: 0 0 3rem;
}

.words:before {
  content: "";
  position: absolute;
  width: 4px;
  top: 0;
  left: 30px;
  bottom: 0;
  border: 1px solid;
  border-color: transparent #ffd9d9;
}</style>


  • Add JavaScript code for this tool
<script>
window.SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;

if (!window.SpeechRecognition) {
  alert("Your browser does not support speech recognition. Use Chrome!")
}

const recognition = new SpeechRecognition();
recognition.interimResults = true;

let p = document.createElement('p');
const words = document.querySelector('.words');
words.appendChild(p);

recognition.addEventListener('result', e => {
  const transcript = Array.from(e.results)
    .map(result => result[0])
    .map(result => result.transcript)
    .join('');

    p.textContent = transcript;

    if(e.results[0].isFinal) {
      p = document.createElement('p');
      words.appendChild(p);
    }

  console.log(transcript);
});


recognition.addEventListener('end', recognition.start);
recognition.start();</script>

  • Now your tool is ready.
Create Sitemap with Drop-down list (blogger)

Create Sitemap with Drop-down list (blogger)

How to create Sitemap with Drop-down list in blogger (Visheshgrewal.blogspot.com)
Hello My friends! In this post i'm sharing you How to create Sitemap with Drop-down list in blogger. Because sitemap is important in SEO for give better search results of your site/blog.
I'm sharing code for sitemap who create sitemap of your blogger blog with Drop-down list.

How to create Drop-down sitemap?

    • Login to your blogger Account.
    • Select your blog.
    • Now go to Pages section.
    • Create new page.
    • Enter the name of page.
    • Paste the copied code and click on publish.
    Note:- After copy this code, Please change your blog address with https://visheshgrewal.blogspot.com
    Add a Cookie Notice for Privacy Policy Agreement

    Add a Cookie Notice for Privacy Policy Agreement

    How to add a Cookie Notice for Privacy Policy Agreement [Blogger/Website]

    Why Cookies notification Required for blogger/website.

    European Union (EU) laws require you to give EU visitors information about cookies used on your blog. In many cases, these laws also require you to obtain consent.

    As a courtesy, Google added the following notice on your blog to help meet these regulations:

    "This site uses cookies from Google to deliver its services and analyze traffic. Your IP address and user-agent are shared with Google along with performance and security metrics to ensure quality of service, generate usage statistics, and to detect and address abuse."

    The notice lets visitors know about Google's use of certain Blogger and Google cookies on your blog, including Google Analytics and AdSense cookies.

    Cookies and Cookie Types:-

    Cookies can be classified into different types based on different characteristics. 
    • Based on their purpose, there are basically two types of cookies, necessary and non-necessary. The necessary cookies are the ones that are essential for the functioning of a website, and the non-necessary cookies are the ones that are added additionally by the website and are not really important for the functioning of the website.    
    • Based on their origin, cookies can be divided into first-party and third-party cookies. First-party cookies are set by the website itself that the user is currently visiting, say, check whether the user is logged in or not. Whereas third-party cookies are put in by other websites that track the user for targeting relevant advertisements.
    • Based on their duration, cookies can be divided into two, persistent and session cookies. Session cookies are set when the user starts a session and are temporary cookies. They expire once the browser is closed and the session ends. Persistent cookies, on the other hand, stay on the user’s browser for a longer period and only die when they reach their expiration period.

    Adding a Cookie Banner Agreement:-

    Blogger is a popular platform/website to create your blog in free. To add a cookie banner that is GDPR compliant on your Blogger or Blogspot website, you can use this Tutorial.

    Steps To Add Cookie Notice:-

    1. Go to  Blogger.
    2. Now Go to Theme option.
    3. Click on Edit HTML.
    4. Now Paste this CSS code after tag.

      
      <style> .cc-window{opacity:1;transition:opacity 1s ease}
      .cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{transition:transform 1s ease}
      .cc-animate.cc-revoke.cc-top{transform:translateY(-2em)}
      .cc-animate.cc-revoke.cc-bottom{transform:translateY(2em)}
      .cc-animate.cc-revoke.cc-active.cc-bottom,.cc-animate.cc-revoke.cc-active.cc-top,.cc-revoke:hover{transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;transition:max-height 1s}
      .cc-link,.cc-revoke:hover{text-decoration:underline}
      .cc-revoke,.cc-window{position:fixed;overflow:hidden;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}
      .cc-window.cc-static{position:static}
      .cc-window.cc-floating{padding:2em;max-width:24em;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}
      .cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em}.cc-link:hover{opacity:1}
      .cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}
      .cc-banner .cc-btn:last-child{min-width:140px}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}
      .cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1}.cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}
      .cc-revoke.cc-right{right:3em;left:unset}
      .cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}
      .cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-ms-flex:1;flex:1}
      .cc-window.cc-banner{-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{-ms-flex:1;flex:1}
      .cc-compliance{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-compliance>.cc-btn{-ms-flex:1;flex:1}
      .cc-btn+.cc-btn{margin-left:.5em}@media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}
      .cc-window.cc-banner,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}
      .cc-window.cc-banner{-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-ms-flex:1;flex:1}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}
      .cc-window.cc-banner{-ms-flex-align:unset;align-items:unset}}.cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block}.cc-theme-edgeless.cc-window{padding:0}
      .cc-floating.cc-theme-edgeless .cc-message{margin:2em 2em 1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}
      .cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0} #cookieChoiceInfo {display:none} .cc_container {box-shadow: none; border: 1px soild #ddd; border-radius: 0;} .cc_container .cc_btn:hover, .cc_container .cc_btn:active {background: #999; color: #fff;}
       .cc_container .cc_btn, .cc_container .cc_btn:visited {background: #000 !important; color: #fff !important; border-radius: 2px !important;} 
      </style> 
      


  •  Paste this JavaScript code after this CSS code.


  • 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.6/cookieconsent.min.js">
    </script>
    

    Paste this Javascript code after </body>.

    
    <script>
        // EU Law Cookies
    
    window.addEventListener("load", function()
    { window.cookieconsent.initialise
    ({ "palette": { "popup": { "background": "#eb6c44", "text": "#ffffff" }, "button": { "background": "#f5d948", "text": "#fff" } }, "position": "bottom-center", "content": 
    { "message": "This site uses cookies from Google to deliver its services, to personalise ads and to analyse traffic. By using this site, you agree to its use of cookies.", "dismiss": "OK", "href": "https://visheshgrewal.blogspot.com/p/privacy-policy.html", } })});
    
      </script>
    
    Create JavaScript Obfuscator Tool [PHP]

    Create JavaScript Obfuscator Tool [PHP]

    Create Your Own JavaScript Obfuscator Tool using PHP visheshgrewal.blogspot.com


    JavaScript Obfuscator is a powerful free obfuscator for JavaScript, containing a variety of features which provide protection for your source code.


    What is Javascript Obfuscator?

    To transforms your original JavaScript source code into a new representation that's harder to understand, copy, re-use and modify without authorization. The obfuscated result will have the exact functionality of the original code.

    Why Obfuscation?

    • Code size will be reduced.
    • Hide the business logic and your code from others.
    • Reverse engineering is highly difficult.
    • In JavaScript, download time will be reduced.
    If you are developing enterprise application, Then I recommend you can use a product like Jscrambler for obfuscating your code. Reverse engineering of obfuscated code is really difficult to Decode.
     Example of Obfuscating of JavaScript Code.
    Original JavaScript code:-
    function hello(name) {
        console.log('Hello, ' + name);
    }
    hello('New user');

    After obfuscation:-
    
    eval(function(p,a,c,k,e,d)
    {while(c--){if(k[c])
    {p=p.replace(new RegExp('\\b'+c+'\\b','g'),k[c])}}
    return p}('7 0(1){6.5(\'4, \'+1)}0(\'3 2\');',8,8,
    'hello|name|user|New|Hello|log|console|function'.split('|')))
    

    How To make your Own JavaScript Obfuscator by Using PHP?
    To create your own JavaScript Obfuscator, You have an hosting account with Supported PHP version 5.4<.
    1.  Create a file with name index.php
    • Click Here to Get Code for Index.php file from Github.
    2. Create 2nd file with name  HunterObfuscator.php

    
    <?php
    class HunterObfuscator
    {
        private $code;
        private $mask;
        private $interval;
        private $option = 0;
        private $expireTime = 0;
        private $domainNames = array();
    
        function __construct($Code, $html = false)
        {
            if ($html) {
                $Code = $this->cleanHtml($Code);
    $this->code = $this->html2Js($Code);
    } else {
    $Code = $this->cleanJS($Code);
    $this->code = $Code;
    }
    
    $this->mask = $this->getMask();
    $this->interval = rand(1, 50);
    $this->option = rand(2, 8);
    }
    
    private function getMask()
    {
    $charset = str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
    return substr($charset, 0, 9);
    }
    
    private function hashIt($s)
    {
    for ($i = 0; $i < strlen($this->mask); ++$i)
    $s = str_replace("$i", $this->mask[$i], $s);
    return $s;
    }
    
    private function prepare()
    {
    if (count($this->domainNames) > 0) {
    $code = "if(window.location.hostname==='" . $this->domainNames[0] . "' ";
    for ($i = 1; $i < count($this->domainNames); $i++)
    $code .= "|| window.location.hostname==='" . $this->domainNames[$i] . "' ";
    $this->code = $code . "){" . $this->code . "}";
    }
    if ($this->expireTime > 0)
    $this->code = 'if((Math.round(+new Date()/1000)) < ' . $this->expireTime . '){' . $this->code . '}';
    }
    
    private function encodeIt()
    {
    $this->prepare();
    $str = "";
    for ($i = 0; $i < strlen($this->code); ++$i)
    $str .= $this->hashIt(base_convert(ord($this->code[$i]) + $this->interval, 10, $this->option)) . $this->mask[$this->option];
    return $str;
    }
    
    public function Obfuscate()
    {
    $rand = rand(0,99);
    $rand1 = rand(0,99);
    return "var _0xc{$rand}e=[\"\",\"\x73\x70\x6C\x69\x74\",\"\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x2B\x2F\",\"\x73\x6C\x69\x63\x65\",\"\x69\x6E\x64\x65\x78\x4F\x66\",\"\",\"\",\"\x2E\",\"\x70\x6F\x77\",\"\x72\x65\x64\x75\x63\x65\",\"\x72\x65\x76\x65\x72\x73\x65\",\"\x30\"];function _0xe{$rand1}c(d,e,f){var g=_0xc{$rand}e[2][_0xc{$rand}e[1]](_0xc{$rand}e[0]);var h=g[_0xc{$rand}e[3]](0,e);var i=g[_0xc{$rand}e[3]](0,f);var j=d[_0xc{$rand}e[1]](_0xc{$rand}e[0])[_0xc{$rand}e[10]]()[_0xc{$rand}e[9]](function(a,b,c){if(h[_0xc{$rand}e[4]](b)!==-1)return a+=h[_0xc{$rand}e[4]](b)*(Math[_0xc{$rand}e[8]](e,c))},0);var k=_0xc{$rand}e[0];while(j>0){k=i[j%f]+k;j=(j-(j%f))/f}return k||_0xc{$rand}e[11]}eval(function(h,u,n,t,e,r){r=\"\";for(var i=0,len=h.length;iencodeIt() . "\"," . rand(1, 100) . ",\"" . $this->mask . "\"," . $this->interval . "," . $this->option . "," . rand(1, 60) . "))";
    }
    public function setExpiration($expireTime)
    {
    if (strtotime($expireTime)) {
    $this->expireTime = strtotime($expireTime);
    return true;
    }
    return false;
    }
    
    public function addDomainName($domainName)
    {
    if ($this->isValidDomain($domainName)) {
    $this->domainNames[] = $domainName;
    return true;
    }
    return false;
    }
    
    private function isValidDomain($domain_name)
    {
    return (preg_match("/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i", $domain_name)
    && preg_match("/^.{1,253}$/", $domain_name)
    && preg_match("/^[^\.]{1,63}(\.[^\.]{1,63})*$/", $domain_name));
    }
    
    private function html2Js($code)
    {
    $search = array(
    '/\>[^\S ]+/s',     // strip whitespaces after tags, except space
    '/[^\S ]+\
    /' // Remove HTML comments ); $replace = array( '>', '<',             '\\1',             ''         );         $code = preg_replace($search, $replace, $code);         $code = "document.write('" . addslashes($code . " ") . "');";         return $code;     }      private function cleanHtml($code)     {         return preg_replace('//', '', $code); }  private function cleanJS($code) { $pattern = '/(?:(?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:(?<!\:|\\\|\')\/\/.*))/';         $code = preg_replace($pattern, '', $code);         $search = array(             '/\>[^\S ]+/s',     // strip whitespaces after tags, except space '/[^\S ]+\/' // Remove HTML comments ); $replace = array( '>', '<',             '\\1',             ''         );         return preg_replace($search, $replace, $code);     } }
    All Blogger Conditional Tags and How to Use in your Blogger Blog

    All Blogger Conditional Tags and How to Use in your Blogger Blog

    All Blogger Conditional Tags and How to Use Them by Vishesh Grewal


    If you are a blogger and you don't know about Blogger Conditional.
    Don't worry i posted all Blogger Conditional Tags and How to Use Them.
    By using conditional tags, you can specify part of your template to specific place under certain condition. Example: Using conditional tags, you can hide/show content on specific post/page/label/sidebar etc.

    Blogger Conditional Tags
    In this tutorial, i share all blogger conditional tags thats almost useful for blogger.


    1. Conditional Tag Use
    
     <b:if cond='ADD_CONDITION_HERE'>ADD CONTENT HERE</b:if>
     The conditional tags syntax start with <b:if> tags and a cond attributes. Condition need to write as the value of cond attribute. Every opening  <b:if> tag need to be closed with a closing </b:if> tag.


    2.  All Blogger Conditional Tags List
    • Homepage
      
      <b:if cond='data:blog.url == data:blog.homepageUrl'>ADD CONTENT HERE</b:if>
      •  Blog Post/Article Page
      
      <b:if cond='data:blog.pageType == "item"'>ADD CONTENT HERE</b:if>

      3. Index Page
      Index pages include homepage, label page, search page and yearly archive page.
      
      <b:if cond="data:blog.pageType == "index"">ADD CONTENT HERE</b:if> 


      4. Static Pages
      Static page means blogger page which we created by blogger page section.
      <b:if cond='data:blog.pageType == "static_page"'>
      ADD CONTENT HERE
      </b:if>

      5. Post and Static Pages
      
      <b:if cond='data:blog.url == data:post.url'>
      ADD CONTENT HERE
      </b:if>


      6. Label and Search Pages
      
      <b:if cond='data:blog.searchLabel'>
      ADD CONTENT HERE
      </b:if>


      7. Archive Pages
      
      <b:if cond='data:blog.pageType == "archive"'>
      ADD CONTENT HERE
      </b:if>


      8. 404 Error Page
      
      <b:if cond='data:blog.pageType == "error_page"'>
      ADD CONTENT HERE
      </b:if>


      9. First Post
      This is not for a page type. It's used for targeting the posts on multi-post pages like (index,archive,label,search query).
      
      <b:if cond='data:post.isFirstPost'>
      ADD CONTENT HERE
      </b:if>


      10. Specific Label
      Change PUT_LABEL_NAME_HERE with your label name. Label name is case sensitive.
      
      <b:if cond='data:post.labels any (l => l.name == "PUT_LABEL_NAME_HERE")'>
      ADD CONTENT HERE
      </b:if>

      Applying Conditional Tags:-

      To apply a conditional tag to a content, you need to put your content between the opening <b:if cond..>  and closing </b:if>. Example see below
      
      <b:if cond='data:blog.pageType == "item"'> 
      CONTENT (TO BE EXECUTED IF CONDITION IS TRUE)
      </b:if>

      Applying Reverse Conditional Tags:-
      If you want to reverse a conditional tag, you can do it by changing comparison operator from == (is equal to) to != (is not equal to).
      <b:if cond='data:blog.pageType != "item"'>
      CONTENT (TO BE EXECUTED IF CONDITION IS TRUE)
      </b:if>

      In the example above, the content will appear all of pages except post page. Remember that you can not apply this method to Label-Search and First Post conditionals.

      You can place all of conditional anywhere inside the template HTML. It will not work on blogger Layout like (Add a Gadget>HTML/Javascript)
      All in One SEO Pack for Blogspot Blogger

      All in One SEO Pack for Blogspot Blogger

      All in One SEO Pack for Blogspot All in One SEO Pack for Blogspot Blogger by Vishesh Grewal

      How to add meta tag in blogger. 

      Yes! in this posts i will share a complete pack of Blogger SEO meta tags.  As you all know that Blogspot is a most popular and easy CMS blogging platform. Search engine optimization is most important part in blogger also. A user and Search engine got a brief idea from title tag of your page/posts and it is must important. We put <title> tag after <head> tag. This title tag display on browser's title bar and Search result. If you running a blogspot blog, then you must need to SEO Optimize for your blog. SEO for blogger is most important part for every blogger. In this post i shared a complete SEO pack for blogger. A blog's must need to add different tilte tag in different pages or posts.

      Blogger SEO / Blogspot SEO

      Blogger keywords meta tags summarize your blog to search bots that, what about your blog.  Description meta tag is also important for blogger. Description meta tag provide a summary of your page or posts on search result. That is most important for indexing your posts on search engines. Title meta tag and description meta tag is most important for blogger seo. Blogger meta description tag is  <meta name="description" content="XXXX"/> this is meta tag description for blogger and it also to place after <head> like title tag. This will help in better search result.

      `If in your blog already added seo tags, then you must need clear previous meta tags from your blog. Now lets start and see how to add meta tags in blogger. Now go to Blogger Dashboard > Edit HTML and past below code right after <head>`.

      
      <!-- All in One SEO Pack for blogger by Vishesh Grewal -->
      <meta charset='utf-8'/>
      <meta content='width=device-width, initial-scale=1, maximum-scale=1' user-scalable=0;' name='viewport'/>
      <meta content='blogger' name='generator'/>
      <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
      <link href='http://www.blogger.com/openid-server.g' rel='openid.server'/>
      <link expr:href='data:blog.homepageUrl' rel='openid.delegate'/>
      <link expr:href='data:blog.url' rel='canonical'/>
      <b:if cond='data:blog.pageType == &quot;index&quot;'>
      <title><data:blog.pageTitle/></title>
      <b:else/>
      <b:if cond='data:blog.pageType != &quot;error_page&quot;'>
      <title><data:blog.pageName/> - <data:blog.title/></title>
      </b:if></b:if>
      <b:if cond='data:blog.pageType == &quot;error_page&quot;'>
      <title>Page Not Found - <data:blog.title/></title>
      </b:if>
      <b:if cond='data:blog.pageType == &quot;archive&quot;'>
      <meta content='index' name='robots'/>
      </b:if>
      <b:if cond='data:blog.searchLabel'>
      <meta content='index,follow' name='robots'/>
      </b:if>
      <b:if cond='data:blog.isMobile'>
      <meta content='index,follow' name='robots'/>
      </b:if>
      <b:if cond='data:blog.pageType != &quot;error_page&quot;'>
      <meta expr:content='data:blog.metaDescription' name='description'/>
      <b:if cond='data:blog.homepageUrl != data:blog.url'>
      <meta expr:content='data:blog.pageName + &quot;, &quot; + data:blog.pageTitle + &quot;, &quot; + data:blog.title' name='keywords'/>
      </b:if></b:if>
      <b:if cond='data:blog.url == data:blog.homepageUrl'>
      <meta content='YOUR, KEYWORDS, HERE' name='keywords'/></b:if>
      <link expr:href='data:blog.homepageUrl + &quot;feeds/posts/default&quot;' expr:title='data:blog.title + &quot; - Atom&quot;' rel='alternate' type='application/atom+xml'/>
      <link expr:href='data:blog.homepageUrl + &quot;feeds/posts/default?alt=rss&quot;' expr:title='data:blog.title + &quot; - RSS&quot;' rel='alternate' type='application/rss+xml'/>
      <link expr:href='&quot;http://www.blogger.com/feeds/&quot; + data:blog.blogId + &quot;/posts/default&quot;' expr:title='data:blog.title + &quot; - Atom&quot;' rel='alternate' type='application/atom+xml'/>
      <b:if cond='data:blog.pageType == &quot;item&quot;'>
      <b:if cond='data:blog.postImageThumbnailUrl'>
      <link expr:href='data:blog.postImageThumbnailUrl' rel='image_src'/>
      </b:if></b:if>
      <b:if cond='data:blog.url == data:blog.homepageUrl'>
      <b:if cond='data:blog.pageType == &quot;item&quot;'>
      <b:if cond='data:blog.pageType == &quot;static_page&quot;'>
      <b:if cond='data:blog.url'>
      <meta expr:content='data:blog.url' property='og:url'/>
      </b:if>
      <meta expr:content='data:blog.title' property='og:site_name'/>
      <b:if cond='data:blog.pageName'>
      <meta expr:content='data:blog.pageName' property='og:title'/>
      </b:if>
      <meta content='website' property='og:type'/></b:if></b:if></b:if>
      <b:if cond='data:blog.postImageThumbnailUrl'>
      <meta expr:content='data:blog.postImageThumbnailUrl' property='og:image'/>
      <b:else/></b:if>
      <link href='/favicon.ico' rel='icon' type='image/x-icon'/>
      <link href='https://plus.google.com/+VisheshGrewal/posts' rel='publisher'/>
      <link href='https://plus.google.com/GOOGLE+ID/about' rel='author'/>
      <link href='https://plus.google.com/GOOGLE+ID' rel='me'/>
      <meta content='GOOGLE-WEBMASTER-CODE' name='google-site-verification'/>
      <meta content='BING-WEBMASTER-CODE' name='msvalidate.01'/>
      <meta content='ALEXA-VERIFY-CODE' name='alexaVerifyID'/>
      <meta content='India' name='geo.placename'/>
      <meta content='YOUR-NAME' name='Author'/>
      <meta content='general' name='rating'/>
      <meta content='India' name='geo.country'/>
      <meta content='en_US' property='og:locale'/>
      <meta content='en_GB' property='og:locale:alternate'/>
      <meta name="language" content="english"/>
      <meta content='https://www.facebook.com/vkay99' property='article:author'/>
      <meta content='https://www.facebook.com/vkay99' property='article:publisher'/>
      <meta content='FACEBOOK-APP-ID' property='fb:app_id'/>
      <meta content='FACEBOOK-ADMIN-ID' property='fb:admins'/>
      <meta content='@vkaygrewal' name='twitter:site'/>
      <meta content='@vkaygrewal' name='twitter:creator'/>
      <!-- End of All in One SEO Pack for blogger by Vishesh Grewal -->

       Note:- Please Replace some social link value with your own.

      Finally it done. If you found any problems, then feel free to contact me or comment your problem.
      Data Vocabulary Schema Deprecated Breadcrumbs error Fix in blogger

      Data Vocabulary Schema Deprecated Breadcrumbs error Fix in blogger

      Data Vocabulary Schema Deprecated Breadcrumbs error Fix in blogger by Vishesh Grewal

      Importance of Breadcrumbs

      Why is it important to have valid breadcrumb structured data markup?
      Google Search uses breadcrumb markup in the body of a web page to categorize the information from the page in search results. Given the fact that Google is displaying breadcrumbs more prominently in search results, it’s more important than ever to make sure the markup is valid. Breadcrumb markup can be implemented using JSON-LD, RDFa, or Microdata. It can also be implemented as part of a page’s visual design using HTML.

      "How to Fix Breadcrumbs Issue?" 

      • If you get Email from Google mentioning that your posts have breadcrumbs issues.
      • While submitting your post in Google Webmaster tool, you are able to submit the post for indexing, but while testing URL, you get a warning like “Data Vocabulary Schema Deprecated Breadcrumbs error”.
      Don’t worry guys, I found an instant solution for this which is 100% WORKING and TESTED. I found this solution because recently i also get a email from "Google Search Console" related Breadcrumbs issue on my Blog.

      Steps To Fix Breadcrumbs Issue:-

      •  Go to your blogger and navigate to “Theme” and click “Edit HTML”.
      • Click anywhere in the HTML code window of your blogger theme and search for “.breadcrumbs a:hover” OR “.breadcrumbs span a:hover”. You will definitely find either of these two.
      • Paste this code.
      
      .breadcrumbs svg{width:16px;height:16px;vertical-align:-4px}
      
      .breadcrumbs svg path{fill:#666} 
      









    • After that Search again for below line in blogger theme HTML
    •  <b:includable id='backlinks' 
      • Paste this code.
      <b:includable id='breadcrumb' var='posts'> 
      <b:if cond='data:blog.pageType == &quot;item&quot;'> 
      <b:loop values='data:posts' var='post'> 
      <b:if cond='data:post.labels'> 
      <div class='breadcrumbs' itemscope='itemscope' itemtype='https://schema.org/BreadcrumbList'>
       <svg viewBox='0 0 24 24'>
      <path d='M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z' fill='#000000'/></svg> 
      <span itemprop='itemListElement' itemscope='itemscope' itemtype='https://schema.org/ListItem'>
       <a expr:href='data:blog.homepageUrl' title='Home' itemprop='item'> 
      <span itemprop='name'>Home</span></a>
       <meta content='1' itemprop='position'/> </span> 
      <svg viewBox='0 0 24 24'><path d='M5.5,9A1.5,1.5 0 0,0 7,7.5A1.5,1.5 0 0,0 5.5,6A1.5,1.5 0 0,0 4,7.5A1.5,1.5 0 0,0 5.5,9M17.41,11.58C17.77,11.94 18,12.44 18,13C18,13.55 17.78,14.05 17.41,14.41L12.41,19.41C12.05,19.77 11.55,20 11,20C10.45,20 9.95,19.78 9.58,19.41L2.59,12.42C2.22,12.05 2,11.55 2,11V6C2,4.89 2.89,4 4,4H9C9.55,4 10.05,4.22 10.41,4.58L17.41,11.58M13.54,5.71L14.54,4.71L21.41,11.58C21.78,11.94 22,12.45 22,13C22,13.55 21.78,14.05 21.42,14.41L16.04,19.79L15.04,18.79L20.75,13L13.54,5.71Z' fill='#000000'/></svg>
       <b:loop index='num' values='data:post.labels' var='label'> 
      <span itemprop='itemListElement' itemscope='itemscope' itemtype='https://schema.org/ListItem'>
       <a expr:href='data:label.url + &quot;?&amp;max-results=16&quot;' expr:title='data:label.name' itemprop='item'>
       <span itemprop='name'><data:label.name/></span> </a> 
      <meta expr:content='data:num+2' itemprop='position'/> </span> 
      <b:if cond='data:label.isLast != &quot;true&quot;'>
       <svg viewBox='0 0 24 24'><path d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z' fill='#000000'/></svg> 
      </b:if> 
      </b:loop> 
      <svg viewBox='0 0 24 24'><path d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z' fill='#000000'/></svg> 
      <span><data:post.title/></span> </div> </b:if> </b:loop> </b:if> </b:includable>
      
      How To Add Custom Robots.txt File in Blogger?

      How To Add Custom Robots.txt File in Blogger?

      How To Add Custom Robots.txt File in Blogger?

      What is Robots.txt?

      Robots.txt is a text file which contains few lines of simple code.
      It is saved on the website or blog's server which instruct the web crawlers on how to index and crawl your blog in the search results.
      That means you can restrict any web page on your blog from web crawlers so that it can't get indexed in search engines like your blog labels page, your demo page or any other pages that are not as important to get indexed.
      Always remember that search crawlers scan the robots.txt file before crawling any web page.
      Each blog hosted on blogger has its default robots.txt file which is something look like this: 

      User-agent: Mediapartners-Google
      Disallow:
      User-agent: *
      Disallow: /search
      Allow: /
      Sitemap: http://example.blogspot.com/sitemap.xml

       

      Explanation:-

      This code is divided into three sections. Let's first study each of them after that we will learn how to add custom robots.txt file in blogspot blogs.

      User-agent: Mediapartners-Google

      This code is for Google Adsense robots which help them to serve better ads on your blog. Either you are using Google Adsense on your blog or not simply leave it as it is.

      User-agent: * 

      This is for all robots marked with asterisk (*). In default settings our blog's labels links are restricted to indexed by search crawlers that means the web crawlers will not index our labels page links because of below code.

      Disallow: /search

      That means the links having keyword search just after the domain name will be ignored. See below example which is a link of label page named SEO.

      https://visheshgrewal.blogspot.com/search/label/SEO 

      And if we remove Disallow: /search from the above code then crawlers will access our entire blog to index and crawl all of its content and web pages.

      Here Allow: / refers to the Homepage that means web crawlers can crawl and index our blog's homepage.


      Disallow Particular Post

      Now suppose if we want to exclude a particular post from indexing then we can add below lines in the code.

      Disallow: /yyyy/mm/post-url.html

      Here yyyy and mm refers to the publishing year and month of the post respectively. For example if we have published a post in year 2018 in month of March then we have to use below format.

      Disallow: /2018/03/post-url.html

      To make this task easy, you can simply copy the post URL and remove the blog name from the beginning.


      Disallow Particular Page

      If we need to disallow a particular page then we can use the same method as above. Simply copy the page URL and remove blog address from it which will something look like this:

      Disallow: /p/page-url.html


      Adding Custom Robots.Txt to Blogger

      Now the main part of this tutorial is how to add custom robots.txt in blogger. So below are steps to add it.
      • Go to your blogger blog.
      • Navigate to Settings >> Search Preferences ›› Crawlers and indexing ›› Custom robots.txt ›› Edit ›› Yes
      • Now paste your robots.txt file code in the box.
      • Click on Save Changes button.
      • You are done! 


      How to Check Your Robots.txt File? 

      You can check this file on your blog by adding /robots.txt at the end of your blog URL in the web browser. For example:
      http://xyz.blogspot.com/robots.txt

      Once you visit the robots.txt file URL you will see the entire code which you are using in your custom robots.txt file.



      How to Submit your Site on Google Step-by-step Guide

      How to Submit your Site on Google Step-by-step Guide


      For Getting your Site/Blog on Google search, Here you can get step-by-step guide for Submit your Website/Blog on Google. If your website/blog isn't in Google's index, it won't be able to be found when a user makes a search. Google needs to know that your site exists to be able to crawl it and include it in its index.

      You must have a Google Account for submit your site on Google.

      How to Submit your Website/Blog on Google Search?


      1. Go to Google Webmaster Tool.
      2. Click on Menu Bar (if you use mobile version) and then click on +Add Property.
      3. Now Enter your domain name.
      4. Then you need to verify your domain by Adding CNAME record, upload HTML file on your website file manger(Hosting account required) or by Adding a meta head tag on your site/blog.
      5. Then Google verify your domain and starts crawling your site/blog.

      If you facing any error just leave a comment.