
DIY SEO
DIY SEO & AEO Guide
A practical do‑it‑yourself playbook for small businesses. It’s intentionally thorough so you can try it yourself — and see where bringing in a pro saves time and avoids mistakes.
0) What you’ll need (free unless noted)
Google Search Console (GSC)
Bing Webmaster Tools (BWT)
Google Business Profile (GBP) if you serve a local area
PageSpeed Insights (for Core Web Vitals)
A text editor to paste JSON‑LD (structured data)
Your CMS login (WordPress, Shopify, etc.)
Time: 8–20 hours to do properly on a small site. Expect some rework.
1) Technical baseline (make the site fast and indexable)
HTTPS & one canonical host: force https, and choose either www or root (301 redirect the other).
Core Web Vitals (CWV): run PageSpeed Insights for 3–5 key pages. Aim to fix:
INP (interaction delay)
LCP (largest contentful paint)
CLS (layout shift)
Quick wins: compress images (WebP/AVIF), lazy‑load, cache, and defer non‑critical scripts.
Crawlability:
robots.txt must allow important folders.
Generate an XML sitemap and link it in robots.txt as Sitemap: https://example.co.za/sitemap.xml.
Index check: in GSC, use URL Inspection for the homepage and 3–5 money pages. Fix anything flagged.
DIY friction flag: server/cache settings, script defers, and CWV debugging usually cost the most time.
2) Search Console & Bing setup (discovery & freshness)
Verify your site in GSC (domain property preferred).
Submit your sitemap in GSC → Sitemaps.
Verify in BWT and submit the same sitemap.
After every content update, Resubmit the changed URL in GSC (Request Indexing).
3) Site architecture (match search intent to pages)
Create one page per core intent. Don’t cram everything into one page.
Home (overview + proof)
Services (one page per service)
Locations (one page per key town/area if genuinely served)
About/Team (E‑E‑A‑T: who you are, proof of work)
Blog/Guides (how‑to answers your buyer searches for)
Checklist: every page needs a single primary keyword/theme, a clear H1, scannable sub‑headings, and internal links to related pages.
4) On‑page template (answer‑first for AEO)
Use this pattern on each page:
Title tag (≤ 60 chars):
{Service | Product} in {City} | {Brand}
Meta description (≤ 155 chars):
{Clear benefit}. {Specific proof}. Call {action}.
H1: One plain, descriptive heading.
Answer‑first block (2–3 sentences at the top):
State the direct answer, what you do, who it’s for, where you operate.
Body structure:
What it is / who it helps
How it works (steps)
Pricing/quotes/lead time
Proof (case study, photos, reviews)
FAQs (real questions)
Clear CTA (WhatsApp, phone, form)
Media: original photos, short clips, and a simple explainer diagram if relevant.
5) Structured data (make entities explicit)
Add JSON‑LD to your pages. Start with Organisation and local business details.
Organisation (site‑wide, once on the homepage):
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Your Brand (Pty) Ltd",
"url": "https://example.co.za/",
"logo": "https://example.co.za/logo.png",
"sameAs": [
"https://www.facebook.com/yourbrand",
"https://www.instagram.com/yourbrand",
"https://www.linkedin.com/company/yourbrand"
]
}
LocalBusiness / Service page (adapt type as needed):
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Your Brand",
"image": "https://example.co.za/cover.jpg",
"url": "https://example.co.za/plumbing-repairs-johannesburg/",
"telephone": "+27 11 555 1234",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Rd",
"addressLocality": "Kempton Park",
"addressRegion": "GP",
"postalCode": "1619",
"addressCountry": "ZA"
},
"areaServed": ["Kempton Park", "Bedfordview", "Edenvale"],
"openingHours": "Mo-Fr 08:00-17:00",
"priceRange": "R",
"sameAs": ["https://g.co/kgs/yourgbplink"]
}
FAQ (only where you actually have Q&A):
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Do you service after hours?",
"acceptedAnswer": {"@type": "Answer", "text": "Yes. Call or WhatsApp for emergency rates."}
}
]
}
Validate with any schema checker before publishing.
DIY friction flag: choosing the exact schema types and keeping them updated is fiddly.
6) Google Business Profile (local visibility)
Claim/verify your GBP.
Fill categories (primary + relevant secondary), services, service area or address, hours, attributes.
Upload real photos (work, team, before/after).
Turn on Messaging (WhatsApp web link can sit on your site/CTA).
Set up a review request routine after each job.
Review ask (WhatsApp/SMS template):
“Thanks for choosing {Brand}. Would you mind leaving a quick review? It helps local clients find us. {short GBP link} — appreciate it!”
7) Content that wins answers (AEO‑centric)
Build 6–12 guides that solve specific tasks a customer actually searches. Use question headlines, give a 2–3 sentence summary answer, then steps, then a CTA.
Suggested formats: How‑to, Checklist, Before/After, Cost breakdown, Troubleshooting.
Minimum viable cadence: 2 guides/month for 3 months.
8) Internal links & basic authority
From every new guide, link to 1–2 relevant service pages.
From service pages, link to the most helpful guides.
List your business on a handful of relevant SA directories and associations (quality over quantity). Keep your NAP identical everywhere.
9) Track what matters (including WhatsApp)
In GSC → Performance, watch Queries and Pages. Align each page to its top queries; avoid duplicate pages fighting for the same term.
In analytics (GA4 or your platform), set conversions for: form submit, phone clicks, WhatsApp clicks (/send?phone= links), and quote requests.
Review monthly and iterate titles/meta based on low CTR pages.
DIY friction flag: event/conversion tracking for WhatsApp and calls can be finicky per platform.
10) Monthly housekeeping (2 hours)
Fix any indexed but blocked / 404 issues in GSC.
Refresh one older guide with new detail.
Publish one new Q&A guide.
Add 3–5 real photos to GBP and respond to every review.
11) Common pitfalls (avoid these)
Copying generic content or AI text with no proof or local specifics.
Spammy FAQ markup on pages that aren’t actually Q&A.
Thin location pages with only a city name swapped.
Ignoring INP/LCP on mobile.
Inconsistent NAP between your site, GBP, and directories.
12) Where a pro saves you days (hire‑worthy moments)
Getting CWV green on mobile without breaking layouts.
Designing a clean IA (site structure) that scales.
Choosing and maintaining the right schema types.
Building review automations and compliant messaging.
Wiring WhatsApp/call conversion tracking end‑to‑end.
Editorial planning for answer‑first content that actually ranks and converts.
13) Quick start checklist (print this)
HTTPS enforced, single canonical host
XML sitemap live + submitted to GSC/BWT
3–5 key pages pass CWV basics
One page per service/location, answer‑first layout
Organisation + LocalBusiness JSON‑LD added
GBP fully completed, review flow live
2 helpful guides published and interlinked
WhatsApp/call/form conversions tracked
Monthly housekeeping booked in calendar
14) Want it done‑for‑you?
If you’d rather skip the learning curve, a managed package will set up CWV fixes, schema, GBP, content templates, and conversion tracking in ±2 weeks, then maintain it monthly while you focus on delivery.
