Halloween Costume ideas 2015

MushRead

Latest Post


A lot has been written about search engine optimization but when it comes to implementing it on a specific web publishing platform, beginners or technically challenged often struggle to apply it correctly. If you've hosted your blog on Google's Blogger platform and want to tidy up its SEO settings, this guide is written just for you. Search engines 
regularly update and improve their algorithms to ensure the results are contextually correct. Exceptional content is the cornerstone of SEO efforts but without core on-page SEO, we may not be able to get a good presence on the search engines. Through this tutorial, we are going to learn about the key SEO settings one must apply to a typical blogger template for better SEO to gain more qualified traffic from organic sources. All you need is basic code copy pasting ability to apply these tips which give you a better blogger template enhanced with correct SEO settings. So let's get started and quickly check out this step-by-step SEO guide written specifically for blogger blogs and sites.

Basic Dashboard Settings

Let's start with core blogger dashboard settings, to ensure that the most basic on page SEO is applied on each page. It is essential to start with these dashboard settings which are further augmented with added customization done within blogger template code.

Step 1: Open your Blogger dashboard settings and go to Settings → Basic option as shown below.

Blogger blog title and visibility settings

Provide an appropriate blog title (ideally shouldn't exceed 75 characters) and make sure the blog is visible to search engines. Visibility for blogger's internal platform listing is not mandatory. Similarly, you may notice that I've kept the description field blank.

Step 2: Go to Settings → Basic → Permissions section and ensure the blog visiblility is set to public as shown below.

Blogger blog public accessibility setting

If your blog is opened only for select users, you can make changes to this setting though making it private defeats the entire purpose of SEO efforts for better presence on search engines. This setting is public by default so in most cases you can leave it as it is.

Step 3: Now go to Settings → Search preferences → Meta tags/Errors and redirections sections. Here you'll find two most important SEO settings which must be completed.

Error and redirection settings for blogger

The first important setting is used to supply the blog description used for the home page. Use it wisely to summarize what your blog is all about. Ideally, it shouldn't exceed 160 characters. Enabling this option also ensures you can write custom descriptions for individual posts while composing them within the post editing screen.

The next important setting allows you to create a custom 404 page whenever a visitor lands on your blog through a broken link. You can freely write your desired text in the text box as per your preferences. Custom CSS can also be added to the page content through a <style></style> tag.

Modified (Core) Header Meta Tags

The default blogger template includes few header meta tags which should be replaced by the ones listed below to ensure your blog's single post pages, static pages, and error page gets a better SEO structure. To do so, open your blog's template within the dashboard and delete everything between <head> and <b:skin> tags. Thereafter, paste the following code between these two tags.


<b:include data='blog' name='all-head-content'/>

    <title>
      <b:if cond='data:blog.pageType == "index"'>
        <data:blog.pageTitle/>  
        <b:else/>
        <b:if cond='data:blog.pageType != "error_page"'>
          <data:blog.pageName/>
          <b:else/>
          Write custom 404 page title here!
        </b:if>
      </b:if>
    </title>
    
    <b:if cond='data:blog.pageType == "archive"'>
      <meta content='noindex,noarchive' name='robots'/>
    </b:if>
    <b:if cond='data:blog.pageType == "static_page"'>
       <meta content='noindex, nofollow' name='robots'/>
    </b:if>
    <b:if cond='data:blog.pageType != "static_page"'>
    <b:if cond='data:blog.pageType != "error_page"'>
       <link href='https://plus.google.com/+YourBlogGPlusPageAddress' rel='publisher'/>
    </b:if>
    </b:if> 
    <meta charset='UTF-8'/>

Note: If you're using a responsive blogger template, you must add the following meta tag at the end of the code snippet shown above.


<meta content='width=device-width, initial-scale=1, maximum-scale=1' name='viewport'/>

After adding this code snippet, following things are taken care of.
  • All the automatically generated header meta tags remain intact and are included in the header.
  • Page titles are optimized for search engines for home page, single post pages, static pages, archive pages and of course 404 page.
  • A setting is done to ensure archive pages are not indexed or archived by search engines.
  • A setting is done to ensure all the static pages on the blog are neither indexed nor pass link juice to the search engines. You can change this setting if you want your static pages to be indexed as well.
  • For all the content pages, Google+ publisher credit tag is included. You must change the default link with the link associated with your blog's Google+ page.
  • And last but not the least, character set meta tag is included as well to specify the character encoding used for the HTML document.
  • In case, you're using a responsive template, do not forget to append the last meta tag shown separately at the end.
Advanced users who're bit familiar with blogger template tags can tweak and can make adjustments to this code snippet to match with their preferences.

Facebook Open Graph Meta Tags and Twitter Cards Integration

Nowadays social media is tightly integrated with publishing platforms for easy syndication and aggregation of content across different platforms. Facebook provides meta tags for displaying content on the social network in the best possible way. Similarly, Twitter also offers different types of cards to display rich media content on its timeline in a better way.

Every blogger must integrate these two important tags within their blog to get a better presence on these two social platforms.

1. Twitter card integration: Let's see how to integrate a typical photo card within a blogger template. A photo card is one of the most popular card types used by large numbers of websites. Here's how to do it.

Find the following line within your blog template.


<b:includable id='post' var='post'>

Right below this line, paste the following code.


<b:if cond='data:blog.pageType == "item"'>
 <meta content='@blogtwitterhandle' name='twitter:site'/>
    <meta content='myblog.com' name='twitter:domain'/>
    <meta content='@blogtwitterhandle' name='twitter:creator'/>
    <b:if cond='data:post.firstImageUrl'>
       <meta content='photo' name='twitter:card'/>
       <meta expr:content='data:post.firstImageUrl' name='twitter:image'/> 
    <b:else/>
       <meta content='summary' name='twitter:card'/>
       <b:if cond='data:blog.postImageThumbnailUrl'>
          <meta expr:content='data:blog.postImageThumbnailUrl' name='twitter:image'/> 
       </b:if>
    </b:if>
    <meta expr:content='data:blog.pageName' name='twitter:title'/>
    <meta expr:content='data:blog.metaDescription' name='twitter:description'/>    
</b:if>

That's it! Once integrated, you get a nice photo-rich tweet whenever your blog posts are shared on Twitter provided the post includes at least, one image within the body. Here's how a typical tweet may look like once Twitter photo card has been enabled on the website.

Twitter photo card tweet example

After integration of the code, validation needs to be done on the Twitter platform. It's a simple process which is explained in the following guide. It also tabulates other types of Twitter cards you may want to use on your Blogger blog.

In the above Twitter card snippet, you have to change blog site address and your Twitter handle in the first 3 meta tags. It may take few days after validation for rich photo cards to appear on the timeline.

Facebook open graph tags integration: And now, let's see how to integrate Facebook's Open Graph meta tags within a blogger template.

First add the following Open Graph namespace declaration xmlns:og='http://ogp.me/ns#'within the template's <html> tag. After, addition the entire <html> may look like this.


<html xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' 
xmlns:data='http://www.google.com/2005/gml/data' 
xmlns:expr='http://www.google.com/2005/gml/expr' 
xmlns:og='http://ogp.me/ns#'>

Thereafter, right before closing </head> tag, paste the following code.


<meta content='en_US' property='og:locale'/>
  <meta expr:content='data:blog.canonicalUrl' property='og:url'/>
  <meta content='Type Blog Title Here' property='og:site_name'/>
  <meta content='https://www.facebook.com/BlogFBPageAddress' property='article:publisher'/>
  <meta expr:content='data:blog.metaDescription' property='og:description'/>
  <b:if cond='data:blog.pageType == "index"'>
  <meta content='website' property='og:type'/>
  <meta expr:content='data:blog.pageTitle' property='og:title'/>  
  <meta content='Paste blog logo URL here (160x160 JPG/PNG)' property='og:image'/>  
  <b:else/>
  <b:if cond='data:blog.pageType == "item"'>
  <meta content='article' property='og:type'/>  
  <meta expr:content='data:blog.pageName' property='og:title'/>
  <meta expr:content='data:blog.postImageUrl' property='og:image'/>
  </b:if>
  </b:if>

You have to make 3 changes in the code snippet shown above. Blog title, blog's Facebook page URL and blog's logo URL (should be a square 160x160px JPG or PNG image) need to be updated. In case, you're using a different locale, you may change the first meta tag too.

Validating & Correcting Structured Microdata

Every modern website uses microdata in different forms to enable search engines to extract and process key data related to content on the web page for better browsing experience for the end users.

In simple words, microdata enables search engines to understand the structure and information associated with the web content so that they can serve better search results to the users. At the very basic level, our blogger template must include the necessary microdata to allow search engines interpret key information associated with the blog posts. This key information is as follows:
  • entry-title (blog post title)
  • entry-content (blog post body)
  • updated (blog post's last modification time)
  • author [hcard] fn (post's author name)
It may be possible that this bare minimum microdata is correctly implemented in your current template. It is also possible that some other form of microdata is used in your blogger template. Whatever is the case, you must confirm if everything is done correctly and there is no error related to this structured data.

To do so, head over to Google's structured data testing tool and provide one of the blog post's URL for validation. If everything is correct, you may get the result something like this.

Google structured data testing tool result

In case, something is wrong in the implementation, you may get an error like one of the samples shown below.

Structured data errors

So, I'll show how to integrate the bare bones microdata mentioned in our template to help search engines better interpret our content. Power users can add more structured data in their templates if required.

Step 1: Find the following code snippet and add hentry class at the right location as shown below.


<b:includable id='post' var='post'>
  <div class='post hentry'>

Step 2: Thereafter, find the following code snippet and add the entry-title class at the two locations as shown below. I've included partial code snippet to ensure things don't get cluttered. You can see the two places where this class is present in the code snippet below.


<b:if cond='data:blog.pageType == "item"'>
   <b:if cond='data:post.title'>
     <h1 class='post-title entry-title'>
        <b:if cond='data:post.link'>       
           <a expr:href='data:post.link'><data:post.title/></a>    
           <b:else/>
           <b:if cond='data:post.url'>
             <b:if cond='data:blog.url != data:post.url'>
                <a expr:href='data:post.url'><data:post.title/></a>
                <b:else/>
                <data:post.title/>
               </b:if>
              <b:else/>
             <data:post.title/>
           </b:if>
           </b:if>
           </h1>
           </b:if>
          <b:else/>
        <b:if cond='data:post.title'>
          <h2 class='post-title entry-title'>
            <b:if cond='data:post.link'>
               <a expr:href='data:post.link'><data:post.title/></a>  
                <b:else/>
                <b:if cond='data:post.url'>
                <b:if cond='data:blog.url != data:post.url'>
              <a expr:href='data:post.url'><data:post.title/></a>
             <b:else/>

Step 3: Next is the turn of adding microdata for the post author. Find the following code snippet and add the author and vcard classes. A class named fn is also added in the code snippet. You can replicate the same in your blogger template by following the sample shown below.


<span class='post-author vcard' itemscope='itemscope' itemtype='http://schema.org/Person'>
        <b:if cond='data:top.showAuthor'>
          By <span class='fn author' itemprop='name'><data:post.author/></span>
        </b:if>
      </span>

If you pay attention to the code snippet shown above, you'll notice that itemscope and itemtypeattributes are also added. Make sure you do not skip these additions.

Step 4: Next microdata class is the last post modification time. To add it in the design template, find the following code snippet and add the updated class at the right place as shown below.


<b:if cond='data:top.showTimestamp'>
    <b:if cond='data:post.url'>
        <span class='updated'><data:post.timestamp/></span>
    </b:if>
</b:if>

Step 5: And last but not the least, add the entry-content class in the following code snippet to let search engines easily extract the main post body from the page.


<div class='post-body entry-content' expr:id='"post-body-" + data:post.id'>

Note: The code snippets shown above may be slightly different in your blogger template. So, make sure you do not get confused and go ahead with the modifications despite small changes.

In case, you're running a food blog on a blogger blog, you must integrate recipe schema markup within the template to ensure rich snippets are shown prominently in the search results for better results.

So that finishes the integration steps of basic microdata classes within a typical blogger template. Once the integration is complete, do not forget to validate it against the structured data testing tool created by Google.

Miscellaneous SEO Guidelines for Blogger Users

And now, it's time to go through some of the best SEO practices that'll benefit your blog in the long run. Applying these methodologies will ensure you get a good presence on search engines and consistently get an influx of traffic from these organic sources. So let's get started and check out these best SEO practices aimed for blogger users.

Image optimization: Blogger users often struggle to correctly manage the images used on the blog. The first you need to understand is that uploading an original image is not the way to go. You must optimize them to reduce the size before using them in a blog post.

Google has clearly stated that site speed is now one of the ranking factors. Bulkier the images, slower is the page opening time.

Here's a simple workflow for using images on Blogger platform.

First of all, never resize your original images. Simply, web-optimize them using one of these two tools. If you're using a PNG image, use this tool. And, in case you're using a JPG image, try this solution.

Thereafter, grab the optimized image and upload it from within the post editor. Now switch to the HTML mode and resize the image by explicitly specifying the image width as shown below.

Custom width for blogger post image

Make sure you also add an image description through the alt attribute of the <img> tag. Here's how it is added.

Addition of alt attribute within imag tag

Once you start practicing these image addition guidelines, not only your blog posts will open much faster, but you'll also get good traffic from image search queries.

Custom permalink: Optimized post permalink ensures you get a place in search results for relevant topics and search queries. Fortunately, blogger platform allows you to specify a custom post permalink which can be optimized for search queries. 

Make sure you leverage this feature to the fullest and do not rely on the default post slug created by the platform itself.

Custom post slug on blogger platform

Do not create lengthy post slug and include at least one primary keyword you want to target. Use a natural search phrase in the post slug for the best results.

Custom post description: And last but not the least is the description which provides a brief summary of the post to be consumed by the search engines. Again, you must use this vital feature for better SEO of your blogger blog.

Custom post description on blogger platform

These custom search descriptions are often included in the rich snippets within search result pages. So make sure a post description is alluring as well to invite clicks from the potential visitors.

So, that completes the essential SEO best practices for blogs hosted on Google's Blogger platform. If you struggle to integrate or implement any feature mentioned in this guide, feel free to send me an email and I'll try my best to resolve it.


Whether you're running a blog or a website, site speed is one of the important factors that decide its success when it comes to attracting and retaining traffic. All major search engines including Google encourage and recommend making sites responsive and fast. Today, we're going to focus on the latter feature and specifically for blogs hosted on Google's blogger platform. Before, we dive into the tutorial; I'll advice you to gain basic or working knowledge of copy and pasting HTML or CSS code within blogger templates. If you're already tinkering with your template design, nothing can be better than that. After completing the steps mentioned below, you can speed up your blog by many folds. Several principles mentioned here can be applied on other platforms too. As always, I'll warn you to first try these techniques on a dummy blog. And, while exercising it on your live blog, keep a backup of your existing design and content. So, let's kick start this optimization process for making our blogger blog, a flyer.

This guide aims to make a blogger blog as fast as it can by eliminating whatever we can.

Analyze Current Condition

We'll start with analyzing the current state of the blogger blog in question. For that, Google provides an excellent tool called PageSpeed Insights. Type the address of your blog in the text box and hit enter. After processing it, the tool will display speed score for both mobile and desktop mode along with the pitfalls and the suggestions to fix them.

Google PageSpeed score for desktop
As shown in the image above, you can see a sample score for desktop mode. Ideally, this score should be 85+ both for mobile and desktop mode. Anything below it requires attention. Remember, if you're publishing long posts containing large number of images, their score may still remain below 85 which is quite reasonable and can be safely ignored even after the optimization process is complete.

So, I'm assuming that you've used this tool and have got your PageSpeed score both for desktop and mobile mode and they're way below 85. Right below these scores, you'll find the reasons and descriptive suggestions to fix the bottlenecks.

We'll focus on the most important section which addresses render blocking assets responsible for slowing down your blogger blog.

Render blocking CSS and JavaScript resources
So, the major culprits are external CSS and JavaScript resources you're using with your existing template. This may include Google fonts CSS, a popular JavaScript library like jQuery and additional CSS files. This is just an example of files which may be blocking timely rendering of web pages associated with your blogger blog.

You'll get a complete list of such render blocking files on the PageSpeed score page so that you can work on them. So let's started and start the speed optimization process.

Eliminate Font Files

Most blogger publishers use Google fonts for enhancing the typography of their blog. These fonts may pep up your template but they come with a cost. It's one of the render blocking resource that slows down the blog. So what's the solution? In case, you're using WordPress or some other CMS with your own web server, I'll suggest once trying this technique for optimized font loading times.

I've not tested this technique, so I'm not sure if it'll work correctly on your server. Now, back to our blogger blog that needs our attention. The solution is dead simple. Do NOT use any font file at all. I'm using Georgia, Arial and Helvetica on this blog and it works without any external font CSS file. If you're removing Google fonts, make sure you replace them with a right combination of web safe fonts which gels well with your design template.

Google fonts call in the header
So, if you're really interested in making your blogger blog, a zipper, simply remove any font CSS file requests in your template.

End Reliance on jQuery & Make Small Script Files Inline

Most blogs now rely heavily on jQuery for seamless working of various features and effects. But with the improvement of new HTML and CSS standards, most of these features can be completed with pure CSS & HTML code.

If you're still using some of the features that require jQuery, try to find a solution that doesn't need one. At this point, Google search engine is your best friend. Once you've ensured you no longer need jQuery, simply delete inclusion request of that file too.

It is either present in the header or in the footer of a blogger template.

You may still be using one or more JavaScript files which have no dependency. While your blog fetches these files from an external server, web page rendering process is blocked. The solution to this problem is very simple. Unless, these files are very large, just make their code inline within your template. 

In simple words, instead of calling these files from an external server, you'll directly paste their code right within your blogger template. Start with saving all these files on your desktop and one by one open them in your favorite code editor. Make sure you comment out these script file inclusion tags in your template so that inline code working can be tested.

Remember, do not open these files in a rich text editor (e.g. Microsoft Word) else your code may get corrupted. For each file code, create the following snippet of script inclusion code block either in the header or right before the end of template body within the template. Let me explain it in the following steps.


<script type='text/javascript'>
/*<![CDATA[*/
// Paste file's script code here...
/*]]>*/
</script>

For each file code, copy it from the text editor and paste it at the place indicated above in the code snippet. Now copy this entire code snippet and paste it right before the </body> tag. Now once open the posts of your blog to check if the feature/function requiring that script code is working fine or not. If it's not working, transfer the code to the template header and paste somewhere before the </header>tag.

Repeat this process for all the small scripts you want to inline within your code.

Transfer Entire CSS Code in Header

Blogger template CSS is divided into 3 parts. The most common and visible part is the template design code embedded in inline form within the header. Users work on this CSS code to make changes in the template design. But, there are two other external CSS files which come under the category of render blocking resources contributing in slowing down the blog.

These two files are:
  • 728935430-widget_css_bindle.css - This CSS file consists of the default code for generic blogger widgets like popular posts widget, labels widget and many more. (The numeric prefix of this file may be different in your template.)
  • authorization.css - This file consists of two or more lines of CSS code. To be honest, I'm not sure what its usage is.
Blogger platform automatically fetches these two render blocking CSS files with each page request. Now, to get rid of this problem, we need to remove these two files. But, if we directly remove these files, the template using generic blogger widgets may break distorting the entire design. 

So, an ideal solution is to not only remove these files but also to copy their code right before our existing template design. This is a two step process which should be completed carefully. Make sure you take backup of your template before completing this step.

First of all save the contents of both these files in separate plain text files. Now, find the following code within your blogger template. It is present at the beginning of your template CSS code within header.


<b:skin><![CDATA[

Replace it with the following code snippet.


&lt;style type=&quot;text/css&quot;&gt;

&lt;!-- /*<b:skin><![CDATA[*/]]></b:skin>

<style type='text/css'>

Now, find the following code snippet. You can find it at the end of template CSS code within header.


]]></b:skin>

Replace it with the following code snippet.


</style>

Now, copy the widget CSS bundle code from the text file and paste it right below the first code snippet we've replaced earlier. Thereafter, copy the authorization CSS code from the second text file and paste it right below the widget CSS bundle code. Finally, your code structure would be something like this.


&lt;style type=&quot;text/css&quot;&gt;

&lt;!-- /*<b:skin><![CDATA[*/]]></b:skin>

