Search keywords are lost for referrers whose search engine domain starts the URL

Aperta
#8,229 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@RaphaelFakhri ci sta già lavorando.

Dal 3/11/2026.

  • #8230 di @RaphaelFakhri — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
javascript, node.js
Ambito
analytics, backend

Direzione di ricerca

Read plugins/sources/api/api.js and trace how urlParser checks engine names and stores search parameters; compare this with the /o/keywords check described in the issue. Reproduce with one of the listed _store referrers and confirm its stored source retains the expected keyword parameter. A pull request is already open for this issue.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

For web apps, the sources plugin stores each referrer through urlParser in plugins/sources/api/api.js. For a search engine referrer, it keeps only the search query parameter. Engine-specific parameters (wd for Baidu, p for Yahoo, text for Yandex, u for facebook.com/l.php) are kept only if the referrer path contains the engine name, checked with path.indexOf(engine) > 0.

urlParser removes the protocol and www. before this check, so for many referrers the engine name is at index 0. The check fails and the parameter is dropped. The Search keywords view (/o/keywords) then has no keyword to show for these visits. /o/keywords checks the same thing with indexOf(...) !== -1, so the two checks disagree.

Steps to reproduce

Send a session for a web app with one of these _store values:

Referrer Stored source Expected
https://www.baidu.com/s?ie=utf-8&wd=countly baidu.com/s baidu.com/s?wd=countly
https://yandex.ru/search/?lr=213&text=countly yandex.ru/search/ yandex.ru/search/?text=countly
https://yahoo.com/search?fr=yfp&p=countly yahoo.com/search yahoo.com/search?p=countly
https://www.facebook.com/l.php?u=https%3A%2F%2Fcount.ly facebook.com/l.php facebook.com/l.php?u=https%3A%2F%2Fcount.ly

Referrers where the engine is a subdomain, such as https://search.yahoo.com/search?p=countly, are not affected.

Expected behavior

The keyword is kept, and it appears under Search keywords.

Lingua principale
JavaScript
Stelle
5.9k
Fork
985
Merge medio
23h 22m
PR unite (30g)
122

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.