Search keywords are lost for referrers whose search engine domain starts the URL
I maintainer di solito rispondono entro 1 giorno
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
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
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
parse-community/parse-server#10871 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
521xueweihan/HelloGitHub#4270 ·
-
502 on Node 26: ERR_INVALID_ARG_VALUE: Setting the TLS ServerName to an IP address is not permittedAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
c1overzz/dsh-bili-scroll#189 ·
I maintainer di solito rispondono entro 1 giorno