web: E9 und E10 entschieden — Zuordnung aktiv, eine Adresse je statischer Seite, Hub-Portalseiten leiten weiter
E9: Kategorie-Zuordnung wie vorgeschlagen übernommen, Zuordnung ist standardmäßig an (CANONICAL_ASSIGNMENT_ENABLED). Auf der Dev-Kopie verifiziert: Kopie trägt rel=canonical auf die Erstquelle und fällt aus der Sitemap ihres Portals. E10: faq, hilfe, gute-pressemitteilung, die vier Transparenzseiten und die API-Doku lagen auf allen drei Hosts mit identischem Text und je eigenem Self-Canonical. Jetzt führt presseecho die Informationsseiten, der Hub die API-Doku; Sitemap und llms.txt nennen nur die führende Adresse. Rechtstexte (Impressum, Datenschutz, AGB, Richtlinien, Meldeweg, Kündigung) bleiben bewusst je Host — jede Domain ist ein eigenes Angebot mit eigener Anbieterkennzeichnung. Bei der Erreichbarkeitsprüfung des Hubs gefunden und behoben: /de/preise, /de/veroeffentlichen, /de/newsrooms und /de/suche wurden unter pressekonto.com mit dem Branding von businessportal24 ausgeliefert (der Portal-Kontext fällt dort darauf zurück) — jetzt 301 auf presseecho, die Transparenz-Navigation verlinkt direkt dorthin. /de/kontakt und /de/ueber-uns sprangen über /de auf die Startseite, jetzt in einem Schritt. Der Self-Canonical kommt jetzt aus dem aufgerufenen Host; Portal-Inhalte, die über den Hub laufen, behalten ihr Portal (webPortalContextApplied). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
4edb915a9a
commit
5dcaf4e7b0
18 changed files with 434 additions and 17 deletions
|
|
@ -241,8 +241,8 @@ Braucht Betreuungszeit und ist teilweise von Dritten abhängig.
|
|||
| E6 | Bleibt die Ablehnungsstrecke dauerhaft frei von kommerziellen Angeboten | 1d.1, 1d.6 |
|
||||
| ~~E7~~ | **Entschieden 17.09.2026 (Anhang 1):** keine kostenfreie Einreichung, dauerhaft | 2.4, 2.6 |
|
||||
| E8 | Kundenansicht des Indexierungsstatus — gebaut, zu (`GSC_CUSTOMER_VISIBLE`), Entscheidung nach Verteilung aus 1c.4 (Anhang 1) | 1c.5 |
|
||||
| E9 | Kanonische Zuordnung je Kategorie — Vorschlag in `config/canonical.php`, Mechanismus gebaut und aus (`CANONICAL_ASSIGNMENT_ENABLED`) (Anhang 2) | 1c.8 |
|
||||
| E10 | Transparenz-/Statikseiten: Hub oder Portale als Canonical — Befund: dreifach vorhanden (Anhang 2, Protokoll Teil 7) | 2.4 |
|
||||
| ~~E9~~ | **Entschieden 18.09.2026:** Zuordnung je Kategorie wie vorgeschlagen, Mechanismus aktiv (Anhang 2, Protokoll Teil 8) | 1c.8 |
|
||||
| ~~E10~~ | **Entschieden 18.09.2026: Portale führen** (presseecho), API-Doku beim Hub, Rechtstexte je Host (Anhang 2, Protokoll Teil 8) | 2.4 |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
| Änderung | Betrifft | Art |
|
||||
|---|---|---|
|
||||
| Crawler-Abruf-Protokoll als eigenes Arbeitspaket | 1c.0 | neu |
|
||||
| Absenderansicht in Stufen zerlegt, Indexierungsstatus zunächst intern | 1c.1, 1c.4 bis 1c.6 | ersetzt |
|
||||
| Absenderansicht in Stufen zerlegt, Indexierungsstatus zunächst intern | 1c.1, 1c.4 bis 1c.N9A59YXJai6 | ersetzt |
|
||||
| Erstquelle gegen Kopie als Argument für die Direktveröffentlichung | 1d | neu |
|
||||
| Transparenzseiten ausformuliert, kein Wettbewerbervergleich | 2.4 | ersetzt |
|
||||
| Zuschriften an Portalübersichten ausformuliert, zwei konkrete Ziele | 2.6 | ersetzt |
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ Zwei Portale bedeuten zwei Fundstellen für Leser, nicht zwei Fundstellen in der
|
|||
Die Property ist angelegt, wird für die Indexierungsprüfung aus 1c.4 aber nicht gebraucht — das Tageskontingent geht an die beiden Portale. Zwei Dinge sind dort trotzdem zu prüfen:
|
||||
|
||||
- ~~Stehen Konto- und Login-Bereiche auf `noindex`?~~ **17.09.2026: ja, jetzt per Meta-Tag in allen Portal-Layouts.** Die Indexierungsübersicht der neuen Property zeigt, was Google von dort erfasst hat.
|
||||
- **Offene Entscheidung E10:** Wohin gehören die Transparenzseiten aus 2.4 — auf den Hub oder auf die Portale? Die Portale haben die deutlich ältere Domain, der Hub die thematisch passendere Adresse.
|
||||
- ~~**Offene Entscheidung E10**~~ **Entschieden 18.09.2026: Portale führen, presseecho als Standard; die API-Doku bleibt beim Hub, Rechtstexte je Host.** Dabei aufgefallen und behoben: `/de/preise`, `/de/veroeffentlichen`, `/de/newsrooms` und `/de/suche` wurden unter pressekonto.com mit dem Branding von businessportal24 ausgeliefert — jetzt 301 auf presseecho. Offen: Kategorie-, Archiv- und Meldungsadressen sind auf dem Hub weiterhin erreichbar (Canonical zeigt aufs Portal, keine Sitemap-Einträge) — Empfehlung 301 auf businessportal24, ~34.000 Adressen, wartet auf Freigabe.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -107,5 +107,5 @@ Die Property ist angelegt, wird für die Indexierungsprüfung aus 1c.4 aber nich
|
|||
|
||||
| Nr. | Frage | Betrifft |
|
||||
|---|---|---|
|
||||
| E9 | Kanonische Zuordnung je Kategorie: welches Portal führt welches Themenfeld — *Vorschlag liegt in `config/canonical.php`, Mechanismus wartet auf `CANONICAL_ASSIGNMENT_ENABLED=true`* | 1c.8 |
|
||||
| E10 | Wohin gehören die Transparenzseiten aus 2.4 — Hub oder Portale. *Befund 17.09.2026: alle statischen Seiten liegen auf drei Hosts mit je eigenem Canonical; Empfehlung Portale (Protokoll Teil 7)* | 2.4 |
|
||||
| ~~E9~~ | **Entschieden 18.09.2026:** Zuordnung wie vorgeschlagen (businessportal24: finanzen, handel, it, recht, wissenschaft-forschung, motor-verkehr; presseecho: alle übrigen inkl. sonstiges). Zuordnung ist aktiv, `CANONICAL_ASSIGNMENT_ENABLED` steht standardmäßig auf true | 1c.8 |
|
||||
| ~~E10~~ | **Entschieden 18.09.2026: Portale führen** — presseecho für faq, hilfe, gute-pressemitteilung und die vier Transparenzseiten, pressekonto für die API-Doku. Rechtstexte bleiben bewusst je Host (eigene Anbieterkennzeichnung, eigener Meldeweg). Sitemap und llms.txt nennen nur die führende Adresse (Protokoll Teil 8) | 2.4 |
|
||||
|
|
@ -1998,3 +1998,93 @@ entkoppelt. Pint, Larastan ohne Befund.
|
|||
Hintergrund), dann `press-releases:duplicates-report`. Erst nach E9:
|
||||
`CANONICAL_ASSIGNMENT_ENABLED=true`, `press-releases:assign-canonicals
|
||||
--dry-run`, dann ohne Flag, `view:cache`, Sitemaps prüfen.
|
||||
|
||||
## Teil 8 — E9 und E10 entschieden, Hub-Erreichbarkeit geprüft (18.09.2026)
|
||||
|
||||
### E9 — kanonische Zuordnung aktiv
|
||||
|
||||
Zuordnung wie vorgeschlagen übernommen (`config/canonical.php`):
|
||||
businessportal24 führt finanzen, handel, it, recht, wissenschaft-forschung,
|
||||
motor-verkehr; presseecho führt haus, kultur, medizin, mode, politik,
|
||||
reisen, sport, sonstiges. `CANONICAL_ASSIGNMENT_ENABLED` steht jetzt
|
||||
standardmäßig auf `true` — ohne `.env`-Eintrag ist die Zuordnung an.
|
||||
|
||||
Auf der Dev-Kopie verifiziert: 9.092 Paare zugeordnet, die Kopie trägt
|
||||
`rel=canonical` auf die Erstquelle, steht nicht mehr in der Sitemap ihres
|
||||
Portals, die Erstquelle schon.
|
||||
|
||||
### E10 — eine Adresse je Text, Rechtstexte ausgenommen
|
||||
|
||||
Befund: faq, hilfe, gute-pressemitteilung, die vier Transparenzseiten, api
|
||||
und alle Rechtstexte liegen auf **allen drei Hosts** mit identischem Text
|
||||
(nur Markenname getauscht, per Prüfsumme bestätigt) und trugen je einen
|
||||
eigenen Self-Canonical.
|
||||
|
||||
Umgesetzt (`config/canonical.static_page_host`, `App\Support\StaticPageCanonical`):
|
||||
|
||||
| Seiten | Führender Host |
|
||||
|---|---|
|
||||
| faq, hilfe, gute-pressemitteilung, 4 Transparenzseiten | presseecho |
|
||||
| api (Doku des Publisher-Bereichs) | pressekonto |
|
||||
| impressum, datenschutz, agb, richtlinien, melden, kuendigung | **je Host selbst** |
|
||||
|
||||
**Rechtstexte bewusst ausgenommen** — das ist eine Abweichung von „alles auf
|
||||
die Portale". Jede Domain ist ein eigenes Angebot mit eigener
|
||||
Anbieterkennzeichnung und eigenem Meldeweg; wer auf businessportal24.com
|
||||
das Impressum aufruft, muss das Impressum dieser Domain bekommen, und es
|
||||
muss für sich auffindbar bleiben. Ein Canonical auf eine fremde Domain
|
||||
würde dem widersprechen. Inhaltlich sind die Texte identisch — das ist bei
|
||||
Pflichtangaben unkritisch.
|
||||
|
||||
Mitgezogen: Sitemap listet je Seite nur noch den führenden Host (Hub
|
||||
behält api + Rechtstexte), `llms.txt` nennt die führende Adresse, `og:url`
|
||||
folgt dem Canonical.
|
||||
|
||||
### Erreichbarkeit pressekonto.com — geprüft, drei Befunde
|
||||
|
||||
Alle 24 Hub-Adressen und jeder Link der Hub-Startseite geprüft: **alles
|
||||
200**, unbekannte Pfade 404, `sitemap.xml`, `sitemap-news.xml`,
|
||||
`llms.txt`, `robots.txt`, `/docs/api/v1` in Ordnung.
|
||||
|
||||
1. **Portalseiten unter pressekonto.com** (behoben): `/de/preise`,
|
||||
`/de/veroeffentlichen`, `/de/newsrooms`, `/de/suche` wurden auf dem Hub
|
||||
ausgeliefert — mit dem Branding und Titel von **businessportal24**,
|
||||
weil `WebPortalContext::fromRequest()` auf dem Hub auf dieses Portal
|
||||
zurückfällt. Jetzt 301 auf presseecho
|
||||
(`RedirectPortalOnlyPagesFromHub`, web-Gruppe). Die
|
||||
Transparenz-Navigation verlinkt „Tarife & Preise" auf dem Hub direkt
|
||||
auf presseecho, ohne Umweg über die Weiterleitung.
|
||||
2. **Weiterleitungskette** (behoben): `/de/kontakt` und `/de/ueber-uns`
|
||||
zeigten auf `/de`, das auf dem Hub selbst auf `/` weiterleitet — zwei
|
||||
Sprünge. Jetzt direkt auf die Startseite des jeweiligen Hosts.
|
||||
3. **Portal-Inhalte unter pressekonto.com** (offen, Empfehlung unten):
|
||||
`/de/category/{slug}`, `/de/category/{slug}/archiv/{jahr}` und
|
||||
`/de/press-release/{slug}` sind auf dem Hub erreichbar und rendern das
|
||||
Portal (businessportal24), weil die Ausgabe-Routen für alle Hosts
|
||||
gelten. Ihr Canonical zeigt auf das Portal — sie stehen in keiner
|
||||
Sitemap und werden nicht zusätzlich indexiert. **Empfehlung:** auch
|
||||
diese Routen auf dem Hub per 301 auf businessportal24 legen (dasselbe
|
||||
Portal, das der Hub ohnehin rendert; presseecho-only-Meldungen laufen
|
||||
heute wie danach ins 404). Ein Eintrag in
|
||||
`canonical.portal_only_pages` würde nicht reichen, weil das Ziel dort
|
||||
fest auf presseecho steht — braucht eine eigene Zeile. Nicht ohne
|
||||
Freigabe gemacht, weil es rund 34.000 Adressen betrifft.
|
||||
|
||||
Technischer Nebeneffekt: Der Self-Canonical kommt jetzt aus dem
|
||||
tatsächlich aufgerufenen Host (`StaticPageCanonical::selfBase()`) statt aus
|
||||
der geteilten Domain-Config. Portal-Inhalte behalten ihr Portal —
|
||||
`WebPortalContext::fromRequest()` setzt dafür den Merker
|
||||
`webPortalContextApplied`.
|
||||
|
||||
### Tests / Deploy
|
||||
|
||||
`HubPortalPageRedirectTest` (19), angepasste Sitemap-Erwartungen in
|
||||
`StaticPagesTest` und `TransparencyPagesTest`. Gesamtlauf 1.804 grün
|
||||
(eine Ausnahme: `ManualInvoicePdfTest` schlägt unabhängig von diesen
|
||||
Änderungen fehl — mit und ohne Stash reproduziert, Anrede „Frau Erika
|
||||
Muster" fehlt; gehört zum Rechnungs-Paket).
|
||||
|
||||
**Deploy:** `view:cache`/`route:cache` neu, `php artisan cache:clear` für
|
||||
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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue