edovo seo descriptions - DE4II/advocacy-tools GitHub Wiki
Edovo’s current index—titles and short (often blank) descriptions—makes it hard for incarcerated users to find the exact learning, spiritual, or recreational content they need. Small changes to how partners write descriptions and metadata can act like a faceted search layer on top of a limited index: better keywords, clearer field values, and short auto-summaries dramatically increase findability and relevance. Below is a practical, step-by-step guide you can give partners to produce high-quality Edovo descriptions, plus an example description and concrete ideas for automating metadata and summary generation.
- Higher recall and relevance in a shallow index. Carefully chosen keywords and structured fields let Edovo match queries that would otherwise return nothing.
- Simulated faceted search. Rich metadata (category, language, level, type, series, chapter) provides the precise filters users need—even when the platform lacks a full faceted engine.
- Faster content decisions for users with constraints. Short automated summaries and a key-text excerpt let a reader judge usefulness quickly—important in low-bandwidth or time-limited settings.
- Better content routing for staff and programs. Clear metadata helps staff find age- and literacy-appropriate resources for classes, reentry planning, or spiritual services.
- Measurable improvement. Simple analytics (search clicks, “no results” reduction, time-to-first-click) make ROI visible to content partners.
-
Start with a clear, concise title.
- Keep it descriptive and scannable:
<Course Type>: <Primary Topic> — <Target / Level>
(≤ 80 characters).
- Keep it descriptive and scannable:
-
Write a search preview (meta_description).
- One or two short sentences (120–160 characters) summarizing audience and benefit. Use the primary keyword early.
-
Provide a 2–3 sentence automated summary.
- This is the short synopsis that appears in search results and helps users decide to open the item.
-
Include a single “key text” excerpt (lead paragraph).
- Copy the opening paragraph of the content or a 30–60 word excerpt that demonstrates tone and level.
-
Fill structured metadata fields (required):
-
category
(academic, spirituality, life-skills, legal, entertainment), -
language
,reading_level
(basic/intermediate/advanced or numeric grade), -
subject
(e.g., budgeting, GED math),content_type
(video, course, PDF, audio), -
publisher
,author
,duration/pages
,series_name
+episode/chapter
,release_date
,transcript_available
(yes/no),closed_captions
(yes/no).
-
-
Supply keywords and synonyms (8–12).
- Include primary keyword, exact-phrase variants, custodial-context phrases (e.g., “reentry budgeting,” “facility-approved worksheets”), and synonyms.
-
Add constrained-facet values for consistency.
- Use a controlled vocabulary (e.g., category = “life-skills” not “life skills” or “life”). Provide a short mapping table to the Edovo team.
-
Accessibility & content flags.
- Mark literacy level, provide transcript/CC, and note any content warnings (e.g., “Contains descriptions of parole hearings”).
-
Preview and validation.
- Show how the description will render in search results and run simple checks: title length, missing required metadata, duplicate keywords, profanity/forbidden words.
Below is a compact template followed by a filled example you can paste into partner submission forms or use as a JSON payload for batch uploads.
{
"id": "<unique_id>",
"title": "<Title>",
"meta_title": "<SEO meta title (optional)>",
"meta_description": "<120-160 char preview>",
"automated_summary": "<2-3 sentence synopsis>",
"key_text_excerpt": "<30-60 word excerpt from content>",
"description": "<Full human-readable description>",
"publisher": "<Publisher name>",
"author": "<Author/Instructor>",
"category": "<academic|spirituality|life-skills|legal|entertainment>",
"subject": "<GED math|financial literacy|religious studies>",
"content_type": "<video|course|pdf|audio>",
"language": "<en|es|...>",
"reading_level": "<basic|intermediate|advanced|grade X>",
"duration_minutes_or_pages": "<number>",
"series_name": "<series title (optional)>",
"episode_or_chapter": "<# (optional)>",
"release_date": "<YYYY-MM-DD>",
"transcript_available": "<yes|no>",
"closed_captions": "<yes|no>",
"keywords": ["keyword1","keyword2","keyword3"],
"tags": ["budgeting","reentry"],
"content_warnings": ["sensitive topics (optional)"]
}
{
"id": "fin-lit-budget-101",
"title": "Financial Literacy: Budgeting Basics — Beginner",
"meta_title": "Budgeting Basics | Financial Literacy for Reentry",
"meta_description": "A short, practical course teaching step-by-step budgeting and saving strategies for people preparing for reentry.",
"automated_summary": "This beginner-level course introduces budgeting fundamentals: tracking income, prioritizing bills, and creating a simple monthly budget. Designed for learners with limited formal education and low-bandwidth delivery. Includes printable worksheet.",
"key_text_excerpt": "Learn how to map your monthly income to essential bills, build a simple budget, and start saving with small, repeatable steps.",
"description": "An introductory course that teaches practical budgeting for daily life and reentry planning. Topics include tracking income, prioritizing expenses, emergency savings, and using prison-legal banking options. Includes a downloadable budgeting worksheet and short quizzes.",
"publisher": "Community Ed Press",
"author": "J. Alvarez",
"category": "life-skills",
"subject": "financial literacy",
"content_type": "course",
"language": "en",
"reading_level": "basic",
"duration_minutes_or_pages": "90",
"series_name": "Reentry Essentials",
"episode_or_chapter": "1",
"release_date": "2024-06-10",
"transcript_available": "yes",
"closed_captions": "yes",
"keywords": ["budgeting","financial literacy","reentry budgeting","saving","monthly budget","prison banking","low literacy"],
"tags": ["reentry","money management","worksheets"],
"content_warnings": []
}
How this example helps discoverability: the automated_summary surfaces user benefit, the key_text_excerpt gives a quick read to test fit, the category/subject/reading_level act like facets, and keywords include custodial terms (e.g., “prison banking”) that match real user search language.
Below is a robust, practical pipeline you can implement to auto-generate high-quality descriptions at scale. Keep human review in the loop for quality and safety.
Inputs: video, audio, PDFs, slides.
Tasks: extract transcript (speech-to-text), OCR on scanned docs, normalize encoding and language detection.
Extractive summarization (fast, conservative)
Pull the lead paragraph(s) and the most representative sentences (TextRank or similar) to create the key_text_excerpt. This preserves factual wording from the source.
Use a controlled LLM prompt to generate the automated_summary and the meta_description. Include length and style constraints (e.g., “2 sentences, ≤160 characters, audience: incarcerated learners”).
Guardrail: flag any legal or medical content for mandatory human review before publishing.
Combine statistical (TF–IDF) + NLP keyword extractors (RAKE/YAKE) and a small synonym expansion model to produce 8–12 prioritized keywords. Map facility-specific phrases into keyword lists (e.g., “commissary budget” → “prison commissary”).
Use a lightweight classifier trained on existing labeled Edovo content to predict category, subject, reading_level, and content_type.
Validate outputs against a controlled vocabulary.
Review auto-generated metadata for accuracy, appropriateness, and compliance.
Publish final metadata + description to Edovo’s ingestion pipeline.