How to Install the SeoSpeed Template on Blogger, Step by Step
A complete guide that takes you from uploading the template file to a site running every feature, in three parts: Layout settings, then the Theme Designer, then the User Zone inside the template.
1Before you start: prepare your blog
- Back up your current theme: in your Blogger dashboard, open Theme, click the arrow next to Customize, then choose Backup. Save the file with today’s date in its name.
- Set your blog language: under Settings → Basic → Blog Language. SeoSpeed reads your blog’s language to translate its interface and set the page direction automatically: English runs left to right, Arabic flips the whole site to right to left.
- Prepare your logo as a PNG or WebP with a transparent background, and a site icon of at least 32×32.
- Have your Firebase details ready only if you’ll use sign-in, ratings and protected downloads (optional — see section 7).
2Upload the template file to Blogger
- Open your Blogger dashboard and go to Theme.
- Click the arrow next to the Customize button and choose Restore.
- Select the SeoSpeed XML file you received after your purchase and upload it.
- When Blogger asks to remove widgets the new theme doesn’t use, accept — that’s expected.
- Open your site: the design appears immediately, and you set everything up from Layout and the Theme Designer.
Layout settings in Blogger
Layout is SeoSpeed’s everyday control panel: it’s where you set up the logo, menus, zones, ads, homepage and footer without touching any code. Open it from Blogger dashboard → Layout; we’ll walk through it from the top of the page to the bottom.
3General rules before you start
- The version bar at the top of Layout shows the template name and version. It’s there for identification only and can’t be edited.
- Sections locked to a single gadget (such as Site Logo and Main Posts) don’t accept new gadgets; that’s deliberate, to protect the template’s structure. Sections that show Add a Gadget are yours to use.
- Settings gadgets are Link List or HTML gadgets written as
key / valuepairs — the key in the item’s text field, the value in its link field — or as a single code line. - The zones (Top Full Zone, Top Posts Zone, Bottom Posts Zone, Bottom Full Zone) are rows of up to four equal cells each, for post blocks and ads; use the eye icon to hide a gadget.
4Site Logo: your logo
Click Edit on the Header gadget in the Site Logo section, then type your blog name or upload your logo image. The template loads the logo early so it appears quickly and doesn’t cause layout shift.
5Pages Menu and Categories Menu
Pages Menu: the top pages bar
A Link List shown in the top bar. Add your static pages: About, Contact, Privacy, Terms, Sitemap and FAQs. AdSense looks for these pages when it reviews your site, so don’t skip them.
Categories Menu: the main menu (three levels)
The main navigation, usually label links such as /search/label/Label-Name. It supports three levels and a highlighted item, using markers at the start of the title; visitors never see them:
| Marker | Result |
|---|---|
| No marker | Top-level item |
_ (underscore) | Sub-item under the top-level item above it |
__ | Third level, under the sub-item above it |
* (star) | Highlights the item in your brand color |
Home => / Templates => /search/label/Templates _Blogger Templates => /search/label/Blogger-Templates _WP Templates => /search/label/WP-Templates Tools => /search/label/Tools _AI Tools => /search/label/AITools Technology => /search/label/Technology
6Share Tools, Language Icons and Subscribe
Share Tools & Social Media: your profiles
Add the full URL of each profile, starting with https://. The template recognizes the network from the link and shows its icon automatically — in the header (Share Tools) and the footer (Social Media).
Language Icons: the language bar
A Link List next to the header tools. The text is the language name (with a flag if you like), and the link is the address of your site in that language. One language only? Delete the items and the bar disappears.
🇬🇧 English => https://www.example.com/ 🇸🇦 العربية => https://ar.example.com/ 🇫🇷 Français => https://fr.example.com/
Subscribe: the follow button
An HTML gadget holding your Blogger follow link. Replace the placeholder with your blog ID:
https://www.blogger.com/followers/follow/YOUR-BLOG-ID
7Login Tool and Newsletter settings
Login Tool - Firebase Keys
The Login Tool gadget gives visitors an account through Google or a magic email link, and it powers post ratings and protected downloads. Put each key’s name in the text field and its value in the link field, and use the eye icon as the on/off switch:
| Text | Link (your value) |
|---|---|
apiKey | AIza… |
authDomain | your-project.firebaseapp.com |
projectId | your-project |
appId | 1:…:web:… |
Leaving these empty simply keeps sign-in off; the rest of the site works normally. Data stays yours: sign-in and ratings in Firebase, protected downloads in Firestore, favorites in the visitor’s browser.
Download buttons in your posts
The download button is already built into the template. For a protected download (sign-in required), the ID is a document in the Firestore downloads collection whose url field holds the file link:
<a class="tq-btn" data-tq-file="Seo-Speed-Free" style="cursor:pointer">Download the file</a>
For an open download, or a members-only one with a direct link:
<a class="tlq-cta-btn" data-tq-file="https://example.com/file.zip">Download</a> <a class="tlq-cta-btn" data-tq-lock="1" data-tq-file="https://example.com/file.zip">Download (members)</a>
tq-btn class has no visual style of its own, so add an inline style as shown, and avoid putting an SVG icon inside it.Newsletter Settings
The Newsletter Settings gadget connects the subscribe bar to your own Google Sheet. Put each key in the text field and its value in the link field:
| Key | Value |
|---|---|
endpoint | Your Google Apps Script web-app URL |
autoOpen | 0 off, or 1 to open automatically |
consentUrl | Link to your privacy page |
8Bell Popup: the announcement
An HTML gadget holding the announcement card’s code — or any ad or share code you prefer. The eye icon turns it on or off. The default content is a simple promo card you edit freely:
<div class="sp-promo"> <h3>Big announcement!</h3> <p class="sp-promo-tag">Write your announcement here — or replace it with any code.</p> <a class="sp-promo-btn" href="/p/offer.html">Learn more</a> </div>
9Homepage zones and the sp-posts code
The home page is built from named zones. The main ones:
| Layout section | What goes in it |
|---|---|
| Above Full / Below Full | Full-width gadgets at the very top and very bottom |
| Above Content 1 & 2 | Gadgets above the posts area |
| Top Full Zone (1–3) | Three rows of up to four cells each, above the content |
| Top Posts Zone (1–2) | Two rows of up to four cells, just above the feed |
| Main Posts | Your main posts feed (with the view switcher) |
| Bottom Posts Zone / Bottom Full Zone | Rows of cells below the feed and near the footer |
Most zones are filled with one code, sp-posts, placed in an HTML/JavaScript gadget. It fills itself from your blog:
<div class="sp-posts" data-type="label" data-label="Templates" data-style="grid" data-count="4" data-title="Unique Templates"></div>
| Attribute | What it does |
|---|---|
data-type | label · recent · random · comments · related |
data-style | grid · list · cards · featured · minis · slider |
data-label | The label name (for type="label"), exactly as in Blogger |
data-count | Number of posts |
data-title | Block title; remove it for a block without a title |
<div class="sp-posts" data-type="recent" data-style="cards" data-count="6" data-title="Latest Articles"></div> <div class="sp-posts" data-type="random" data-style="minis" data-count="4" data-title="Picked for you"></div> <div class="sp-posts" data-type="comments" data-count="5" data-title="Latest comments"></div>
data-label doesn’t match its name in Blogger, capital letters and hyphens included.10Above / Below Article zones
On article pages, four open zones let you place gadgets and ads: Above Article 1 & 2 (before the post) and Below Article 1 & 2 (after it). The Below Article 1 zone also holds the featured-post gadget by default. Use these for an in-article ad, a latest-comments block or a related block.
11The sidebar
| Section | What it does |
|---|---|
| Sidebar | Your gadgets: translate, popular posts, labels, archive, stats, search… |
| Sidebar Ad | Up to three ad slots in the sidebar (AdSense or custom ads) |
The template restyles Blogger gadgets inside the sidebar to match the design and turns the archive into a dropdown. Whether the sidebar shows on the home page, on posts, on static pages and on phones is set in the Theme Designer.
12The ad system in Layout
Ads are managed from three gadgets. In each item, leave the item name as it is and put the value in the link field:
| Gadget | What to put in the link field |
|---|---|
| AdSense Publisher ID | Your publisher ID, as ca-pub-XXXXXXXXXXXXXXXX |
| AdSense Home Ads | The ad-unit number for each of the five homepage slots |
| AdSense Post Ads | The ad-unit number for each of the five in-post slots |
| Home slots | Post slots |
|---|---|
Ad 1 | Top (above posts) | Ad 1 | Top (above article) |
Ad 2 | Middle (between posts) | Ad 2 | Middle (inside article) |
Ad 3 | Below Posts (before pager) | Ad 3 | End (after article) |
Ad 4 | Below Pager | Ad 4 | After Rating Bar |
Ad 5 | Above Footer | Ad 5 | Above Footer |
A value of 0 means the slot is off and leaves no empty gap. The AdSense library loads only after the visitor’s first interaction, so it doesn’t slow page load. You can also place a custom ad as an HTML gadget in any zone.
13Redirect settings
The Redirect Settings gadget routes outbound links through a clear exit page. Put each key in the text field and its value in the link field:
| Key | Value |
|---|---|
enable | on or off |
seconds | Countdown before leaving, e.g. 5 |
mode | inline or your chosen mode |
page | Path of the redirect page, e.g. /p/redirect.html |
exclude | Domains to skip, comma-separated (your own social links) |
/p/redirect.html (title it “redirect” first, then rename it after publishing).14The footer and the contact form
| Section | Suggested content |
|---|---|
| Footer Column 1 | A short introduction to your site |
| Footer Column 2 / 3 | Links to your key pages and sections |
| Footer Column 4 | Contact links, or more pages |
| Social Media | Your social profiles (shown as icons) |
| Contact Form Source | The contact form’s source — don’t delete it |
The copyright line at the very bottom, and the Tooliqo logo beside it, are protected and can’t be removed or hidden.
Showing the contact form on a page
Create a “Contact” page and, in the page’s HTML view, put this line where you want the form to appear:
<div class="tq-contactus"></div>
Theme Designer: 56 options in 15 groups
15How to open it and read its options
From your Blogger dashboard: Theme → Customize → Advanced. You’ll find a set of groups, and every change shows up in the preview right away, before you save.
1px = off/hide and 2px = on/show; a few hold a real number (speed in seconds, header style 1–4, popup stay). The description next to each option tells you exactly what each value does.16Widths, colors and fonts
| Group | Option | What it does | Value |
|---|---|---|---|
| Theme Widths | content.width / sidebar.width | Content and sidebar widths | 1200px / 326px |
| Brand Color | main.color | Primary brand color (gradient start) | #133276 |
main.color.dark | Middle of the gradient | #4285F4 | |
brand.color3 | Gradient end | #ac25eb | |
brand.angle | Gradient angle, in degrees | 135 | |
| Text and Links | title.color / text.color / link.color | Headings, body text and links | #0f172a / #334155 / #2563eb |
| Theme Backgrounds | body.bg / card.bg / header.bg / footer.bg | Page, cards, header and footer backgrounds | #f8fafc / #fff / #fff / #0f172a |
| Theme Fonts | body.font / title.font | Body and headings fonts | system 16px |
The three brand colors build the gradient used in headings, buttons, the ticker and accents. Change just these three and your whole site takes on a new identity.
Free toolColor Code Studio, to pick your brand colors17Header style, bars and tools
| Group | Option | Choices | Value |
|---|---|---|---|
| Basic Settings | headerStyle | 1 Classic · 2 Logo Top · 3 Tall Logo · 4 Cat Bar (icon) | 4 |
pagesBarMode / pagesBarColor | Pages bar: 1 brand gradient · 2 custom color | brand | |
catsBarMode / catsBarColor | Categories bar: 1 default · 2 custom | default | |
boxedLayout | 1 full width · 2 boxed | full | |
| Header | stickyHeader | Sticky header: 1 off · 2 on | on |
header.link.color | Nav links color | #0f172a | |
showBreaking / breakingSpeed | Breaking ticker on/off, and its speed in seconds | on / 5 | |
showFeatured | Featured grid on the home page: 1 off · 2 on | on | |
| Header Tools | darkModeDefault | Start in dark mode: 1 off · 2 on | off |
showDarkBtn / showFavBtn | Show the dark-mode and favorites buttons | on / on |
18Homepage, sidebar and basics
| Group | Option | Choices | Value |
|---|---|---|---|
| Basic Settings | stopCopy | Content protection (block copy): 1 off · 2 on | on |
showGSource | Google preferred-source button in posts: 1 off · 2 on | on | |
showNewsletter | Newsletter bar above the footer: 1 off · 2 on | on | |
showRandomPop / rndPopStay | Random popup on/off, and stay: 1 until closed, or 2–30 seconds | on / 19 s | |
pnMode / pnColor | Prev/next buttons: 1 brand gradient · 2 custom color | custom | |
hideSidebarPage | Sidebar on static pages: 1 show · 2 hide | show | |
| Sidebar | hideSidebarHome / hideSidebarPost / hideSidebarMobile | Hide the sidebar on home, on posts, on mobile (1 show · 2 hide) | show / show / hide |
19Article features and ads
| Group | Option | What it does | Value |
|---|---|---|---|
| Article Features | showReadingTime | Reading time: 1 off · 2 on | on |
showToc | Table of contents: 1 off · 2 on | on | |
showAuthorBox | Author box: 1 off · 2 on | on | |
showRelated | Related posts: 1 off · 2 on | on | |
showShare | Share buttons: 1 off · 2 on | on | |
autoLinks / autoLinkStyle | Auto-style standalone links, style 1 Card · 2 Button · 3 Outline · 4 Underline | on / Card | |
| Footer | footer.text.color / footer.title.color | Footer text and titles | #cbd5e1 / #fff |
| Ads | showAds / autoAds | Enable ads, and AdSense Auto Ads (1 off · 2 on) | on / off |
adsClient / adsDelay | Publisher ID, and seconds to hold ads back | — / 0 |
20Ready-made recipes
| You want | Change |
|---|---|
| A completely new identity | main.color, main.color.dark and brand.color3, nothing else |
| The fastest, calmest setup | showRandomPop: 1 · autoAds: 1 · keep body.font on system |
| A news / magazine look | headerStyle: 4 · showBreaking: 2 · showFeatured: 2 |
| A reading focus | hideSidebarPost: 2 · showToc: 2 · showReadingTime: 2 |
| A classic header with the full menu | headerStyle: 1 |
The User Zone inside the template
21Where to find it, and its golden rule
The User Zone is an open block at the top of the template file, split into nine numbered slots, that gathers what’s specific to your site: verification codes, the default image, AdSense, analytics, config and your own styles. Open Theme → Edit HTML, press Ctrl + F (Cmd + F on a Mac) and search for:
BUYER ZONE
YOUR CODE with your value. Don’t delete the quotes or the surrounding script, and don’t edit anything outside the box.22[1] Site verification
Ready-made tags. Put your code in place of YOUR CODE only in the tags you need, and leave the rest as they are:
<meta content='YOUR CODE' name='google-site-verification'/> <meta content='YOUR CODE' name='google-adsense-account'/> <meta content='YOUR CODE' name='msvalidate.01'/> <meta content='YOUR CODE' name='yandex-verification'/> <meta content='YOUR CODE' name='dmca-site-verification'/>
23[2] Default post image
The image shown for posts that have none. Replace YOUR CODE with a full URL, or leave it to keep the template’s built-in file-style image:
window.TLQ_USER.FALLBACK_IMAGE = 'YOUR CODE'; /* https://example.com/default-image.webp */
Use an image starting with https://; a 1200×630 WebP or JPG works well.
24[3] AdSense ID & [5] Auto Ads
Slot [3] holds your publisher ID — the ID only, not the long AdSense code:
window.TLQ_USER.ADSENSE_CLIENT = 'ca-pub-XXXXXXXXXXXXXXXX';
Slot [5] turns Auto Ads on or off. The template builds the code itself and loads the library after the first interaction.
25[4] Google Analytics
window.TLQ_USER.ANALYTICS_ID = 'G-XXXXXXXXXX';
Optional: left on YOUR CODE it doesn’t load, and a filled-in ID loads after the first interaction or when the browser is idle, so it doesn’t slow page load.
26[6]–[9] Config, CSS, JS, head code
| Slot | What it’s for |
|---|---|
| [6] Site config | A few site-wide options the template reads at load |
| [7] Custom CSS | Your own styles, instead of editing the template code |
| [8] Custom JS | Any extra script you need |
| [9] Custom head code | Extra tags for the page head (fonts, metas, verifications) |
For your own styles, put them between the style tags in slot [7]:
<style>
.post-body{font-size:17px}
</style>downloads collection in Firestore.27Pre-launch checklist
- A backup of your old theme, saved with its date.
- The verification codes you need in [1], and your publisher ID in [3] or the AdSense gadget.
- Logo, menus and social links set up in Layout.
- The three brand colors match your identity, and each bar’s contrast is readable.
- Every home block shows real posts, and the label names match.
- About, Contact and Privacy pages are published, plus the redirect page if you turned that gadget on.
- Firebase keys added only if you’re using sign-in, ratings or protected downloads.
- You’ve tested the site on desktop and on a phone, in light and dark mode, and run a PageSpeed check.
