Loading
Lade/Simuliere...
(Bitte das Browserfenster nicht schließen!)
x
⚠️

Neue Spielstruktur, SEO-Feinschliff & Multi-Game-Sicherheit

Tino H. Tino H.

Ein umfangreicher Umbau steht an: Die index.php ist jetzt eine reine öffentliche Landing Page, während das Ingame-Zuhause in die neue start.php wandert. Dazu gibt es drei Sicherheitsnetze, damit ein User nie zwei aktive Spiele gleichzeitig in der DB haben kann, einen kritischen Canonical-Fix für Google und 19 weitere Seiten im Nogame-Modus für die AdSense-Integration.

🏠 Neue Startseiten-Architektur

  • index.php läuft jetzt ausschließlich als öffentliche Landing Page (SEO-Header, Spielauswahl, Neues-Spiel-Formular) — auch bei aktiver gameid bleibt die Seite als Landing Page sichtbar, via $is_public_page = true
  • Die neue start.php ist das zentrale Ingame-Zuhause und enthält alle bisherigen Ingame-Elemente der Startseite (Money-EOS, Expiring Contracts, Standings, Player Leaders …)
  • Menüpunkt "START", Klick auf den Teamnamen im Header und das Home-Icon im Icon-Menü verlinken jetzt auf start.php
  • Buttons "Spielen" und "Starten" leiten nach Spielstart korrekt auf start.php weiter — startgame.php und alle Ingame-Error-Redirects wurden entsprechend angepasst

🛡️ Multi-Active-Game Safeguards

  • Drei Schutzschichten verhindern, dass ein User je zwei aktive Spiele gleichzeitig in der Datenbank hat:
  • Continuegame-Handler: Deaktiviert jetzt in einem einzigen bulk-SQL-Statement alle Cookie-eigenen Spiele, bevor das Ziel-Spiel aktiviert wird — keine Race-Condition mehr möglich
  • Newgame-Handler: Vor dem INSERT werden ebenfalls alle bisherigen Spiele des Users deaktiviert
  • Gameid-Resolution: Sollte trotzdem je mehr als ein aktives Spiel gefunden werden, werden die Extras automatisch deaktiviert und im error_log als MULTI-ACTIVE GUARD vermerkt

🔗 Canonical-URL-Fix

  • Google Search Console meldete /index.php und / als zwei separate URLs mit unterschiedlichen Canonicals — beide zeigten aber denselben Inhalt
  • header.php normalisiert jetzt /index.php/ für das <link rel="canonical">-Tag, sowohl auf footballfranchise.de als auch auf football-franchise.com
  • Die www-vs-non-www-Canonicalisierung war bereits korrekt — Besuche auf www.footballfranchise.de/index.php zeigen jetzt ein einheitliches canonical → https://footballfranchise.de/

🕸️ AdSense-Ready: 19 weitere Seiten

  • Der $allow_nogame_ingame-Flag wurde auf alle zentralen Ingame-Seiten ausgerollt: franchise, tradingblock, trade, players, freeagents, draft, teams, table, conference, division, schedule, players_stats, player_stats_leaders, halloffame, powerranking, players_watchlist, tradehistory, achievements, coins
  • Alle Seiten rendern jetzt ohne aktive gameid ihre vollständige HTML-Struktur mit leeren Tabellen — perfekt für den AdSense-Crawler, um Block-IDs für Anzeigenplatzierungen zu referenzieren

🧹 Cronjob-Schutz

  • cron_cleanup_old_games.php schützt jetzt Spiel-ID 1 (Seed-/Demo-Spiel) vor der automatischen Löschung nach 30 Tagen Inaktivität
  • Doppelte Sicherung: WHERE id <> 1 im SELECT und zusätzlich ein Hard-Guard in der Delete-Loop

Mit der sauberen Trennung zwischen öffentlicher Landing Page und Ingame-Home sowie den Multi-Active-Game-Schutzmechanismen ist die App deutlich robuster geworden. Parallel kann der Crawler jetzt alle wichtigen Seiten indexieren — ein riesiger Schritt Richtung produktiver SEO- und AdSense-Integration.

« Blog

NFL Shop