# Pflichtenheft

Um das Projekt in die richtige Richtung zu lenken, haben wir (Auftraggeber) ein Pflichtenheft für die Website definiert. Dieses Pflichtenheft stellt sicher, dass ihr (Agentur) und der Auftraggeber (Kursleiter) sich über den Umfang des Projektes einig sind.

### Pflicht-Seiten

Eure Website muss mindestens folgende Seiten enthalten:

| Seite                       | Beschreibung                                                                                            |
| --------------------------- | ------------------------------------------------------------------------------------------------------- |
| **Startseite**              | Übersicht, Hero-Bereich, Highlights, Call-to-Action, 3-Blogbeiträge Teaser-Vorschau, Kundenstimmen, FAQ |
| **Custom Content**          | Übersichtsseite (keine Detailseiten), inkl Titel und passendem Einleitungstext                          |
| **Über uns / Team**         | Unternehmen + Mitarbeitende                                                                             |
| **Blog**                    | Übersicht + mindestens 3 ausgearbeitete Beiträge                                                        |
| **Kontakt**                 | Kontaktformular, Standort                                                                               |
| **Impressum & Datenschutz** | Rechtskonforme Seiten (Schweizer Recht)                                                                 |

### Muss-Anforderungen

Diese Anforderungen müssen auf der Website umgesetzt werden.

#### Gestaltung umsetzen

