R3.2: Kontakt-/Ueber-uns-Routen zurueckgebaut, Spoke-Footer bereinigt

- GET kontakt/ueber-uns -> 301 auf die Ausgaben-Startseite;
  kontakt.store-POST bleibt fuer das Hub-Kontakt-Modal
- Legacy-Aliases (contact/kontakt/ueber-uns) buendeln auf die Startseite
- Spoke-Footer: Kontakt als mailto (Betreiber-Fallback bis R2.1),
  Ueber-uns-Link raus, Selfservice-Kuendigungslink ergaenzt
- Sitemap-Konstanten bereinigt, Tests angepasst

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-03 15:36:13 +00:00
parent 73fc3827c8
commit 0645d1d855
6 changed files with 55 additions and 25 deletions

View file

@ -118,22 +118,25 @@ $htmlRedirect = static function (string $edition, string $path) {
}
// Legacy-Slugs des Altsystems (meist englisch) -> neue deutsche Pfade.
// team/partner/karriere: Seiten wurden zurückgebaut (R3.2) -> Startseite.
// team/partner/karriere/kontakt/ueber-uns: Seiten wurden zurückgebaut
// (R3.2 bzw. Platzhalter-Inhalte) -> Startseite.
$staticAliases = [
'pricelist' => 'preise',
'service' => 'veroeffentlichen',
'contact' => 'kontakt',
'contact' => '',
'imprint' => 'impressum',
'terms' => 'agb',
'privacypolicy' => 'datenschutz',
'team' => '',
'partner' => '',
'karriere' => '',
'kontakt' => '',
'ueber-uns' => '',
];
// Bereits saubere Zielpfade der neuen Struktur (Pfad bleibt erhalten).
$staticPages = [
'preise', 'faq', 'kontakt', 'ueber-uns', 'veroeffentlichen',
'preise', 'faq', 'veroeffentlichen',
'suche', 'newsrooms', 'api',
'hilfe', 'impressum', 'datenschutz', 'agb', 'cookies',
];
@ -194,13 +197,15 @@ Route::prefix('{edition}')->whereIn('edition', SetEdition::EDITIONS)->group(func
// Preise / Tarife (datengetrieben: Plan + config/billing + config/credits)
Route::get('preise', PreiseController::class)->name('preise');
// Statische Seiten
// Statische Seiten. Kontakt- und Über-uns-Seite wurden zurückgebaut
// (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::view('kontakt', 'web.kontakt')->name('kontakt');
Route::get('kontakt', fn (string $edition) => redirect(request()->getSchemeAndHttpHost().'/'.$edition, 301));
Route::get('ueber-uns', fn (string $edition) => redirect(request()->getSchemeAndHttpHost().'/'.$edition, 301));
Route::post('kontakt', ContactController::class)
->middleware('throttle:10,1')
->name('kontakt.store');
Route::view('ueber-uns', 'web.ueber-uns')->name('ueber-uns');
Route::get('veroeffentlichen', VeroeffentlichenController::class)->name('veroeffentlichen');
Route::get('suche', SucheController::class)->name('suche');
Route::get('newsrooms', NewsroomsController::class)->name('newsrooms');