5 yıldan fazla arama motorları ile çalışmış olmak, ben sorgu değerini almak için standart bir yolu yoktur söyleyebilirim.
Diğer cevaplar zaten söylediğim gibi, ilk adım HTTP_REFERER
başlığını kontrol etmektir. Eğer Rails kullanarak varsayarsak, sen isteği elde edebilirsiniz
request.referrer
Aksi takdirde, başka bir yolla istek başlıklarına onu ayıklamak gerekir.
Eğer yönlendirme var bir kere, o zaman 3 ana olanakları önünde şunlardır:
- değişken boştur. Üzgünüm, hiçbir şey yapamam
- değişken boş değil, bir arama motoru bulunuyor
- değişken boş değil, bir arama motoru değil
İlk seçenek basittir. Yönlendirme bir arama motoru ne bilmek istiyorum. Eğer öyleyse, o zaman sorgu ayıklamak gerekir.
Bunu yapmanın en yaygın yolu bir kontrol listesi kullanıyor. Listesi genellikle anahtar arama motoru etki ve değer sorgu değeri tutan sorgu dizesi parametresi adıdır anahtar / değer bir listesidir.
google.com,q
yahoo.com,p
...
Bu, Google Analytics tarafından kullanılan aynı yaklaşımdır. ga.js Dosyadan
g.T=l("daum:q,eniro:search_word,naver:query,images.google:q,google:q,yahoo:p,msn:q,bing:q,aol:query,aol:encquery,lycos:query,ask:q,altavista:q,netscape:query,cnn:query,about:terms,mamma:query,alltheweb:q,voila:rdata,virgilio:qs,live:q,baidu:wd,alice:qs,yandex:text,najdi:q,aol:q,mama:query,seznam:q,search:q,wp:szukaj,onet:qt,szukacz:q,yam:k,pchome:q,kvasir:q,sesam:q,ozu:q,terra:query,mynet:q,ekolay:q,rambler:words");
İlk konak anahtarı ve değeri, ilk kazanır hem eşleşir.