<style type='text/css'>

[ Paste widget CSS bundle file code here ]

[ Paste authorization CSS file code here ]

[ Here is your existing template design code ]

</style>

Now, save your template. You've just fixed the two render blocking CSS files which were slowing down your blogger blog. By this time, your blogger blog is opening quite fast when compared to its older version.

Exclude Widgets & Google+ Script Files (Footer)

Another two render blocking resources are two JavaScript files included automatically by Blogger platform. One of them is a Google+ script and the other one is related to all the blogger widgets used on the blog. Both these files are called at the end of the template.

Disabling inclusion of these two files is dead simple. But, after excluding both these files, few changes happen within blogger dashboard's Layout section and some other important things need to be taken care of to ensure you do not break your design template.

First, let's see how to easily exclude both these files from our template. Go to the end of your template code and find the </body> tag. Replace it with the following code snippet.


&lt;!--</body>--&gt;&lt;/body&gt;

Now save the template. As I said before, excluding both these files requires more attention by the blog owner while working with the template. If you open one of your blog posts in a web browser and examine its source code, you'll notice lot of code commented out at the end of template which also includes both files we wanted to get rid of. 

Blogger widget code in footer
As shown in the image above, you can see both the script files are now commented out and no longer hinder the page rendering process thereby speeding up your blog significantly.

