Я пытаюсь найти наиболее эффективный способ анализа моего System.Web.HTTPRequest.UrlReferrer, чтобы найти критерий поиска, который использовался для привлечения посетителя на мой сайт, предполагая, что он попал на мой сайт с помощью страницы результатов поиска.
Я думаю (надеюсь), что использовал бы метод HttpUtility.ParseQueryString, но моя проблема заключается в попытке выяснить, какую переменную нужно анализировать. У меня есть следующий список, который я должен проверить. Список показывает поисковую систему и параметр, который использует каждый.
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
Так что, хотя я мог бы пройтись по каждому и сказать что-то вроде
NameValueCollection query = HttpUtility.ParseQueryString(UrlReferrer);
var referrer = Request.UrlReferrer.ToString();
if(referrer.Contains("google.com")
return (query["q"]);
else if(referrer.Contains("yahoo.com")
return (query["p"]);
Я думаю, что должен быть лучший способ, так как у меня есть хорошая пара имя / значение для работы и мощь метода ParseQueryString, но я рисую пробел.