admin: Bericht „Indexierung & Abrufe" — Rolle Erstquelle/Kopie, Quellenbefund, Crawler-Abrufe; Schlüsselpfad ab Projektwurzel

Der Bericht meldete auf Live „nicht konfiguriert", während der Lauf
längst Daten holte: der relative Pfad der Schlüsseldatei war im Cron
(Projektwurzel) lesbar, im Web-Request (public/) nicht. Relative Pfade
werden jetzt ab base_path() aufgelöst.

Die Verteilung trennt zusätzlich nach Rolle in der kanonischen Zuordnung
(1c.8): bei einer Kopie mit Verweis ist „ausgeschlossen" der erwartete
Befund. Neu: Quellenbefund über Erstquellen (welche Adresse Google führt,
fremde Hosts), Abrufe durch Such- und KI-Dienste je Dienst, Tag und
Meldung mit CSV. Herkunftsmarker als Join statt korreliertem EXISTS,
Aggregate 15 Minuten gecacht.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-09-18 12:53:22 +00:00
parent 1c421c0377
commit c26bdff681
8 changed files with 609 additions and 87 deletions

View file

@ -2095,3 +2095,30 @@ Muster" fehlt; gehört zum Rechnungs-Paket).
die Sitemap-Caches (1 h TTL). E9 ist ohne `.env`-Eintrag aktiv — davor
müssen `press-releases:hash-content` und `press-releases:assign-canonicals`
gelaufen sein, sonst passiert schlicht nichts.
### Nachtrag 18.09.2026 — Admin-Bericht „Indexierung & Abrufe"
**Fehler auf Live:** Bericht meldete „nicht konfiguriert", obwohl der
Lauf Daten holte. Ursache: `GSC_SERVICE_ACCOUNT_FILE` relativ
(`config/files/…`), `is_readable()` hing am Arbeitsverzeichnis — Cron
in der Projektwurzel lesbar, Web-Request in `public/` nicht. Relative
Pfade werden jetzt ab `base_path()` aufgelöst.
**Bericht erweitert** (`/admin/reports/indexierung`):
- Verteilung je Portal jetzt nach Herkunft **und Rolle** (Erstquelle /
Kopie mit Verweis, 1c.8). Seit E9 aktiv ist, ist „ausgeschlossen" bei
Kopien der erwartete Befund und kein Problem; ohne die Trennung wäre
die Quote unlesbar. Erwarteter Befund je Zeile fett.
- **Quellenbefund** (1c.9) über Erstquellen: Google führt diese Adresse /
eigene Fassung auf dem anderen Portal / fremdes Portal (mit Top-Hosts)
/ keine Angabe. In den jüngsten Prüfungen als Spalte „Google führt".
- **Abrufe durch Such- und KI-Dienste** (1c.0): je Dienst Abrufe und
Meldungen im Zeitraum (7/30/90 Tage), gesamt, letzter Abruf; Tagesbalken
14 Tage getrennt Suche/KI; meistabgerufene Meldungen; CSV.
`App\Services\PressRelease\CrawlerHitReport`.
- Herkunftsmarker als Join statt korreliertem EXISTS (2,6 s → 0,3 s je
Portal), Verteilung und Quellenbefund 15 min gecacht. Seite warm 0,5 s.
Dev-Verteilung presseecho (Bestand): direkt 8.845 Erstquellen / 2.126
Kopien, API 1.308 / 308.