At this point, if you click the Layout option within your dashboard, you'll notice that the entire layout structure is now aligned vertically like a stack of boxes kept on top of one another as shown in the image below.

Blogger widgets layout stack
There's no need to panic. Just take care of one extremely important thing from here onwards. If you're making some changes in existing widgets within your design template, nothing needs to be done and you can edit them freely. But, if you're going to add a new widget or looking to delete an older widget, replace the code snippet back to the original </body> tag.

Once you've made that change and have saved the template, you can add or delete widgets. Once, you've completed the widget addition or deletion process, you can again replace the </body> tag with the code snippet mentioned above. This way, your template will not break and it will work smoothly.

So, this completes the optimization process for speeding up your blogger blog. You can again check your blog speed through the PageSpeed Insights tool and you'll notice that you're getting a good score which is way higher than your older score. Your blog visitors will also get surprised to see significantly faster load times of your blog posts.

Miscellaneous Guidelines for Speed Optimization

Apart from completing these vital steps, you can follow additional best practices and guidelines to ensure your blog remain blazing fast giving the best browsing experience to the visitors. Here are some of these tips.
  • While using images in blog posts, make sure you web optimize them to reduce the overall page size.
  • Do compress your template design CSS code to further reduce the web page size.
  • While adding all the inline JavaScript code snippets, make sure you compress these scripts too.
  • If possible, reduce the number of widgets used on your blog.
  • Use image sprites, wherever possible.
  • Create a responsive design and trim down unnecessary elements in the design for small devices. Sounds Geeky?

MKRdezign

{facebook#YOUR_SOCIAL_PROFILE_URL} {twitter#YOUR_SOCIAL_PROFILE_URL} {google-plus#YOUR_SOCIAL_PROFILE_URL} {pinterest#YOUR_SOCIAL_PROFILE_URL} {youtube#YOUR_SOCIAL_PROFILE_URL} {instagram#YOUR_SOCIAL_PROFILE_URL}

Contact Form

Name

Email *

Message *

Powered by Blogger.
Javascript DisablePlease Enable Javascript To See All Widget