Blogger default search = ugly, slow, no suggestions. Custom search box = live suggestions as you type, looks pro, keeps users on site, reduces bounce. Must add in header + sidebar.
In Post #145, add custom search.
Step 1: Add Search Box in Header (Main)
- Blogger → Theme → Edit HTML → Find
<div class='header-right'>or header section → Inside paste:
<div class='custom-search'> <form action='/search' method='get' style="display:flex;align-items:center;background:#f3f4f6;border-radius:20px;padding:6px 12px;max-width:260px;"> <input type='text' name='q' placeholder='Search guides...' style="border:none;background:transparent;outline:none;flex:1;font-size:14px;"/> <button type='submit' style="border:none;background:#000;color:#fff;border-radius:50%;width:28px;height:28px;cursor:pointer;">🔍</button> </form> <div id='live-results' style="position:absolute;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,0.1);max-width:300px;width:90%;z-index:999;display:none;margin-top:6px;max-height:300px;overflow-y:auto;"></div> </div>
Step 2: Add Live Search Suggestions JS
- Find
</body>→ Above it paste:
<script>
// Live Search - Post 145
var searchInput = document.querySelector('.custom-search input[name="q"]');
var liveBox = document.getElementById('live-results');
if(searchInput){
searchInput.addEventListener('input', function(){
var q = this.value.trim();
if(q.length<2){ liveBox.style.display='none'; return; }
var script = document.createElement('script');
script.src = '/feeds/posts/summary?alt=json-in-script&q='+encodeURIComponent(q)+'&max-results=5&callback=showLive';
document.body.appendChild(script);
});
}
function showLive(json){
var posts = json.feed.entry;
var box = document.getElementById('live-results');
if(!posts){ box.style.display='none'; return; }
var html='';
for(var i=0;i<posts.length;i++){
var post=posts[i];
var url=''; for(var j=0;j<post.link.length;j++){ if(post.link[j].rel=='alternate'){ url=post.link[j].href; break; } }
var title=post.title.$t;
html+='<a href="'+url+'" style="display:block;padding:10px 14px;border-bottom:1px solid #f0f0f0;text-decoration:none;color:#111;font-size:13px;">'+title+'</a>';
}
box.innerHTML=html;
box.style.display='block';
}
document.addEventListener('click', function(e){
if(!e.target.closest('.custom-search')){ document.getElementById('live-results').style.display='none'; }
});
</script>
Step 3: Add Search in Sidebar + 404 Page
- Layout → Sidebar → Add Gadget → HTML/JavaScript → Paste simple search:
<form action="/search" method="get" style="display:flex;gap:6px;"> <input type="text" name="q" placeholder="Search..." style="flex:1;padding:10px;border:1px solid #ddd;border-radius:10px;"/> <button style="background:#000;color:#fff;border:none;padding:10px 16px;border-radius:10px;">Go</button> </form>
Also add same to 404 page: Theme → Edit HTML → Find data:view.isError → Inside add search form so user not lost.
Step 4: Style Search Results Page
- Find
.search-queryor.status-msg-wrapCSS → Add:
.status-msg-wrap{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:12px;padding:14px;margin-bottom:20px;text-align:center;}
.status-msg-body{font-weight:600;}
Step 5: Google Custom Search (Alternative Pro Method)
If you want Google powered search with AdSense earnings:
- Go to programmablesearchengine.google.com → Create new engine → Sites: yourblog.blogspot.com → Create
- Copy code → Layout → Add Gadget → HTML/JavaScript → Paste
- Enable Search Ads in CSE settings → Earn from search results page (extra $20-50/month)
| Type | Pros | Cons |
| Blogger Default | Fast | Ugly, no live |
| Post #145 Live Search | Fast, live suggestions, no external JS | Needs feed API |
| Google CSE | Best results, monetize search | Shows Google branding, slower |
Recommendation: Use Post #145 live search for main + Google CSE on search page only.
Post #145 Complete.
Next Post #146: How to Add Categories Menu in Blogger - mega menu.
0 Comments