Catalog / tuchopini.co.ke
66

SEO audit for tuchopini.co.ke

Tuchopini — Step-by-step exam solutions, explained clearly

media

Health 66/100 (fair) · 50 pages crawled · generated 2026-07-29

Download Markdown report (feed to ChatGPT / Claude / Cursor)

Tuchopini turns tricky Maths, Physics and Chemistry exam questions into clear written walkthroughs paired with short videos. Read it, watch it, master it.

Screenshot of tuchopini.co.ke
50
pages crawled
49
indexable pages
0
errors
110
warnings
461
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Performance 72 0 47 150
Video 74 0 43 0
Titles 89 0 18 0
Content 99 0 1 52
Duplicate 99 0 1 0
Agent Readiness 100 0 0 98
Cache 100 0 0 49
Images 100 0 0 6
Meta Description 100 0 0 8
Security 100 0 0 49
Structured Data 100 0 0 49
Findings

Warnings (5 rules)

warning Thin content (low word count)

Rule content.thin · Content · 1 occurrence(s)

warning Homepage duplicated across protocol/host variants (no redirect)

Rule duplicate.protocol_host · Duplicate · 1 occurrence(s)

  • https://tuchopini.co.ke/ — https://www.tuchopini.co.ke/ serves the same homepage content with a 200 and no redirect — Google sees a duplicate. Pick one canonical host/scheme and 301-redirect the others.

warning Hero/LCP image is lazy-loaded (loading=lazy delays LCP)

Rule images.no_lazy_lcp_candidate · Performance · 47 occurrence(s)

warning Title likely truncated in SERP (too wide)

Rule title.too_long · Titles · 18 occurrence(s)

warning VideoObject declared but no player element on page

Rule video.no_player · Video · 43 occurrence(s)

Notices (16 rules)

notice Heading levels skip a level

Rule agent.heading_skip · Agent Readiness · 49 occurrence(s)

notice No main landmark for AI agents

Rule agent.no_main_landmark · Agent Readiness · 49 occurrence(s)

notice Page served uncached (no-store/private or CDN bypass)

Rule cache.not_cacheable · Cache · 49 occurrence(s)

notice Main text is hard to read (low Flesch Reading Ease)

Rule content.readability_poor · Content · 5 occurrence(s)

  • https://tuchopini.co.ke/about/ — this page reads as difficult (Flesch Reading Ease 46, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://tuchopini.co.ke/lessons/ — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q1-order-of-operations-bodmas/ — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://tuchopini.co.ke/lessons/kcse-2025-chemistry-p2-q1-periodicity-period-3/ — this page reads as difficult (Flesch Reading Ease 48, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://tuchopini.co.ke/papers/alliance-form3-p1/ — this page reads as very difficult (Flesch Reading Ease 17, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.

notice Image alt text is keyword-stuffed (repetition / low variety)

Rule images.alt_stuffed · Images · 1 occurrence(s)

  • https://tuchopini.co.ke/lessons/ — 7 image(s) have keyword-stuffed alt text — the same word repeated several times, or a long low-variety keyword list. Google's image guidance asks for short, descriptive alt text, not keyword lists; rewrite it to describe the image.

notice Image alt text is very long (possible keyword stuffing)

Rule images.alt_too_long · Images · 3 occurrence(s)

notice Images without width/height (layout shift / CLS)

Rule images.missing_dimensions · Images · 2 occurrence(s)

notice Legacy <meta name=keywords> tag present (Google ignores it)

Rule meta.keywords_present · Content · 47 occurrence(s)

notice Large DOM (over 1500 elements) slows rendering & interaction

Rule perf.dom_size_large · Performance · 3 occurrence(s)

notice Legacy image format (jpg/png/gif) with no next-gen fallback

Rule perf.images_legacy_format · Performance · 49 occurrence(s)

notice No ETag header (no conditional GET for unchanged pages)

Rule perf.no_etag · Performance · 49 occurrence(s)

notice No Last-Modified header (no conditional GET for unchanged pages)

Rule perf.no_last_modified · Performance · 49 occurrence(s)

  • https://tuchopini.co.ke/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/about/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q1-order-of-operations-bodmas/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q10-density-mass-and-volume/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q11-algebraic-fractions/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q12-time-a-slow-clock/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q13-diagonal-of-a-cube/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q14-linear-inequalities/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q15-vectors-magnitude/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q17-ratio-and-profit/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q18-area-tiles-and-profit/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q19-bearings-and-scale-drawing/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q2-lcm-and-time-bells/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q20-coordinate-geometry/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q21-transformations/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q3-simultaneous-equations/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q4-currency-exchange/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q5-angles-of-a-regular-polygon/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q6-laws-of-indices/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q8-trigonometry-complementary-angles/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/lessons/alliance-form3-p1-q9-surface-area-of-a-cylinder/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/papers/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/papers/alliance-form3-p1/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://tuchopini.co.ke/privacy/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.