Die Gestaltung der Website soll entsprechend dem [Kundenbriefing](https://m289.ict-bz.ch/projekt/kundenbriefing) umgesetzt werden. Ausgangsbasis ist euer gewähltes **Astra Starter Template**, das ihr mit **Elementor** an euer Thema anpasst. Allfällige Änderungen oder Anpassungen können vom Projektteam mit einer entsprechenden Begründung auch während der Umsetzung vorgeschlagen werden. Die Entscheidung über die Annahme einer Anpassung behält der Auftraggeber (Kursleiter). \
Für Beiträge und Inhalte dürft ihr LLMs wie Claude, ChatGPT o.ä. als Unterstützung nutzen. Achtet dabei aber auf folgende Punkte:

* **Tonalität** muss zum Kunden und dessen Zielgruppe (Personas) passen – generische LLM-Texte erkennt man sofort.
* **Lest jeden Text sorgfältig durch**, bevor ihr ihn übernehmt. Ihr seid verantwortlich für das, was auf der Seite steht – inhaltlich wie sprachlich.
* **Fakten prüfen:** LLMs erfinden Details. Preise, Öffnungszeiten, Namen etc. müssen zum Kundenbriefing passen. Alles andere darf in diesem Projektumfeld erfunden werden, muss aber stimmig zum Kunden und seiner Zielgruppe sein.

#### Custom Post Type (ACF)

Euer Custom Post Type muss mindestens **4 verschiedene Feldtypen** verwenden, z.B.:

* Textfeld (z.B. Herkunftsland)
* Zahlenfeld (z.B. Preis)
* Auswahlfeld / Select (z.B. Kategorie, Schwierigkeitsgrad)
* Bild (z.B. Produktfoto)
* Wahr/Falsch (z.B. «Verfügbar», «Interaktiv»)
* Wysiwyg-Editor (z.B. ausführliche Beschreibung)

Die Felder müssen im **Frontend sichtbar** dargestellt werden — direkt auf der Übersichtsseite (entweder sofort sichtbar oder per Aufklapp-Element).

#### Responsive Design

Websites werden heutzutage zu einem Grossteil mit mobilen Endgeräten besucht. Aus diesem Grund muss die Website auch auf **Tablet und Smartphone** optimal angezeigt werden. Prüft eure Seite nicht nur im Browser-Emulator, sondern auch auf echten Geräten. Inkl. Mobile Menü.

#### Inhalte

Die Themen für die einzelnen Bereiche können innerhalb eures Kundenprojekts frei gewählt werden. Nichtsdestotrotz soll insgesamt ein stimmiges Bild vom Inhalt entstehen. Es dürfen **keine Fülltexte (Lorem Ipsum)** verwendet werden — schreibt echte, lesenswerte Inhalte (denkt an eure Personas).

#### Blog

Mindestens **3 ausgearbeitete Blog-Beiträge** mit echten Texten, Bildern und zugewiesenen Kategorien. Die Beiträge sollen zur Zielgruppe (Personas) passen und zum Thema eures Kunden beitragen.

#### Kundenstimmen (Testimonials)

Baut die gelieferten Kundenstimmen an den passenden Stellen mit ein. Gerne könnt ihr diese mit Beispiel-Fotos für dieses Projekt ergänzen.

#### FAQ

Baut an passender Stelle einen FAQ Sektion ein.

#### Kontaktformular

Das Kontaktformular muss funktionsfähig sein und die erfassten Informationen als E-Mail weiterleiten. Testet das Formular, indem ihr euch selbst eine Nachricht schickt.

#### Datenschutz & Impressum

* **Impressum** mit den wichtigsten Angaben (Name, Adresse, Kontakt)
* **Datenschutzerklärung** die erklärt, welche Daten gesammelt werden
* **Cookie-Banner** via Plugin (z.B. Kansleri Cookiebanner)
* **Matomo** als datenschutzkonforme Besuchermessung (WordPress-Plugin)

#### SEO (Suchmaschinenoptimierung)

Damit die Seite möglichst gut gefunden wird, soll die Seite für Suchmaschinen optimiert sein:

* **SEO-Plugin** installieren (Yoast SEO)
* Pro Seite ein **Fokus-Keyword** und **Meta-Beschreibung** definieren
* Sinnvolle **Überschriften-Hierarchie** (H1–H3)
* **Alt-Texte** auf allen Bildern
* Saubere **Permalink-Struktur** (z.B. `/escape-rooms/der-verlorene-schatz`)

#### Benutzerrollen

Das Benutzermanagement soll sinnvoll eingerichtet sein. Benutzer sollen nur die Rechte erhalten, die sie tatsächlich benötigen. Zusätzlich muss ein **weiterer Administrator-Account mit der Mail eures Kursleitenden** angelegt werden. Passwörter müssen den gängigen **Sicherheitsstandards** entsprechen.

#### Child Theme & Shortcode

Erstellt ein **Child Theme** für euer Astra-Theme und implementiert darin einen Shortcode, der die **aktuelle Jahreszahl** ausgibt (z.B. `[year]`). Setzt diesen im Footer oder Impressum ein (z.B. «© \[year] Firmenname»).

#### Usability

Umsetzen der [Checkliste "Was macht eine gute Webseite aus"](https://m289.ict-bz.ch/projekt/checkliste-was-macht-eine-gute-website-aus)

#### Performance

Achtet auf eine angenehme Seitenladegeschwindigkeit:

* Bilder optimieren (Zielgrösse: max. 300 KB pro Bild)
* Nicht benötigte Plugins deaktivieren/löschen
* Keine unnötig grossen Dateien hochladen

#### Debug-Modus

Der Debug-Modus ist bei der Abgabe ausgeschaltet (false)

***

### Darf-Anforderungen (Bonus)

Sofern ihr die Pflichtanforderungen erfüllt habt, könnt ihr das Projekt mit folgenden Zusatzaufgaben ergänzen:

#### Mehrsprachigkeit

Die Website soll in einer Zweitsprache verfügbar sein (z.B. mit dem Plugin Polylang). Es müssen nicht alle Inhalte übersetzt werden — für die Zweitsprache dürfen Fülltexte verwendet werden.

#### Erweiterte ACF-Nutzung

Erstellt einen zweiten Custom Post Type oder ergänzt euren bestehenden mit zusätzlichen Feldtypen. Z.B. FAQ Beiträge

#### Custom CSS

Setzt eigene CSS-Anpassungen in Elementor oder im Child Theme ein, um euer Design individueller zu machen.

#### WOW-Effekt

Überrascht den Kunden mit mindestens einem Punkt auf der Website, der ein «WOW» auslöst — sei es eine kreative Animation, ein besonderes Interaktionselement oder ein cleveres Detail.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://m289.ict-bz.ch/projekt/pflichtenheft.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
