Thursday, July 23, 2015

Mega Menu with Images or Thumbnails for Blogger

Visual content holds a certain appeal that websites integrate images to every page, or even operate solely through photos. Now, with the new AJAX navigation menu widget, images can be added to the drop-down menu as well.

The AJAX navigation menu for blogger is a widget designed specifically for the Blogger platform. It is inspired from the Mashable website long before it was given a makeover. Despite the plain and simple inspiration, the drop down menu with images is a huge hit.

It works based on the jQuery library and Blogger JSON Feed API. Function-wise, it works just like a normal drop-down menu when JavaScript is disabled. For it to work online, a blog must be for public visitors, so the Blogger JSON Feed API will function as designed.


Multi-Level Menu Support

The AJAX menu is a multi-level drop-down menu that is based on the standard unordered list of HTML. When a menu contains a sub-menu, it loads on the fly when a user rolls over the main menu. What is great about this is that it saves outgoing traffic, especially on a website that uses a large navigation.

Cross-browser Compatibility

Most AJAX applications will work across different browsers even with other plugins or proprietary technology already installed.  The menu with images works in the same premise, instead of being designed for a specific browser. Because there is no telling which browser you or your blog readers would use, the new AJAX drop-down mega menu with images is the ideal option.

Some of the Windows browser supported includes IE5+, Firefox, Google Chrome, Safari Netscape 7+ and Opera 8+. When you're using a Mac, the AJAX menu is supported on Firefox, IE and Safari. If JavaScript is disabled, however, the menu is still accessible, but only as pure CSS menu.

Automatic Sub-Menu Display

With the new AJAX menu, you only need to roll over a menu item and sub-menus will automatically load. No need to click on a menu to get the sub-menu to drop down. This not only saves users' valuable navigation time, but also outgoing traffic.

Menu Styling

AJAX menus can be styled by simply changing the megamenu.js and the CSS style. The former is used when javaScript is turned on, while the latter is when it is turned off. You can adjust the menu parameters manually or you can use ready-to-use templates.

There are plenty of other features, but you would not be able to use or experience them if you do not install the new mega menu with images. What do you need to do then to implement it in your blog or website?

Adding Mega Menu with Images/Thumbnails in Blogger

Step 1. Log in to your Blogger account, then go to the Dashboard. Select the blog where you want to install the new mega menu.


