fix(analytics): matomo url breaks without trailing slash #24

Closed
opened 2026-08-12 20:53:39 +00:00 by Phil · 0 comments
Owner

Gefunden bei der Browser-Verifikation des Asset-Splits. Betrifft die Messgrundlage des Relaunches.

Symptom

templates/_system/analytics.twig baut die Matomo-URLs nach dem Standard-Snippet zusammen:

var u='{{ matomoUrl }}';
_paq.push(['setTrackerUrl', u+'matomo.php']);
g.src=u+'matomo.js';

Das setzt voraus, dass matomoUrl mit einem Schrägstrich endet. config/custom.php:10 weist im Kommentar ausdrücklich darauf hin.

In .env und .env.production steht der Wert ohne Schrägstrich. Lokal lädt der Browser dadurch https://analytics.philflow.iomatomo.js und scheitert mit ERR_NAME_NOT_RESOLVED. Es wird nichts getrackt.

Warum das wichtiger ist als der lokale Fehler

Auf Produktion ist derzeit der korrekte Wert mit Schrägstrich aktiv, dort läuft das Tracking. Bestätigt über den Quelltext von https://philflow.io/:

var u='https://analytics.philflow.io/'

Der Wert im laufenden Produktionscontainer weicht also von der .env.production im Repo ab. Der nächste Deploy würde das Produktions-Tracking abschalten, ohne dass jemand einen Fehler sieht. Die Zahlen würden einfach aufhören.

Das trifft den Relaunch an einer empfindlichen Stelle: Matomo wurde am 2026-08-12 gerade erst betriebsfähig gemacht, und die Wirkung des Relaunches soll daran gemessen werden.

Lösung

Nicht den Wert nachziehen, sondern die Fehlerklasse entfernen: Das Template normalisiert die URL, sodass sie mit und ohne Schrägstrich funktioniert. Zusätzlich werden die beiden Umgebungsdateien korrigiert und der irreführende Kommentar in config/custom.php angepasst.

Akzeptanzkriterien

  • Template erzeugt eine korrekte URL, unabhängig davon, ob der konfigurierte Wert einen Schrägstrich am Ende hat
  • Gegenprobe mit beiden Schreibweisen dokumentiert
  • .env und .env.production tragen den Wert mit Schrägstrich
  • Kommentar in config/custom.php stimmt wieder mit dem Verhalten überein
  • Kein Konsolenfehler mehr auf der Startseite
Gefunden bei der Browser-Verifikation des Asset-Splits. Betrifft die Messgrundlage des Relaunches. ## Symptom `templates/_system/analytics.twig` baut die Matomo-URLs nach dem Standard-Snippet zusammen: ``` var u='{{ matomoUrl }}'; _paq.push(['setTrackerUrl', u+'matomo.php']); g.src=u+'matomo.js'; ``` Das setzt voraus, dass `matomoUrl` mit einem Schrägstrich endet. `config/custom.php:10` weist im Kommentar ausdrücklich darauf hin. In `.env` und `.env.production` steht der Wert **ohne** Schrägstrich. Lokal lädt der Browser dadurch `https://analytics.philflow.iomatomo.js` und scheitert mit `ERR_NAME_NOT_RESOLVED`. Es wird nichts getrackt. ## Warum das wichtiger ist als der lokale Fehler Auf Produktion ist derzeit der korrekte Wert **mit** Schrägstrich aktiv, dort läuft das Tracking. Bestätigt über den Quelltext von `https://philflow.io/`: ``` var u='https://analytics.philflow.io/' ``` Der Wert im laufenden Produktionscontainer weicht also von der `.env.production` im Repo ab. **Der nächste Deploy würde das Produktions-Tracking abschalten**, ohne dass jemand einen Fehler sieht. Die Zahlen würden einfach aufhören. Das trifft den Relaunch an einer empfindlichen Stelle: Matomo wurde am 2026-08-12 gerade erst betriebsfähig gemacht, und die Wirkung des Relaunches soll daran gemessen werden. ## Lösung Nicht den Wert nachziehen, sondern die Fehlerklasse entfernen: Das Template normalisiert die URL, sodass sie mit und ohne Schrägstrich funktioniert. Zusätzlich werden die beiden Umgebungsdateien korrigiert und der irreführende Kommentar in `config/custom.php` angepasst. ## Akzeptanzkriterien - [ ] Template erzeugt eine korrekte URL, unabhängig davon, ob der konfigurierte Wert einen Schrägstrich am Ende hat - [ ] Gegenprobe mit beiden Schreibweisen dokumentiert - [ ] `.env` und `.env.production` tragen den Wert mit Schrägstrich - [ ] Kommentar in `config/custom.php` stimmt wieder mit dem Verhalten überein - [ ] Kein Konsolenfehler mehr auf der Startseite
Phil closed this issue 2026-08-12 21:01:56 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Phil/philflow.io#24
No description provided.