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.
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
Moin, bei mir haben auch die 2 Eintragungen in der LocalConfiguration.php geholfen – Gruß Ingo
Moinsen,
kurz zur Info. Das aktuelle Realurl Update behebt das Problem.
Danke für den Beitrag!
Hey,
ich konnte so eben diesen Fehler beseitigen.
Vielen Dank für den Tipp!
/C