web: RSS-Feed je Newsroom, RSS-Übersichtsseite, „RSS" in der Topleiste (Roadmap 3.1, Nachtrag)

- /{edition}/newsroom/{slug}/feed: Sichtbarkeit wie die Newsroom-Seite
  (aktiv, nicht entfernt, mindestens eine Meldung), Prüfung vor dem Cache,
  301 bei zusammengeführter Firma; Autodiscovery und Link „RSS-Feed" auf
  der Newsroom-Seite; Hub leitet auf das Portal der Firma.
- /{edition}/rss (RssPageController, static.rss DE/EN): Was RSS ist, wie
  ein Reader funktioniert, Hauptfeed, alle Branchen-Feeds mit Adresse,
  Muster des Newsroom-Feeds, Hinweise. Portalseite mit Portal-Kontext,
  Hub → presseecho, in Sitemap und llms.txt.
- Topleiste, Burger-Menü und Footer verlinken RSS neben FAQ/Hilfe/API.
- FeedController in portal/category/newsroom aufgeteilt; Panel
  „Auslieferung" nennt zusätzlich den Newsroom-Feed.
- Tests: FeedTest (+3), RssPageTest (4), StaticPagesTest, VisibilityStatsTest.
- dev/2026-09-01: Nachtrag in Protokoll Teil 11 und Roadmap 3.1.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-09-21 08:27:14 +00:00
parent 9d5e5a0b54
commit ff75159b8f
22 changed files with 577 additions and 55 deletions

View file

@ -206,7 +206,7 @@ Braucht Betreuungszeit und ist teilweise von Dritten abhängig.
| Nr. | Arbeitspaket | Aufwand | Abhängigkeit |
|---|---|---|---|
| ~~3.1~~ | RSS-Feeds je Branche — **gebaut 18.09.2026**: `/{edition}/feed` und `/{edition}/category/{slug}/feed` (RSS 2.0, jüngste 50, inkl. Unterkategorien), Autodiscovery auf Start-, Branchen- und Archivseiten, Link in der Archiv-Leiste, Block im Panel „Auslieferung", Hub leitet aufs Portal (Protokoll Teil 11) | S | 2.3 |
| ~~3.1~~ | RSS-Feeds je Branche — **gebaut 18.09.2026**: `/{edition}/feed` und `/{edition}/category/{slug}/feed` (RSS 2.0, jüngste 50, inkl. Unterkategorien), Autodiscovery auf Start-, Branchen- und Archivseiten, Link in der Archiv-Leiste, Block im Panel „Auslieferung", Hub leitet aufs Portal; **21.09.2026:** Feed je Newsroom (`/newsroom/{slug}/feed`), Übersichtsseite `/rss` (Was ist RSS, wie abonnieren, alle Feeds), „RSS" in der Topleiste (Protokoll Teil 11) | S | 2.3 |
| 3.2 | Opt-in E-Mail-Digest je Branche, Double-Opt-in | M | 3.1, Bounce-Suppression live |
| 3.3 | Agenturmodell: mehrere Firmen unter einem Konto, aus den Sammeladressen aus 1a.2 abgeleitet | L | 1a.2 |
| 3.4 | Gezielte Ansprache kleiner PR-Agenturen und freier Texter | L | 3.3 |

View file

@ -2199,3 +2199,38 @@ ohne Befund.
**Deploy:** `view:cache`/`route:cache` neu; kein `migrate`, kein
`cache:clear` (neue Cache-Keys).
### Nachtrag 21.09.2026 — Newsroom-Feeds, RSS-Seite, Topleiste
Auf Wunsch des Betreibers ergänzt:
- **Feed je Newsroom:** `/{edition}/newsroom/{slug}/feed`
(`FeedController::newsroom`). Gleiche Sichtbarkeitsregel wie die
Newsroom-Seite: aktive Firma, nicht entfernt, mindestens eine
veröffentlichte Meldung — sonst 404. Die Sichtbarkeitsprüfung läuft vor
dem Cache, damit Deaktivierung und Entfernung sofort greifen; eine in
einer Zusammenführung aufgegangene Firma führt per 301 zum Feed des
bleibenden Newsrooms (1a.3). Kanalbeschreibung aus dem Boilerplate.
Newsroom-Seite: Autodiscovery (Newsroom- und Portal-Feed) und sichtbarer
Link „RSS-Feed" in der Kopfzeile neben „Newsroom seit". Hub: 301 auf
das Portal der Firma (`RedirectPortalOnlyPagesFromHub`).
- **RSS-Übersichtsseite** `/{edition}/rss` (`RssPageController`,
`web.rss`, Texte `static.rss.*` DE/EN): Was RSS ist, wie ein Reader
funktioniert (drei Schritte, Beispiele Feedly/Inoreader/NetNewsWire/
Thunderbird/Outlook), dann Hauptfeed, alle aktiven Top-Level-Branchen
mit Feed-Adresse, Muster des Newsroom-Feeds mit Link auf die
Newsroom-Übersicht, Hinweise (Ausgaben DE/EN, Schwesterportal, Anriss
statt Volltext, keine Weiterverwendung). Portalseite wie Preise:
Portal-Kontext angewendet (eine `Route::view` hätte auf presseecho das
Branding von businessportal24 gezeigt), auf dem Hub 301 auf presseecho
(`portal_only_pages`), in der Portal-Sitemap, in `llms.txt`.
- **Topleiste:** „RSS" neben FAQ · Hilfe · API (Desktop), im Burger-Menü
unter den Service-Links und im Footer. Der Hub-Header hat die drei Links
nicht und bekommt deshalb auch kein RSS.
- Panel „Auslieferung": je Portal jetzt Branchen-, Newsroom- und
Portal-Feed.
Tests: `FeedTest` (+3: Newsroom-Feed mit Sichtbarkeit, Hub-301 aufs
Firmenportal, Autodiscovery auf der Newsroom-Seite), `RssPageTest` (4),
`StaticPagesTest`-Datensatz, `VisibilityStatsTest`. Pint, Larastan ohne
Befund. Deploy unverändert: `view:cache`/`route:cache`.