# TESOL resource library

Entry point: /tesol/resources

The 27 supplied syllabus PDFs (115 pages) are mapped to 27 modules, 162 original topic guides and 54 module self-check questions. Each topic has an explanation, a classroom scenario, a teaching-decision task and an original comparison response.

## Content and routes

- data/tesol/course.mjs assembles the category, module and topic indexes.
- Seven subject files contain original authored guides; quizzes.mjs contains module questions.
- sources.mjs maps each module to its supplied PDF and publication reference.
- Module pages: /tesol/resources/[module]
- Topic pages: /tesol/resources/[module]/[topic]
- Components and isolated styling: components/tesol-resources

Progress, quiz results and explicitly saved notes are stored only in browser localStorage. They do not sync between devices or represent course assessment. Print / save PDF uses the browser print dialog and a dedicated print stylesheet. Notes have an expanding printable representation.

## Validation

Run `node scripts/test-tesol-resources.mjs` for complete PDF coverage, unique routes, distinct guide content and quiz data checks.

With the dev server on port 3000, run `python scripts/check-tesol-pages.py` to check headings, canonical URLs and JSON-LD on all 190 pages, two invalid-route 404 responses, and all 27 source PDFs. Reports are written alongside this file.

Targeted ESLint checks passed for new content, components, pages and edited integration files. All 190 page checks and 27 source-PDF checks passed. One page was rechecked successfully after a development reload. Visual browser verification was unavailable: the in-app backend was absent and desktop automation could not safely identify the browser URL.

## Editorial and design update - 10 November 2026

All 162 guides now include a distinct deeper explanation, a topic-specific misconception and an observable evidence check. Each of the 27 modules has an authored extended introduction, a four-stage teaching sequence, support and extension guidance. Topic pages add teaching sequences, adaptation panels, FAQs and related guides. Course-advisor cards for Aisha appear on the hub, modules and topic pages, using the existing WhatsApp destination and LinkedIn profile.

Run `node scripts/test-tesol-editorial.mjs` to validate expansion coverage and uniqueness, minimum content growth, metadata and structured-data relationships. The original core content is at least doubled for each guide in the assembled editorial data. The rendered topic pages also contain explanatory teaching and reflection sections. Do not treat the editorial data word count as an exact count of the rendered page.

SEO now includes absolute page titles, distinct descriptions, self canonicals, organization authorship, visible update dates, Article/LearningResource markup, breadcrumbs, related-guide links, Open Graph and Twitter images, and dated TESOL sitemap entries. Article authorship remains Cambridge Veritas; Aisha is presented as course guidance, not as an invented author or reviewer. FAQs are useful on-page content; no FAQ rich-result eligibility is claimed.

A 1200 x 630 PNG social image is generated by `/tesol/resources/share-image` and verified by rendering a sample. The design uses responsive hero/advisor columns, clearer reading sections, numbered teaching stages and updated print rules. Automated checks passed for all 190 pages and 27 source PDFs after this update. Expanded-page checks also passed on a guide from each major subject group. In-app visual browser review remained unavailable.

Reference: https://developers.google.com/search/docs/appearance/structured-data/article
Reference: https://developers.google.com/search/docs/fundamentals/creating-helpful-content