Step 2. Click on Template, then press the Edit HTML button. Press anywhere inside the code area and use the CTRL + F function to make your search quicker and easier. Type the following tag and hit Enter to find it:
Once you find the tag, add the code below just above/before it:
.megamenu *{margin:0;padding:0;font-family:'PT Sans Narrow'}ul.megamenu{list-style:none;line-height:1;overflow:visible !important}ul.megamenu:after{margin:0;padding:0;content:' ';display:block;height:0px;clear:both}ul.megamenu li{float:left;display:inline;position:relative;text-transform:uppercase}ul.megamenu li{content:"";width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #fff;font-size:0;line-height:0;bottom:22px;right:5px;position:absolute}ul.megamenu li a{display:block;line-height:50px;padding:0px 20px;text-decoration:none;border-left:1px solid #000;box-shadow:1px 0 0 0 rgba(255, 255, 255, 0.1) inset;color:#d9d9d9;font-size:14px;transition:all 0.3s ease-in-out}ul.megamenu li a:hover{background:#111111;color:#fff}ul.megamenu ul{position:absolute;display:none;top:100%}ul.megamenu li:hover > ul{display:block}ul.megamenu ul li{z-index:72;min-width:149px;float:none;background:#000;text-shadow:none}ul.megamenu ul li a{text-transform:none;font-weight:normal}ul.megamenu ul li a:hover,ul.megamenuid ul li a.hover{background:#E0E0E0;color:#444}ul.megamenu ul ul{display:none;left:100%;top:0}ul.megamenuid li div.megasubmenu{background:#F9F9F9;position:absolute;width:830px;z-index:90;left:0;top:100%;overflow:hidden;min-height:150px;-moz-transform:translate(0,30px);-webkit-transform:translate(0,30px);-o-transform:translate(0,30px);transform:translate(0,30px);transform-origin:50% 0;visibility:hidden;opacity:0;color:#888;box-shadow:0 10px 7px -7px rgba(0,0,0,0.1);transition:all 0.3s ease-in-out}ul.megamenuid li:hover div.megasubmenu{visibility:visible;opacity:1;-moz-transform:translate(0,0);-webkit-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}ul.megamenuid ul,ul.megamenuid ul li{display:block !important;border:0 none !important;margin:0 !important;padding:0 !important}ul.megamenuid ul li{background:none !important;float:left !important}ul.megamenuid ul.leftmenulist{position:absolute;width:18%;left:0;top:0;bottom:0;background:#EEEEEE;border-right:1px dashed #e5e5e5 !important}ul.megamenuid ul.leftmenulist a{border-left:none !important;color:#555}ul.megamenuid ul.rightmenulist{position:relative;display:block;width:81%;float:right;margin:0px 0px 0px !important;background:none}ul.megamenuid ul.rightmenulist li{display:block;overflow:hidden;position:relative;min-height:210px;padding:5px 17px 5px 0px !important}ul.megamenuid ul.rightmenulist li .thumb-container{left:0;width:100%;height:100%;position:absolute;overflow:hidden;font-size:0;line-height:0}ul.megamenuid ul.rightmenulist li .thumb-container img{position:relative;top:10px;padding:0;width:100%;height:100%;display:block}ul.megamenuid ul.rightmenulist li a{display:block;border-left:none !important;padding:0px 5px !important;line-height:1.4;color:#777;font-weight:bold;font-size:14px}ul.megamenuid ul.rightmenulist li a:hover{color:#000;background:transparent}ul.megamenuid .loading-icon{background:url('') no-repeat scroll 0 0 transparent;width:22px;height:22px;position:absolute;top:50%;margin-top:-11px;right:5px}ul.megamenuid .menu-icon{border-bottom:4px solid transparent;border-top:4px solid transparent;border-left:4px solid #777;display:block;height:0;margin-top:-4px;position:absolute;right:11px;top:50%;width:0}#megamenuid{background:rgba(0, 0, 0, 0) -moz-linear-gradient(center top , #3d3d3d, #212121) repeat scroll 0 0;background:-webkit-linear-gradient(top,#3d3d3d,#212121);background-color:#3d3d3d;box-shadow:1px 1px 0 0 rgba(255, 255, 255, 0.1) inset;height:50px;width:100%;position:relative;max-width:1000px;margin:0 auto;padding:0px}#megamenuid h5{font-size:16px;margin-top:70px;text-align:center}#megamenuid h5:before{content:"";position:absolute;top:50px;left:50%;width:5px;height:2px;margin-left:-4px;border-left:2px solid black;border-right:2px solid black}#megamenuid h5:after{content:"";position:absolute;top:55px;left:50%;width:10px;height:5px;margin-left:-7px;border-top:2px solid black;border-left:2px solid black;border-right:2px solid black;border-radius:8px 8px 0px 0px}{float:right !important;line-height:35px;margin:7px 10px 0 0} .search-field{border:none;padding:3px;background:#3F3F3F;color:#fff;width:135px;font-size:13px} .search-field:focus{border:none;outline:none;background:#4C4C4C;color:#fff} .search-button{background:url('') no-repeat;border:none;cursor:pointer;padding:5px 10px;transition:all 0.3s ease-in-out} .search-button:hover{opacity:0.9}.search-alert{background:#E84C3D url( no-repeat;background-position:5px;text-transform:capitalize;color:#fff;margin:-5px;padding:0px 15px 0px 40px;display:none;border-radius:5px}


Step 3. Check if your blog has the jQuery plugin already installed. If not, you need to add a few lines of code before the </head> tag (CTRL + F to find it). See the code below:
<script src='' type='text/javascript'/>
<script type='text/javascript'>
(function(e){var t=function(e,t){this.elem=e;this.settings=t;this.megaMenuHtml();this.ajaxcall=null;this.menulist=this.elem.find(".leftmenulist li a");this.menuHelper(this.elem);this.addEvents()};t.prototype={regex:{islabel:new RegExp("/search/label/","g"),issearch:new RegExp("[?&]q=","g"),labelsearch:new RegExp("(http://[^/]+)/search/label/([^/?&]+).*[?&]q=([^$&]+)(?:[^$]+)?","g"),label:new RegExp("(http://[^/]+)/search/label/([^/?&$]+)","g"),search:new RegExp("(http://[^/]+)/search/?[?&]q=(.*)","g")},addEvents:function(){var t=this;this.menulist.hover(function(){if(e(this).data("menuloaded")!=="true"){;"href");"ul").siblings("ul");t.hoverOver()}},function(){t.hoverOut()})},hoverOver:function(){var t=this;this.getAJAXUrl();if(!this.ajaxUrl)return;this.ajaxcall=e.ajax({type:"GET",url:t.ajaxUrl,dataType:"jsonp",data:t.ajaxData,beforeSend:function(){t.showLoader()},success:function(e){t.hideLoader();t.addArrow();t.showPosts(e)},error:function(e){t.showError(e)}})},hoverOut:function(){this.ajaxcall.abort();this.hideLoader()},getAJAXUrl:function(){if(this.url){var e=this;this.ajaxData={alt:"json","max-results":this.settings.postsNumber};!==-1&&!==-1?this.ajaxUrl=this.url.replace(this.regex.labelsearch,function(t,n,r,i){e.ajaxData.q=i;return[n,"/feeds/posts/default/-/",r,"/"].join("")})!==-1&&,function(t,n,r){delete e.ajaxData.q;return[n,"/feeds/posts/default/-/",r,"/"].join("")})!==-1?this.ajaxUrl=this.url.replace(,function(t,n,r){e.ajaxData.q=r;return[n,"/feeds/posts/default"].join("")}):this.ajaxUrl=!1}else this.ajaxUrl=!1},showLoader:function(){e("<span></span>",{"class":"loading-icon"}).appendTo("li"))},hideLoader:function(){"li").find("span.loading-icon").remove()},showPosts:function(t){var n=this,r=[],i,s,o;t.feed.openSearch$totalResults.$t>0?e.each(t.feed.entry,function(t,u){i=u.title.$t;e.each(,function(e,t){t.rel==="alternate"?s=t.href:s="#"});$thumbnail?$thumbnail.url.replace(/\/s72\-c\//,"/s200-c/"):n.settings.noThumbnail;r.push('<li><span class="thumb-container"><a title="',i,'" href="',s,'"><img alt="',i,'" src="',o,'"/><br />',i,"</a></span></li>")}):r.push("<h5>","No posts available.","</h5>");this.container.html(r.join(""));this.menulist.removeData("menuloaded");"menuloaded","true")},showError:function(e){if(e.statusText==="error"){this.hideLoader();this.addArrow();this.container.html("<h5>Oops... Could not fetch the blog posts.</h5>")}},addArrow:function(){this.menulist.closest("li").find("span").remove();this.menulist.removeClass("hover-menu");"hover-menu");e("<span></span>",{"class":"menu-icon"}).appendTo("li"))},menuHelper:function(t){var n=this;t.find(">li").hover(function(){var t=e(this);t.find("a:first").addClass("hover-menu");var r=e(this).find("ul.leftmenulist li").height()*e(this).find("ul.leftmenulist li").length;t.find("ul.rightmenulist").css({"min-height":r+"px"});n.requestFirstAjax(t)},function(){e(this).find("a:first").removeClass("hover-menu")})},megaMenuHtml:function(){this.elem.find("ul ul").remove();this.elem.addClass("megamenuid").find(">li").find("ul:first").addClass("leftmenulist").wrap(e("<div></div>",{"class":this.settings.divClass}));e("ul.leftmenulist").after(e("<ul></ul>",{"class":"rightmenulist"}))},requestFirstAjax:function(e){e=e.find(".leftmenulist li:first-child a");this.url=e.attr("href");this.container=e.closest("ul").siblings("ul");;this.hoverOver()}};e.fn.megaBloggerMenu=function(n){var r={postsNumber:4,divClass:"megasubmenu",postsClass:"rightmenulist",noThumbnail:"/default.png"},i=e.extend({},r,n);return this.each(function(){var n=new t(e(this),i)})}})(jQuery);
<script type='text/javascript'>
jQuery(document).ready(function($) {
  postsNumber : 4,
  noThumbnail : &#39;;

    if($(&#39;.search-box .search-field&#39;).val().length==0){
       $(&#39;.search-box .search-alert&#39;).fadeIn().css(&#39;display&#39;,&#39;inline-block&#39;);


- If jQuery plugin already exist, remove the line in red.
- To change the number of posts, change the 4 value from:
postsNumber : 4
- To add a different thumbnail when a post has no image, replace the url in blue from:
noThumbnail : &#39;;


Step 4. Carefully add the HTML code to ensure that the drop down menu with images will work as designed. There are only three types of URLs that the AJAX Menu accepts and they must be used accordingly.

Label URL:
Search Query:
Label w/ Search Query:

Among the three URLs, the Search Query has to be URL encoded using a specific tool.

Step 5. Search the following line using CTRL + F:
<div class='main-outer'>
Just above this line, add the following HTML code:
<ul class='megamenu' id='megamenuid'>
<li><a href='/'>Home</a></li>
<li><a class='menu-target' href='#'>MENU TITLE</a>
<li><a href=''>LABEL NAME</a></li>
<li><a href=''>LABEL NAME</a></li>
<li><a href=''>LABEL NAME</a></li>
<li><a class='menu-target' href='#'>MENU TITLE</a>
<li><a href=''>LABEL NAME</a></li>
<li><a href=''>LABEL NAME</a></li>
<li><a href=''>LABEL NAME</a></li>
<li><a href=''>Normal Link</a></li>
<li class='search-box'>
<form action='/search' class='search-here' method='get'>
<input class='search-field' name='q' placeholder='Search Here' size='30' type='text'/>
<input class='search-button' type='submit' value=' '/>
<p class='search-alert'>Search form is empty!</p>
<div class='clear'/>
<div class='clear'/>
Note: replace the text in blue with the label url and the text in red with the name of the label. This is the label that you have added to the Labels settings of your post editor:

Step 6. Click on Save template for all the changes to take effect.

If you can't find the line from step 5, access the Layout tab, click on Add Gadget, and then choose HTML/JavaScript Gadget. Copy the HTML code and paste it inside the box... then press the Save button.

That's it!

Once that is done, your AJAX menu with images will be implemented and ready for you to use. Make sure to choose photos that are relevant to the menu and sub-menus so your website will have cohesive look and appeal. Research shows, however, that text accompanied by any image, even if completely irrelevant, can grab attention. 

Thursday, July 16, 2015

Which Hashtag Instagram Widget Should You Choose?

There are apps and widgets for almost everything, but one thing that is lacking is a widget that connects one of the most popular image-based social network to your website. Unfortunately, Instagram has yet to design an official widget that will allow you to easily and quickly embed grams on your website.

A widget is like a desk accessory that allows an end user to execute a particular function within a webpage. It fetches information from a particular source and then display it on an intended area. It can be designed to provide easy accessibility to weather, maps, sports updates, calendar and many others. Android and WordPress are two of the biggest contributors of web and mobile widgets, but Instagram still has to catch up.

While they're still trying to figure out how to make an Instagram widget, take advantage of any of the third-party widgets for Instagram. But because there are plenty of them out there, choosing the right one can be tough. Well, we did the sorting and guesswork out for you and presented you with the top 3 options:
instagram widget, instagram


Instansive is a widget generator for Instagram that you can use for free or for a fee. Both versions practically have the same features, except for the number of times that the photos refreshes. It only happens once per day with the free version, but is always up to date with the premium version. If you want to do away with the restrictions of this Instagram widget, be ready to make a tiny investment.

instagram widget instansive

Instansive Features

  • Display photos and hashtags in grid, slideshow or column.
  • Customize the number of columns and rows
  • Add a hover effect
  • Show or hide image captions
  • Photos are linked directly to Instagram
  • Offers native support for Drupal and WordPress
For a one-time fee of $5, you can upgrade to the premium version.

Instansive, however, is not perfect compared to other third-party widgets for Instagram, because it has limited features in terms of customization, display, and refresh frequency. Even if you pay the minimal fee, only the photos will be kept up-to-date, but no other features will be added. But look on the bright side, it is responsive.


Intagme is pretty simple and straightforward, which can be a bonus if you have to manage plenty of social media accounts and widgets. Its features also get the job done.

instagram widget intagme

Intagme Features

  • Pull photos or hashtags and display them in grid or slideshow
  • Get to customize the layout, thumbnail, size and image padding
  • Edit photos by adding borders and/or background color
On top of all these, Intagme is 100% free, which would probably put all other third-party widgets at the bottom of your list. Before you make a final decision, however, know that Intagme lacks one display feature - column, similar to what you will see on Pinterest. It is not responsive and has limited customization options. Moreover, photos are linked to a page on, instead of directly to Instagram.

Related: How to Add an Instagram Widget in Blogger


Among Instagram widgets, snap widget is the most popular and is used by more than 100,000 websites daily. It can be used free or for a monthly fee of $6.99.

instagram widget snapwidget

SnapWidget Features

  • Pull photos or hashtags, then display them in grid, board, slideshow, map or scrolling.
  • Thumbnail size and layout can be customized
  • Background color hover effect layout and photo padding can be used to customize photos
  • Show or hide sharing buttons

Features of Premium Version

  • All of the above
  • Create up to 10 widgets
  • Filter photos by username & hashtag
  • Link photos to Instagram or any other page add custom CSS if so desired
  • Has more advanced customization options, such as pagination controls integration of Google Analytics and photo pop-up functionality
For a price of $6.99 per month, this Instagram widget is a worthy investment, especially because the free version is ad supported. This means thumbnails are linked to a SnapWidget page where photos appear alongside ads. An added bonus is that whether free or paid, there is an option available that lets you make the widget responsive for mobile use.

Which Instagram Widget Should You Choose?

Even if only 3 options were presented, making a choice is still not a walk in the park, but at least you don't need to shuffle through tons of widgets. From the information above, you can make an informed decision as to which Instagram widget to use. Or, you can narrow down your options based on your budget - whether you have one or not, the features you need, and how much customization control you want to have.

You should also think about how an Instagram widget can affect your SEO efforts. If you want it to be SEO friendly as the rest of your website, find out how it was developed or rendered, as some of the platforms used may not be visible to search engines. Consider all the factors above and your work will be easier.

Monday, July 13, 2015

7 Search Engine Optimization Tips for Bloggers

SEO, as you might have already know, is an acronym for search engine optimization. In the simplest of words, it's the way search engines like,, and others present your page in users' search results on their sites.

Cool, how do they that?

Well, they do that via sophisticated software tools, called spiders. Consider the whole internet as an empty room, with air particles as websites. Now sneak a spider into that room. Each tiny step that this spider would take now is essentially crawling a website (as the room is dark and full of websites). This is how search engines crawl through the web picking up site after site, studying them and ranking them. This ranking is important, really important. A higher ranked website by Google will always be on the first page of Google's search results for a related query compared to a lower ranked one.

seo tips for bloggers

So, in order to get ranked higher, you and I need SEO. SEO is like black pepper without which fried egg might not taste 'that' tastier. In simple words, in order for search engines to find your site and rank it higher than others in your field, you need to optimize it. Let's see how with these 7 simple tips.

Ways to SEO Optimize your Blog

Before starting with our 7 simple tips for a quality SEO, it's important to broadly classify those tips into two basic areas, on the basis of origin:

On-page Optimization

Refers to optimization of your actual web content including your HTML code, your text, as well as graphic content.

Off-page optimization

Off-page optimization, however, deals with things like backlinks (hyperlinks pointing to you site from other websites, apps and networks).

1. Create SEO Friendly Blog Post Titles

Post titles are important for SEO. They really are since they are deal makers or breakers. Whenever you write something, make sure you give proper attention to the post's title. Make your titles simple, intriguing, descriptive and gullible so that people may know what is this all about and what to expect. An even better approach is to wear searchers shoes while giving a title and think how would you Google it if you were looking for content like this.

google search results, seo title

Also, don't forget to include keywords in your title and keep it under 70 characters (or search engines would crop it before looking).

2. Improve the quality of your content

If you think 'content' isn't important for SEO, think again! Your content is the most important part of your site. While writing, don't copy-paste from elsewhere, don't stuff it with keywords alone, don't bombard it with images and multimedia files and don't write any lesser than 300 words. These all would affect your ratings quite poorly.

So, write original, use keywords in scenarios instead of straying them around (like I didn't use SEO here, SEO there in every next line), use images where they suffice and make sure you name them properly to appear in image search results, i.e. an image with the "img009.jpg" name would never appear in the image search results but "tips_to_success.jpg" would. The best would be to use text content and wrap them proper in HTML tags like <H2></H2> etc. (search engines likes content this way). Also, make sure your blog post's length is somewhere between 300-500 words - crossing over is fine but lesser isn't.

seo title headings

3. Keywords are keys

Keywords are terms that others may use to search for your content. While keywords are important for SEO, don't go on and stuff your site with keywords. This would make your content appear like a spam to spiders, who would neglect it henceforth.

Ideal is that once you have chosen your title (and included your keyword in it, as I have added keyword SEO in title above), use it in page URL, in your starting and ending paragraphs, as well as in article body where required without sounding awkward. Additionally, you may link it using anchor text to relevant resources in and out of site.

Adding keyword in the post URL using Custom Permalink

4. Meta-tags are important, but not 'that' much

If we had been living in early part of 21st century, meta tags might have done all the SEO for your site. Unluckily, we aren't. Google and other search engines have long left using meta-tags for finding site information. Hence, if someone tells you meta-tagging is all you need for your sites SEO, tell them it isn't.

Nevertheless, it's important that you use your keywords in your meta-data. Some themes already do that for you, if they don't (you can check that using page source or using view source code from browser), don't sweat. You can use 3rd party plugins like All in One SEO Pack and Scribe.

5. Socialize!

Make others talk about your site and share your content on social media sites or their blogs. It gets even better if somehow sites with high ratings link back to your site. This makes spiders think that you are someone important that everyone these days is talking about, resulting in enhancing your ratings dramatically.

Guest posting is another good approach for that. Comment on other sites, make friends with bloggers (best in business) and make them comment at yours. These tiny little things do matter a lot, resulting in enhanced SEO of your site.

6. Link in and Link-Out

Hyperlinks or Links are important from SEO perspective. You can use them to:

Link out to other sites, networks and posts, or even to your previous posts (also called inbound or backlinks) using anchor element with keyword.

anchor element with keyword

Or even better, make others to link in to you, via sharing your content on their sites or social media networks.

As mentioned, an even outstanding strategy for building links is guest posting.

7. Write Often

Sites with new content every day, or twice thrice a week have still far better ratings than those who post every fortnight. A better incoming content frequency makes spider come to your site regularly, resulting in better ratings and enhanced SEO.

Are we done then? Well, trust me - your sites rating is in your hands, not in Google or Yahoo. SEO is just about doing things neatly and in a sophisticated manner. Walk your site these 7 steps for a quality SEO and you will witness the difference yourself at Google, if no place else.

Remember, code clean, write original, socialize... this is what SEO is all about!

Search This Blog

Recent Post

Recent Posts Widget