2010-02-13 14 views
13

ग्रीटिंग्स,मेरी वेबसाइट पर खोज क्वेरी अग्रेषण करने वाले उपयोगकर्ता को कैसे निर्धारित करें?

मैं यह जानने की कोशिश कर रहा हूं कि लोगों को मेरी वेबसाइट पर अग्रेषित करने के लिए किस प्रश्न का उपयोग किया जा रहा है। मैं इसकी सराहना करता हूं अगर कोई मुझे बता सके कि मुझे कौन सी एपीआई कॉल देखना चाहिए। मुझे यकीन है कि यह जावास्क्रिप्ट के साथ-साथ रूबी और PHP के साथ भी संभव है ताकि कोई भी तकनीक ठीक हो।

बस सीखने के लिए मुझे पता है कि मैं सभी तीन :)

उत्तर

26

5 से अधिक वर्षों से खोज इंजन के साथ काम करने के बाद, मैं आपको बता सकता हूं कि क्वेरी मान पुनर्प्राप्त करने का कोई मानक तरीका नहीं है।

जैसा कि अन्य उत्तरों ने आपको पहले ही बताया है, पहला कदम HTTP_REFERER शीर्षलेख का निरीक्षण करना है। आप रेल का उपयोग कर रहे मान लिया जाये, तो आप अनुरोध

request.referrer 

अन्यथा, आप एक अन्य तरीके से अनुरोध हेडर से एक्सट्रैक्ट जरूरत से प्राप्त कर सकते हैं।

  1. चर खाली है:

    एक बार जब आप रेफरर है, तो आप 3 मुख्य संभावनाओं के सामने कर रहे हैं। माफ करना, आप कुछ भी नहीं

  2. चर नहीं कर सकते खाली नहीं है, यह एक खोज इंजन
  3. चर खाली नहीं है है, यह एक खोज इंजन

पहला विकल्प सरल है नहीं है। आप क्या जानना चाहते हैं कि रेफरर एक खोज इंजन है। यदि ऐसा है, तो आपको क्वेरी निकालने की आवश्यकता है।

ऐसा करने का सबसे आम तरीका एक चेकलिस्ट का उपयोग कर रहा है। चेकलिस्ट आमतौर पर कुंजी/मान की एक सूची होती है जहां कुंजी खोज इंजन डोमेन होती है और क्वेरी स्ट्रिंग पैरामीटर का नाम मानता है जो क्वेरी मान रखता है।

google.com,q 
yahoo.com,p 
... 

यह Google Analytics द्वारा उपयोग किया जाने वाला एक ही दृष्टिकोण है।ga.js फ़ाइल से

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"); 

पहले मेजबान दोनों कुंजी और मान, पहली जीत से मेल खाता है।

1

के लिए उपयोग करना चाहिए Google Analytics प्रयास करें कोई आपत्ति नहीं है। यह आपको खोज इंजन, खोज शब्द और संदर्भ देने वाली साइटों को बहुत विस्तार से देगा।

+0

आँकड़े संकुल पहले से ही इस्तेमाल करते हैं। बेहतर उपयोग अनुभव को शामिल करना चाहते हैं कि वे वहां क्या हैं। – Steve

6

अपने आगंतुकों के HTTP अनुरोध शीर्षलेख Referer (PHP में $_SERVER['HTTP_REFERER']) देखें। यह, सभी मामलों में से 90% में, आपको वह पृष्ठ देगा जो आपका आगंतुक आया था। यदि यह एक खोज इंजन पृष्ठ है, तो आपको रेफरर क्वेरीस्ट्रिंग को डीकोड करने और उसके डेटा को पार्स करने की आवश्यकता है (ध्यान दें कि क्वेरी स्ट्रिंग प्रारूप बदल सकता है)।

यह Google Analytics की तुलना में अधिक काम है, और मैंने जो सरल उदाहरण दिया है, वह आपको उतना डेटा नहीं प्राप्त करता है; लेकिन अगर आप Google के लिए डेटा संग्रह करने में सहज नहीं हैं तो ऐसा किया जा सकता है।

3

गहरे लाल रंग का है, तो आप

request.referrer 

अनुरोध पैरामीटर अपने विचारों और नियंत्रकों में उपलब्ध हैं करके रेफरर मिल सकती है। आप अन्य विकल्पों request पर उपलब्ध देखना चाहते हैं तो बस अपने विचारों में से एक में

<%= request.inspect %> 

जोड़ सकते हैं और उन्हें देखने के लिए पृष्ठ पर पहुंचें।

2

मुझे लगता है कि यह आपके लिए जांचना बहुत उपयोगी होगा। यह विस्तार से बताते हैं कि कैसे आप क्या करने की कोशिश कर रहे हैं कि वास्तव में क्या करना है:

http://www.alistapart.com/articles/searchhighlight/

संबंधित मुद्दे