Filtry katalogu bylin (/byliny) — URL parametry a SEO
Stav dokumentu: Částečně — základní filtry (
q,month,part,region,pm,topic,topicScope,science,scienceMin,studyType,safety,spiritual,spiritualFacet,severity) jsou v produkci; aliasové routy/byliny/sezona/:mesic,/byliny/tema/:slug,/byliny/zpracovani/:slugmapují namonth/topic/pm.
Cíl: jedna doména — parametry URL na /byliny, přehledové routy a SEO aliasy (odděleně od plánu fulltextu a AI).
Vstup: 23-api-and-routes.md · 22-data-model.md. Vyhledávání a AI: vyhledavani-katalogu-a-ai.md. Rozcestník: filtrace-a-vyhledavani-katalogu.md.
1. Současné filtry (parametry URL)
| Parametr | Popis | Zdroj dat / poznámka |
|---|---|---|
q | Textové vyhledávání názvů (CS / latinsky / alternativy) | herb_names |
month | Měsíc sběru (1–12), shoda s harvest_periods | viz sezonnost-a-kalendar.md |
part | Část rostliny ve sběru (slug, např. kvet, list) | plant_parts / sběrové řádky |
region | Geografický výskyt (slug regionu) | výskyt byliny |
pm | Způsob zpracování — opakovatelný parametr, OR mezi hodnotami | herb_methods + processing_methods |
topic | Slug tématu / symptomu | herb_topic_links + topics |
topicScope | Skupina vazeb tématu: all | tradition | science | lifestyle | viz symptomy-a-temata.md |
science | Katalogová úroveň vědy (any / substantial / none) | herb_scientific_lines |
scienceMin | Min. laťka síly důkazu (preliminary … review) | stejné zdroje |
studyType | Slug typu studie | herb_scientific_lines.study_type |
safety | Úroveň bezpečnosti (safe, caution, avoid, …) | herbs.safety_level |
spiritual | Přítomnost publikovaných spiritual_uses | spiritual_uses |
spiritualFacet | Opakovatelný parametr — slug z JSON pole spiritual_uses.facets (OR mezi hodnotami); jen známé slugy ze slovníčku | spiritual_uses.facets + app/lib/spiritual-content-labels.ts |
severity | Opakovatelný parametr — závažnost u vazby bylina ↔ téma (lehka | stredni | tezka, OR); u zadaného topic platí při té vazbě, bez tématu jakákoli vazba s danou závažností | herb_topic_links.symptom_severity + app/lib/labels/symptom-severity-labels.ts |
Implementace: app/routes/byliny.tsx (loader + meta), app/lib/catalog-byliny-search-params.ts (parsování URL a mapování na DB/UI), app/components/catalog/catalog-byliny-page.tsx, app/db/herbs.server.ts (listPublishedHerbs, …), strukturovaný SQL filtr ID v app/db/herb-catalog-filter-ids-query.server.ts (buildHerbCatalogFilterIdsQuery; Vitest herb-catalog-filter-ids-query.server.test.ts). Regresní průchod na lokální D1 po změnách SQL: p2-3-katalog-filtry-d1-matice.md, skript npm run smoke:byliny-matrix (po npm run build).
2. Přehledové routy (aliasy)
-
/byliny/sezona/:mesic→ předvyplněnýseason. -
/byliny/tema/:slug→ předvyplněnýsymptom. -
/byliny/zpracovani/:slug→ předvyplněnýmethod.
3. Plánovaná rozšíření filtrů
-
severity— závažnost u vazby téma (herb_topic_links.symptom_severity), migrace seed dat, parserseverity, SQL filtr ID, UI vcatalog-filter-form.tsx. - Spirituální facety — filtr podle
facetsJSON (spiritualFacetv URL, OR mezi zvolenými slugy; viz spiritualni-stitky-a-facets.md).
4. SEO a kanonické URL
- Kanonické URL zůstávají na
/byliny?…; aliasové routy slouží pro sdílení a interní odkazy. - Sitemap a metadata: viz 23-api-and-routes.md.
5. Akceptace
- Kombinace parametrů funguje bez konfliktů s paginací (pokud je zapnutá).
- Rozšířené filtry (
severity): dokumentované slugy ve slovníčku, parser a testy (catalog-filter-params,catalog-byliny-search-params, SQL Vitest). - Spirituální facety: dokumentované slugy v
spiritual-content-labels.ts(KNOWN_SPIRITUAL_FACET_SLUGS), parser a testy vcatalog-filter-params/catalog-byliny-search-params/catalog-page-helpers.
6. Vazby na jiné dokumenty
- Štítky a typy důkazů — stitky-tvrzeni-a-typy-dukazu.md.
- Symptomy / témata — symptomy-a-temata.md.
- Katalog zpracování — katalog-zpracovani.md.