# Lexikon Index Page – A-Z Layout

**Last Updated:** 2026-03-17

Architecture and behavior of the Lexikon index page at `/insights/lexikon/`.

## Overview

The Lexikon page shows all lexikon posts in a single-page A–Z index, grouped by first letter. There is no pagination; all posts are listed on one page.

## Architecture

- **Template:** `v2/pages/blog/category.php` (shared with ratgeber, inside-ordio)
- **Conditional layout:** When `$category === 'lexikon'`, the page uses the A–Z layout instead of the grid + pagination
- **Data:** Posts from `v2/data/blog/posts/lexikon/*.json`, loaded via `load_blog_post_summaries_by_category('lexikon')`
- **Grouping:** `group_lexikon_posts_by_letter()` in `v2/config/blog-template-helpers.php`

## Letter Grouping Rules

- **Sorting:** German collation (Collator if intl available, else normalized comparison)
- **Umlauts:** Ä→A, Ö→O, Ü→U (Duden: ä/ö/ü treated as a/o/u)
- **Numbers:** Posts starting with 0–9 go into a single "0–9" section
- **Order:** A–Z, then 0–9

## Components

| Component | Path | Purpose |
|-----------|------|---------|
| LexikonLetterNav | `v2/components/blog/LexikonLetterNav.php` | Sticky A–Z filter navigation (multi-select toggle buttons) |
| LexikonLetterSection | `v2/components/blog/LexikonLetterSection.php` | One letter section with H2 and term list |
| LexikonTermCard | `v2/components/blog/LexikonTermCard.php` | Compact term card (title and link only, no excerpt) |

## UX Behavior

- **Filter:** Letter nav uses toggle buttons. Click to select/deselect letters; multi-select shows only sections for selected letters. No selection (or "Alle") = show all sections. Smooth show/hide animations.
- **Layout:** Term list is single column on mobile, two columns on desktop (768px+).

## Redirects

- `/insights/lexikon/page/*` → 301 to `/insights/lexikon/` (QSA preserved)
- Implemented in `.htaccess` and as a fallback in `category.php`

## Automatic Updates

New lexikon posts appear automatically when:

1. A new JSON file is added under `v2/data/blog/posts/lexikon/`
2. The post has valid `slug`, `title`, and `url`

No manual steps are required. The page loads all posts and groups them by letter on each request.

## SEO

- Single canonical URL: `/insights/lexikon/`
- No pagination schema
- CollectionPage schema with `numberOfItems`
- H1: "HR-Begriffe & Arbeitsrecht einfach erklärt"
- H2: Per letter (A, B, …, 0–9)

## Related Documentation

- `.cursor/rules/blog-lexikon-index.mdc` – Lexikon layout patterns
- `docs/systems/landing-page-redirects/LANDING_PAGE_REDIRECTS.md` – Redirect rules