notice Deprecated schema type with no Google rich result

Rule schema.deprecated_type · Structured Data · 43 occurrence(s)

notice Missing recommended security headers

Rule security.missing_headers · Security · 49 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://tuchopini.co.ke/
Tuchopini — Step-by-step exam solutions, explained clearly
200 yes 365 49
https://tuchopini.co.ke/about/
About — Tuchopini
200 yes 179 49
https://tuchopini.co.ke/lessons/
Lessons — Tuchopini
200 yes 4056 49
https://tuchopini.co.ke/papers/
Exam Papers — Full Worked Solutions | Tuchopini
200 yes 346 49
https://tuchopini.co.ke/privacy/
Privacy Policy — Tuchopini
200 yes 258 49
https://tuchopini.co.ke/papers/alliance-form3-p1/
Alliance High School Form 3 Mathematics Paper 1 — End Term 2, Worked Step by Step | Tuchopini
200 yes 249 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q1-order-of-operations-bodmas/
Alliance Form 3 P1 Q1 — Order of Operations (BODMAS) | Tuchopini
200 yes 836 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q10-density-mass-and-volume/
Alliance Form 3 P1 Q10 — Density, Mass & Volume of a Square Brass Plate | Tuchopini
200 yes 727 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q11-algebraic-fractions/
Alliance Form 3 P1 Q11 — Simplifying Algebraic Fractions | Tuchopini
200 yes 861 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q12-time-a-slow-clock/
Alliance Form 3 P1 Q12 — Time: A Slow Clock (KCSE Maths) | Tuchopini
200 yes 725 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q13-diagonal-of-a-cube/
Alliance Form 3 P1 Q13 — Diagonal of a Cube Face | Tuchopini
200 yes 588 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q14-linear-inequalities/
Alliance Form 3 P1 Q14 — Solving Compound Linear Inequalities | Tuchopini
200 yes 740 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q15-vectors-magnitude/
Alliance Form 3 P1 Q15 — Vectors: Magnitude of AB | Tuchopini
200 yes 806 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q17-ratio-and-profit/
Alliance Form 3 P1 Q17 — Ratio, Trips & Profit (Farmer's Maize) | Tuchopini
200 yes 969 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q18-area-tiles-and-profit/
Alliance Form 3 P1 Q18 — Area, Tiles & Profit | Tuchopini
200 yes 992 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q19-bearings-and-scale-drawing/
Alliance Form 3 P1 Q19 — Bearings & Scale Drawing | Tuchopini
200 yes 1190 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q2-lcm-and-time-bells/
Alliance Form 3 P1 Q2 — LCM & Time (Ringing Bells) | Tuchopini
200 yes 705 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q20-coordinate-geometry/
Alliance Form 3 P1 Q20 — Coordinate Geometry: Equations of Lines | Tuchopini
200 yes 1043 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q21-transformations/
Alliance Form 3 P1 Q21 — Transformations on a Grid (Enlargement, Reflection, Rotation) | Tuchopini
200 yes 1192 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q22-cone-with-a-conical-hole/
Alliance Form 3 P1 Q22 — Cone with a Conical Hole | Tuchopini
200 yes 1050 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q23-speed-time-graph/
Alliance Form 3 P1 Q23 — Speed–Time Graph of a Cheetah | Tuchopini
200 yes 999 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q24-commission-and-percentages/
Alliance Form 3 P1 Q24 — Commission & Percentages (KCSE Maths) | Tuchopini
200 yes 894 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q3-simultaneous-equations/
Alliance Form 3 P1 Q3 — Simultaneous Equations (Technicians & Artisans) | Tuchopini
200 yes 935 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q4-currency-exchange/
Alliance Form 3 P1 Q4 — Currency Exchange (Buying vs Selling Rates) | Tuchopini
200 yes 648 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q5-angles-of-a-regular-polygon/
Alliance Form 3 P1 Q5 — Angles of a Regular Polygon | Tuchopini
200 yes 665 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q6-laws-of-indices/
Alliance Form 3 P1 Q6 — Laws of Indices (Simplify with Fractional Powers) | Tuchopini
200 yes 810 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q8-trigonometry-complementary-angles/
Alliance Form 3 P1 Q8 — Trigonometry: Complementary Angles | Tuchopini
200 yes 695 2
https://tuchopini.co.ke/lessons/alliance-form3-p1-q9-surface-area-of-a-cylinder/
Alliance Form 3 P1 Q9 — Surface Area of a Cylinder (Find the Diameter) | Tuchopini
200 yes 798 2
https://tuchopini.co.ke/lessons/kcse-2025-chemistry-p2-q1-periodicity-period-3/
KCSE 2025 Chemistry P2 Q1 — Periodicity Across Period 3 (Radius, Ionisation, Oxides) | Tuchopini
200 yes 1234 1
https://tuchopini.co.ke/lessons/kcse-2025-chemistry-p2-q2-organic-naming-copper-extraction/
KCSE 2025 Chemistry P2 Q2 — Organic Naming and the Extraction of Copper | Tuchopini
200 yes 1606 1
https://tuchopini.co.ke/lessons/kcse-2025-chemistry-p2-q3-energetics-hess-law/
KCSE 2025 Chemistry P2 Q3 — Energetics and Hess's Law | Tuchopini
200 yes 1637 1
https://tuchopini.co.ke/lessons/kcse-2025-chemistry-p2-q4-chlorine-preparation-reactions/
KCSE 2025 Chemistry P2 Q4 — Chlorine: Preparation and Reactions | Tuchopini
200 yes 1691 1
https://tuchopini.co.ke/lessons/kcse-2025-chemistry-p2-q5-downs-cell-extraction-of-sodium/
KCSE 2025 Chemistry P2 Q5 — The Down's Cell: Extraction of Sodium | Tuchopini
200 yes 1259 1
https://tuchopini.co.ke/lessons/kcse-2025-chemistry-p2-q6-electrolysis-faraday-cells/
KCSE 2025 Chemistry P2 Q6 — Electrolysis, Faraday's Law and Electrochemical Cells | Tuchopini
200 yes 1333 1
https://tuchopini.co.ke/lessons/kcse-2025-chemistry-p2-q7-rates-of-reaction/
KCSE 2025 Chemistry P2 Q7 — Rates of Reaction (Collision Theory and Tangents) | Tuchopini
200 yes 1222 1
https://tuchopini.co.ke/lessons/kcse-2025-maths-p1-q1-order-of-operations-and-surds/
KCSE 2025 Maths P1 Q1 — Order of Operations & Surds | Tuchopini
200 yes 690 1
https://tuchopini.co.ke/lessons/kcse-2025-maths-p1-q10-triangle-construction/
KCSE 2025 Maths P1 Q10 — Construct Triangle ABC and Measure Angle ABC | Tuchopini
200 yes 821 1
https://tuchopini.co.ke/lessons/kcse-2025-maths-p1-q11-profit-and-loss/
KCSE 2025 Maths P1 Q11 — Profit and Loss | Tuchopini
200 yes 770 1
https://tuchopini.co.ke/lessons/kcse-2025-maths-p1-q12-histogram-frequencies/
KCSE 2025 Maths P1 Q12 — Histogram Frequencies from Bar Heights | Tuchopini
200 yes 763 1
https://tuchopini.co.ke/lessons/kcse-2025-maths-p1-q13-reflection/
KCSE 2025 Maths P1 Q13 — Reflection and the Mirror Line | Tuchopini
200 yes 765 1
https://tuchopini.co.ke/lessons/kcse-2025-maths-p1-q14-net-of-a-prism/
KCSE 2025 Maths P1 Q14 — Net of a Trapezoidal Prism | Tuchopini
200 yes 908 1
https://tuchopini.co.ke/lessons/kcse-2025-maths-p1-q2-ratio/
KCSE 2025 Maths P1 Q2 — Ratio: Changing an Hourly Rate | Tuchopini
200 yes 630 1
https://tuchopini.co.ke/lessons/kcse-2025-maths-p1-q3-indices/
KCSE 2025 Maths P1 Q3 — Solving an Indices Equation | Tuchopini
200 yes 888 1
https://tuchopini.co.ke/lessons/kcse-2025-maths-p1-q4-inequalities/
KCSE 2025 Maths P1 Q4 — Solving a Double Inequality | Tuchopini
200 yes 895 1
https://tuchopini.co.ke/lessons/kcse-2025-maths-p1-q5-area-by-counting-squares/
KCSE 2025 Maths P1 Q5 — Area by Counting Squares | Tuchopini
200 yes 743 1
https://tuchopini.co.ke/lessons/kcse-2025-maths-p1-q6-highest-common-factor/
KCSE 2025 Maths P1 Q6 — Highest Common Factor (Least Number of Families) | Tuchopini
200 yes 672 1
https://tuchopini.co.ke/lessons/kcse-2025-maths-p1-q7-algebraic-fractions/
KCSE 2025 Maths P1 Q7 — Simplify an Algebraic Fraction | Tuchopini
200 yes 820 1
https://tuchopini.co.ke/lessons/kcse-2025-maths-p1-q8-cone-from-a-sector/
KCSE 2025 Maths P1 Q8 — Cone from a Sector | Tuchopini
200 yes 757 1
https://tuchopini.co.ke/lessons/kcse-2025-maths-p1-q9-clock-time-lost/
KCSE 2025 Maths P1 Q9 — Clock That Loses Time | Tuchopini
200 yes 704 1
https://tuchopini.co.ke/rss.xml 200 no 0 49

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →