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
|
|
@ -244,8 +244,15 @@ Route::prefix('{edition}')->whereIn('edition', SetEdition::EDITIONS)->group(func
|
|||
// (Platzhalter-Adresse/-Team); Alt-Links landen per 301 auf der Startseite.
|
||||
// Der Kontakt-POST bleibt für das Hub-Kontakt-Modal erhalten.
|
||||
Route::view('faq', 'web.faq')->name('faq');
|
||||
Route::get('kontakt', fn (string $edition) => redirect(request()->getSchemeAndHttpHost().'/'.$edition, 301));
|
||||
Route::get('ueber-uns', fn (string $edition) => redirect(request()->getSchemeAndHttpHost().'/'.$edition, 301));
|
||||
// Ziel ist die Startseite des jeweiligen Hosts. Auf dem Hub liegt die
|
||||
// unter `/` — ein Umweg über `/de` wäre dort eine zweite Weiterleitung.
|
||||
$homeRedirect = fn (string $edition) => redirect(rtrim(
|
||||
request()->getSchemeAndHttpHost().(str_contains(request()->getHost(), 'pressekonto') ? '/' : '/'.$edition),
|
||||
'/'
|
||||
) ?: request()->getSchemeAndHttpHost().'/', 301);
|
||||
|
||||
Route::get('kontakt', $homeRedirect);
|
||||
Route::get('ueber-uns', $homeRedirect);
|
||||
Route::post('kontakt', ContactController::class)
|
||||
->middleware('throttle:10,1')
|
||||
->name('kontakt.store');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue