Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

School of Freelancing — SEO Audit & Content Roadmap

Audited: Aug 2026 · schooloffreelancing.com


1. On-Page SEO — Homepage Findings

Item Status Fix
Title tag "Linux Freelancing Training & Services | School of Freelancing" — good length, keyword-front-loaded ✅ Keep
Meta description Present, ~155 chars ✅ Good
OG vs Meta mismatch og:description / twitter:description say "IT services", meta description + og:title say "AI services" ❌ Fix — pick one term, sync across all 5 tags
H1 "Build a High-Income Linux & AI Freelancing Career" — one H1, keyword-relevant ✅ Good
Canonical Present, self-referencing ✅ Good
robots meta index, follow, max-snippet:-1, max-image-preview:large ✅ Good, AI-search friendly
Theme color / mobile meta Present ✅ Good
Image alt text Logos have descriptive alt ("Linux logo," "Hermes Agent logo") ✅ Good — extend this standard to all service/location page images

Action: Standardize on "AI & Linux services" across title, meta, OG, and Twitter tags site-wide. Inconsistent phrasing across social/meta surfaces confuses both search engines and AI crawlers building an entity profile of the brand.


2. Schema Markup

Homepage doesn't expose visible JSON-LD in a standard fetch (this can be a rendering/extraction artifact — verify directly in Google Rich Results Test and Schema Markup Validator).

Given you've already built Organization + EducationalOrganization + Course + Service schema (per your prior work), verify on live homepage:

  • Organization schema includes sameAs for all socials shown in footer (GitHub, YouTube, LinkedIn, Facebook, Instagram, Threads, WhatsApp, Telegram, X) — currently 9 profiles linked in footer, confirm all are in schema
  • AggregateRating (5.0★, 36 reviews) is marked up with real review count — do not pad, matches your own no-fabrication rule
  • Each Course card (Linux, Hermes Agent, Telnyx) has matching Course schema with hasCourseInstance, price, duration
  • Add BreadcrumbList schema site-wide — you have deep hierarchy (Training → Course, Locations → Country) that benefits heavily from breadcrumbs in SERPs
  • Add FAQPage schema on the FAQs page specifically — currently just a footer link, no schema signal visible
  • Add VideoObject schema for the homepage YouTube embed (thumbnail, uploadDate, duration) — you have an embedded intro video with no visible video schema

3. Core Web Vitals

Couldn't run PageSpeed Insights directly from this session (tool access restricted to prior search/fetch domains). Run manually and report back, but structural risks visible in the HTML:

  • YouTube iframe embed on homepage (https://www.youtube.com/embed/...) — this is a common LCP/CLS killer. Switch to a static thumbnail (hqdefault.webp — you're already generating this) that loads the real iframe only on click (facade pattern). Cuts ~500KB-1MB of blocking JS on first load.
  • Google Tag Manager loaded via googletagmanager.com/ns.html — confirm GTM container loads async/defer, not render-blocking.
  • Test at: PageSpeed Insights and GTmetrix — run for homepage + one training page + one location page (location pages are often template-heavy and most at risk).

Priority targets: LCP < 2.5s, CLS < 0.1, INP < 200ms.


4. AI Search / Answer-Engine Readiness (GEO/AEO)

You've already built llms.txt, MCP server, and A2A card — ahead of most competitors here. Remaining gaps:

  • robots.txt AI bot rules — confirm explicit User-agent blocks for GPTBot, ClaudeBot, PerplexityBot, Google-Extended set to Allow (verify directly — I couldn't fetch robots.txt in this session, check schooloffreelancing.com/robots.txt manually)
  • Sitemap reference in robots.txt — confirm Sitemap: line points to current sitemap.xml
  • Content structure for citation — AI answer engines favor direct, extractable Q&A blocks. Your FAQ page should use literal question-as-heading format (e.g., ## How much does Linux Freelancing Training cost?) directly followed by a 1-2 sentence factual answer, then elaboration. Right now check if FAQs open with narrative instead of the direct answer.
  • Entity consistency — "School of Freelancing," "AnythingLinux," and your personal name (Karim) should resolve consistently across schema, About page, and footer sameAs — this is what lets AI engines build a confident entity graph and cite you by name/brand correctly.
  • index.md pairing — you're already doing this for training pages; extend the same pattern to all 20 location pages and all service pages if not already done.

5. Technical/Structural Gaps

  • No blog/resource hub in main nav — biggest missing piece for topical authority. You have deep technical expertise (VoIP, SMS gateways, Hummingbot, Mailcow) with zero long-form content capturing informational search intent.
  • Service copy is jargon-dense ("cryptographic security auditing, external gateway proxy scripting") — hurts both readability and keyword match against how businesses actually search ("hummingbot not connecting to exchange," "server keeps crashing").
  • Location pages (~20 countries) — ensure each has unique H1/meta, not just swapped country name in a templated block (thin/duplicate content risk if only the country name changes).
  • Internal linking — homepage doesn't link to Locations or FAQs directly; both are footer-only, buried from crawl priority.

6. Content Roadmap (Next 90 Days)

Phase 1 — Foundation (Weeks 1–3)

  • Fix OG/meta description mismatch (site-wide audit, not just homepage)
  • Add BreadcrumbList + FAQPage + VideoObject schema
  • Convert YouTube embed to click-to-load facade
  • Verify/fix robots.txt AI bot allowlist + sitemap reference
  • Run PageSpeed Insights on homepage + 1 training + 1 location page, fix top 3 flagged issues

Phase 2 — Content Hub Launch (Weeks 4–8)

Launch /resources/ or /blog/ — target bottom-of-funnel, high-intent freelancer queries:

  • "How to become a Linux freelancer with no experience"
  • "Hummingbot installation guide" (you already have this expertise — long-form version of your YouTube content)
  • "FusionPBX vs Twilio for freelance VoIP projects"
  • "How much do Linux freelancers earn in [country]" — ties directly into your 20 location pages, strong internal linking opportunity
  • "Telnyx vs Twilio SMS API for freelancers"

Each post: 1,200–1,800 words, one embedded YouTube video (facade-loaded), FAQ block with schema, internal link to matching Training page.

Phase 3 — Location Page Depth (Weeks 6–10)

  • Differentiate each of the 20 country pages beyond swapped country name: local marketplace stats, local currency pricing examples, country-specific testimonial if available
  • Add unique FAQ per location ("Can I learn Linux freelancing from Nigeria?" etc.)

Phase 4 — Authority & Links (Weeks 8–12)

  • Publish case studies from actual student outcomes (ties to your GMI program — real, verifiable data you already have)
  • Guest content / backlinks from freelance marketplace blogs (Upwork community, Fiverr forum, dev.to) linking back to specific training pages, not just homepage
  • Submit to AI/agent directories (isitagentready.com — already on your radar) and similar emerging GEO directories as they appear

Phase 5 — Measurement (Ongoing)

  • Track: organic sessions per training page, FAQ page impressions (Search Console), AI referral traffic (check server logs for GPTBot/ClaudeBot/PerplexityBot hits as a proxy for AI crawl frequency)
  • Monthly: re-run PageSpeed Insights, watch CWV drift after any new embeds/scripts added

Immediate Top 5 (if you only do 5 things)

  1. Fix OG/meta description "AI" vs "IT" inconsistency site-wide
  2. Facade-load the YouTube embed (biggest likely CWV win)
  3. Add FAQPage + BreadcrumbList schema
  4. Launch a blog/resources section — you're leaving free organic traffic on the table with zero informational content
  5. Verify robots.txt explicitly allows GPTBot/ClaudeBot/PerplexityBot + has sitemap line

About

backup

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors