404 Fehler bei Aufruf einer Typo3 Seite mit Get Url Parameter – fbclid – Realurl

Seit einiger Zeit häuften sich meine 404 Fehler die ich in Google Analytics überwachte, sowie die 404 Fehler in der Google Search Console. Häufige Gemeinsamkeit waren übergebene Tracking Parameter, wie z.B. die ?fbclid von Facebook. Diese wurde Ende Oktober für Outbound Links von Facebook eingeführt. Aktuell werden diese von Realurl nicht als Parameter interpretiert sondern als weiteres Pfadsegment. Da die Seite jedoch nicht existiert, wird dann eine 404 Fehlerseite ausgegeben.

Hinzu kamen noch weitere Parameter, bei denen die Seite die gleichen Synthome zeigte. Jedoch gab es auch andere Parameter wiederum, wie utm_source die anscheinend nicht von Realurl interpretiert wurden und die Seite ganz normal aufrufen konnte. Das war sehr merkwürdig.

Es scheint, dass besonders tx_news in Verbindung mit Realurl davon betroffen zu sein scheinen. Dieser Fehler lässt sich relativ leicht bei einigen aktuellen TYPO3 Seiten reproduzieren.

Was natürlich seh ärgerlich ist für Anbieter die Ihre News auf Facebook teilen.

Nach etwas suchen bin ich auf diesen aktuellen Bug Report gestoßen: https://github.com/dmitryd/typo3-realurl/issues/649

Glücklicherweise wurde hier schon ein Fix bereitgestellt, daher musst du nun nur noch folgende Dinge anpassen.

In der Datei: Classes/Configuration/ConfigurationReader.php
lassen sich die gewünschten Parameter ergänzen, hier wurde fbclid schon ergänzt. Wie du siehst, stehen hier sogar schon einige Parameter, wie zum Beispiel der oben genannte utm_source. Falls es nötig ist kannst du hier noch weitere Parameter eintragen.

'cache/ignoredGetParametersRegExp' => '/^(?:gclid|utm_(?:source|medium|campaign|term|content)|fbclid|pk_campaign|pk_kwd|TSFE_ADMIN_PANEL.*)$/',

Zusätzlich wird noch in der Datei: ext_localconf.php dies hinzugefügt oder wie weiter unten beschrieben, kannst du die Parameter auch manuell in die LocalConfiguration.php eintragen:

// Exclude fbclid from cHash 
if (!in_array('fbclid', $GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParameters'])) { 
$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParameters'][] = 'fbclid'; 
if (!isset($GLOBALS['TYPO3_CONF_VARS']['FE']['cHashExcludedParameters'])) {$GLOBALS['TYPO3_CONF_VARS']['FE']['cHashExcludedParameters'] = ''; } 
$GLOBALS['TYPO3_CONF_VARS']['FE']['cHashExcludedParameters'] .= ', fbclid'; }

Weitere Einstellungen die du beachten solltest wären diese Einstellungen in der LocalConfiguration.php im typo3conf Ordner.

  • pageNotFoundOnCHashError auf false setzen
[FE][pageNotFoundOnCHashError] = false
  • GET Parameter unter CHashExcludeParameters registrieren:
[FE][cHashExcludedParameters] = L, pk_campaign, pk_kwd, utm_source, utm_medium, utm_campaign, utm_term, utm_content, fbclid

Zuletzt noch den Backend Cache leeren und danach sollte es wie gewünscht funktionieren.

4 Gedanken zu „404 Fehler bei Aufruf einer Typo3 Seite mit Get Url Parameter – fbclid – Realurl“

  1. Hi, vielen Dank für den Artikel!
    Ich habe das gerade mal eingebaut, ich musste allerdings die Datei von RealUrl nicht patchen, es hat ausgereicht, die beiden Anpassungen in der LocalConfiguration.php vorzunehmen, um das Problem zu lösen.

    Grüße
    Wolfgang

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert