How-To Guide
How to Make Your Website SEO-Friendly
SEO isn't magic and it isn't a secret. It's a checklist. Here's the exact checklist beginners should follow — no jargon, no paid tools.
🔍 What is SEO, Really?
SEO (Search Engine Optimization) is the practice of making your website easy for search engines to find, understand, and rank highly.
Google's algorithm considers hundreds of factors. But for beginners, these matter most:
- Content quality — does your page answer the user's question?
- Technical setup — can Google crawl and index your pages?
- On-page SEO — titles, meta descriptions, headings, structure
- Backlinks — other sites linking to you (the hardest to earn)
- Page speed — does your site load fast?
- Mobile-friendliness — does it work on phones?
💡 The honest truth: SEO is 20% technical setup and 80% publishing helpful content consistently. This guide covers the 20% — you handle the 80% by publishing.
Add Unique Title Tags to Every Page
The <title> tag is the single most important on-page SEO element. It appears:
- In the browser tab
- As the blue link in Google search results
- When shared on social media
The rules:
- Between 40 and 60 characters
- Include the main keyword of the page
- Be unique — never duplicate titles across pages
- Put the most important words first
Example:
<title>How to Install Python (Windows, Mac, Linux) | MAK Studio</title>
⚠️ Common mistake: Titles over 60 characters get cut off in Google results. Titles under 20 characters look thin and uninspiring. Aim for 50-60.
Write Meta Descriptions for Every Page
The <meta name="description"> tag appears as the grey text under your title in Google results. It doesn't directly affect rankings, but it dramatically affects click-through rate.
The rules:
- Between 120 and 160 characters
- Include the main keyword naturally
- Give the user a reason to click
- Include a benefit or a specific detail
Example:
<meta name="description" content="Step-by-step guide to installing Python on Windows, Mac, or Linux. Includes PATH setup, pip check, and fixes for common errors.">
💡 Write like a salesperson, not a dictionary. "Learn how to X" is stronger than "This page is about X."
Use Headings Correctly (H1, H2, H3)
Headings are how Google understands the structure of your content.
The rules:
- One H1 per page — the main topic
- Multiple H2s — sub-topics
- H3s under H2s — never skip levels (don't put H3 under H1)
- Include keywords naturally in headings
Example:
<h1>How to Install Python</h1>
<h2>Step 1: Download the Installer</h2>
<h2>Step 2: Run the Installer</h2>
<h3>On Windows</h3>
<h3>On Mac</h3>
<h2>Common Errors</h2>
⚠️ Common mistake: Using H1 multiple times, or choosing headings based on font size. A heading is about hierarchy, not visual style. Use CSS to control appearance.
Add a Canonical URL to Every Page
The canonical tag tells Google which version of a URL is the "official" one. This prevents duplicate content issues.
Example:
<link rel="canonical" href="https://yourdomain.com/page.html">
Common problems this prevents:
yourdomain.comvswww.yourdomain.comhttp://vshttps://yourdomain.com/page; vsyourdomain.com/page/;
- Old GitHub Pages URLs vs new custom domain URLs
💡 This one bit us hard. If you've moved your site from yourname.github.io to a custom domain and forgotten the canonicals, all your SEO credit goes to the old domain. Check every page.
Add Open Graph Tags for Social Sharing
When someone shares your page on Twitter, LinkedIn, Facebook, or WhatsApp, these tags control the preview card.
The minimum set:
<meta property="og:title" content="Your Page Title">
<meta property="og:description" content="Your page description.">
<meta property="og:image" content="https://yourdomain.com/images/social-card.png">
<meta property="og:url" content="https://yourdomain.com/page.html">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Your Page Title">
<meta name="twitter:description" content="Your page description.">
<meta name="twitter:image" content="https://yourdomain.com/images/social-card.png">
The og:image should be 1200×630 pixels — the standard size for all major platforms.
💡 Test your social cards: Use Facebook Debugger and Twitter Card Validator to preview how your links appear when shared.
Create a sitemap.xml
A sitemap is a file that lists every important page on your site. It's the map you give Google so it can find everything.
Example sitemap.xml:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://yourdomain.com/</loc>
<lastmod>2026-01-15</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://yourdomain.com/about.html</loc>
<lastmod>2026-01-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Place this file at yourdomain.com/sitemap.xml; (root of your site).
💡 Too many pages to write manually? Generate one automatically with a Python script — walk your repo folder and output every HTML file. We can help you build it if needed.
Create a robots.txt
The robots.txt file tells search engines which pages they may or may not crawl. It also points to your sitemap.
Example robots.txt:
User-agent: *
Allow: /
Sitemap: https://yourdomain.com/sitemap.xml;
Place this at yourdomain.com/robots.txt.
⚠️ Each rule on its own line. If you put everything on one line, Google may fail to parse it. This is a common beginner mistake.
Submit to Google Search Console
Google Search Console (GSC) is a free tool that shows you how Google sees your site. It's the single most valuable SEO tool for beginners.
Setup steps:
- Go to search.google.com/search-console ;
- Add your domain as a property
- Verify ownership (DNS record is easiest)
- Submit your sitemap under Sitemaps
- Use URL Inspection to request indexing for key pages
After a few days, GSC will show you:
- How many people see your pages in Google (impressions)
- How many click through to your site (clicks)
- The exact keywords people use to find you
- Any crawl or indexing errors
✅ GSC is free, essential, and used by every professional SEO expert. If you only do one thing from this guide, do this.
Add Structured Data (JSON-LD)
Structured data helps Google understand what your page is. In return, Google may show rich snippets — stars, FAQs, step-by-step guides directly in search results.
Types of schema worth adding:
| Page Type | Schema Type | What It Earns |
|---|---|---|
| How-to guides | HowTo | Step-by-step in SERPs |
| FAQ pages | FAQPage | Expandable Q&A in SERPs |
| Blog posts | Article | Author + date in SERPs |
| Course pages | Course | Course carousel |
| Product pages | Product | Price + rating in SERPs |
| Homepage | WebSite | Sitelinks search box |
Example HowTo schema:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Install Python",
"totalTime": "PT5M",
"step": [
{
"@type": "HowToStep",
"name": "Download the installer",
"text": "Go to python.org/downloads"
}
]
}
</script>
📚 Test your structured data with Google's Rich Results Tool →
Optimize Images (Alt Text + Compression)
Images are a hidden SEO factor most beginners ignore.
Add descriptive alt text:
<img src="python-installer.png" alt="Python 3.12 installer window on Windows with 'Add Python to PATH' checkbox highlighted">
Compress your images:
- Use TinyPNG or Squoosh
- Or serve them as WebP format (30% smaller than PNG/JPG)
- Aim for images under 200 KB
💡 Alt text serves two purposes: it helps screen readers (accessibility) AND tells Google what the image is about (SEO). Never skip it.
Link Internally (A Lot)
Internal links — links between pages on your own site — are one of the most underrated SEO factors.
Why internal links matter:
- Google uses them to discover new pages
- They pass "authority" from popular pages to new ones
- They keep visitors on your site longer
- They help Google understand your site's structure
Practical rules:
- Every page should have at least 3 internal links
- Use descriptive anchor text — not "click here"
- Link to your most important pages from your homepage
- Add "Related Resources" sections at the bottom of every page
💡 Reverse-engineer this: Every lesson on this site links to 3-5 other lessons. Every How-To guide links to related guides. That's not accidental — it's a strategy.
Make It Mobile-Friendly
Over 60% of web traffic comes from mobile devices. If your site is broken on phones, Google ranks it lower.
The essentials:
- Add the viewport meta tag:
<meta name="viewport" content="width=device-width, initial-scale=1.0"> - Use responsive layouts (Flexbox, Grid, or media queries)
- Make buttons at least 44px tall (thumb-friendly)
- Prevent horizontal scrolling (no elements wider than the screen)
- Use readable font sizes (16px minimum)
Test with Google's Mobile-Friendly Test →
Make It Fast
Google measures your site's loading speed through Core Web Vitals. Slower sites rank lower.
The quickest wins:
- Compress images (TinyPNG)
- Use lazy loading for images below the fold:
<img loading="lazy"> - Minify CSS and JavaScript
- Limit external fonts to one family
- Don't use giant libraries when small ones will do
Test with PageSpeed Insights →
Publish Consistently
This is the part nobody can automate for you. Google loves sites that publish fresh, high-quality content regularly.
What "consistent" means:
- 1-2 new pages per week minimum
- Update old pages when information changes
- Focus on topics you can cover deeply
- Don't publish 50 pages in a week then nothing for 3 months
💡 The 3-6 month rule: Google takes 3-6 months to trust a new site. Don't panic at month 2 with low traffic. Keep publishing. The compounding effect is real.
✅ The Complete SEO Checklist
Bookmark this. Work through it for every new page.
- Unique title tag (40-60 chars)
- Meta description (120-160 chars)
- One H1, multiple H2s
- Canonical URL set to your domain
- Open Graph tags (og:title, og:description, og:image, og:url)
- Twitter card tags
- Alt text on every image
- At least 3 internal links
- Mobile-responsive layout
- Fast page load (under 2 seconds)
- URL is clean and readable
- Structured data (JSON-LD)
- Added to sitemap.xml
- Submitted to Google Search Console
- Shared on social media for backlinks
🚫 Common SEO Mistakes
❌ Duplicate titles across pages
Google can't tell pages apart. Every page needs a unique title.
❌ Ignoring canonicals when moving domains
All your SEO credit stays with the old domain. This is the mistake we made earlier.
❌ Keyword stuffing
Repeating "best SEO tips" 50 times doesn't help. It hurts. Write naturally.
❌ Buying backlinks
Google detects paid links and penalizes your site. Earn them through content and outreach.
❌ Publishing thin content
Pages under 300 words rarely rank. Give your topics the depth they deserve.
❌ Ignoring Google Search Console
You're flying blind. GSC tells you exactly what's working and what isn't.
❌ Expecting results in a week
SEO is a slow burn. 3-6 months minimum. Don't give up.
🛠️ Free SEO Tools Worth Using
Google Search Console
See how Google views your site. Essential.
Google Analytics 4
Track visitors and behavior. Guide here.
PageSpeed Insights
Test your site speed and Core Web Vitals.
Rich Results Test
Verify your structured data is valid.
Mobile-Friendly Test
Check how your site looks on phones.
Ahrefs Webmaster Tools
Free tier — see backlinks and technical issues.
⏳ The Honest Timeline
| Timeframe | What Happens | Traffic |
|---|---|---|
| Month 1-3 | Google discovers and indexes pages | 50-200 visits |
| Month 3-6 | First rankings on low-competition keywords | 200-1,000 visits |
| Month 6-12 | Content compounds, backlinks accumulate | 1,000-5,000 visits |
| Month 12-18 | Established topical authority | 5,000-20,000 visits |
| Month 18+ | SEO flywheel in full effect | 20,000+ visits |
⚠️ Reality check: SEO rewards consistency and patience over 12-24 months. If you need results in 2 weeks, SEO is not the tool — paid ads are.
🎯 What's Next?
You now know the fundamentals. Time to apply them.