2015. 7. 27. 13:36 IT/php
php referer 검색어(키워드) 추출하기
사이트 제작의 마지막은 통계이죠.
통계를 제작하다보면 어느 검색사이트에서 어떤 검색어로 유입이 되었는지 확인해야할일이 발생하는데요..
요놈들 규칙을 일일히 찿기가 번잡스럽습니다 -_-a
그래서 만들어 보았습니다.
referer에서 검색사이트별 검색어 추출하기!!
$refererArr[] = array('company'=>'다음', 'domain'=>'daum.net', 'key'=>'q'); $refererArr[] = array('company'=>'Eniro', 'domain'=>'eniro.se', 'key'=>'search_word'); $refererArr[] = array('company'=>'네이버', 'domain'=>'naver.com', 'key'=>'query'); $refererArr[] = array('company'=>'Google', 'domain'=>'google.com', 'domain'=>'q'); $refererArr[] = array('company'=>'Google', 'domain'=>'google.co.', 'domain'=>'q'); $refererArr[] = array('company'=>'Yahoo', 'domain'=>'yahoo.com', 'key'=>'p'); $refererArr[] = array('company'=>'MSN', 'domain'=>'msn.com', 'key'=>'q'); $refererArr[] = array('company'=>'Bing', 'domain'=>'bing.com', 'key'=>'q'); $refererArr[] = array('company'=>'AOL', 'domain'=>'aol.com', 'domain'=>'query'); $refererArr[] = array('company'=>'AOL', 'domain'=>'aol.com', 'domain'=>'encquery'); $refererArr[] = array('company'=>'Lycos', 'domain'=>'lycos.com', 'key'=>'query'); $refererArr[] = array('company'=>'Ask', 'domain'=>'ask.com', 'key'=>'q'); $refererArr[] = array('company'=>'Altavista', 'domain'=>'altavista.com', 'key'=>'q'); $refererArr[] = array('company'=>'Netscape', 'domain'=>'search.netscape.com', 'key'=>'query'); $refererArr[] = array('company'=>'CNN', 'domain'=>'cnn.com/SEARCH', 'key'=>'query'); $refererArr[] = array('company'=>'About', 'domain'=>'about.com', 'key'=>'terms'); $refererArr[] = array('company'=>'Mamma', 'domain'=>'mamma.com', 'domain'=>'query'); $refererArr[] = array('company'=>'Alltheweb', 'domain'=>'alltheweb.com', 'key'=>'q'); $refererArr[] = array('company'=>'Voila', 'domain'=>'voila.fr', 'key'=>'rdata'); $refererArr[] = array('company'=>'Virgilio', 'domain'=>'search.virgilio.it', 'key'=>'qs'); $refererArr[] = array('company'=>'Live', 'domain'=>'bing.com', 'key'=>'q'); $refererArr[] = array('company'=>'Baidu', 'domain'=>'baidu.com', 'key'=>'wd'); $refererArr[] = array('company'=>'Alice', 'domain'=>'alice.com', 'key'=>'qs'); $refererArr[] = array('company'=>'Yandex', 'domain'=>'yandex.com', 'key'=>'text'); $refererArr[] = array('company'=>'Najdi', 'domain'=>'najdi.org.mk', 'key'=>'q'); $refererArr[] = array('company'=>'AOL', 'domain'=>'aol.com', 'domain'=>'q'); $refererArr[] = array('company'=>'Mama', 'domain'=>'mamma.com', 'key'=>'query'); $refererArr[] = array('company'=>'Seznam', 'domain'=>'seznam.cz', 'key'=>'q'); $refererArr[] = array('company'=>'Search', 'domain'=>'search.com', 'key'=>'q'); $refererArr[] = array('company'=>'Wirtulana Polska', 'domain'=>'wp.pl', 'key'=>'szukaj'); $refererArr[] = array('company'=>'O*NET', 'domain'=>'online.onetcenter.org', 'key'=>'qt'); $refererArr[] = array('company'=>'Szukacz', 'domain'=>'szukacz.pl', 'key'=>'q'); $refererArr[] = array('company'=>'Yam', 'domain'=>'yam.com', 'key'=>'k'); $refererArr[] = array('company'=>'PCHome', 'domain'=>'pchome.com', 'key'=>'q'); $refererArr[] = array('company'=>'Kvasir', 'domain'=>'kvasir.no', 'key'=>'q'); $refererArr[] = array('company'=>'Sesam', 'domain'=>'sesam.no', 'key'=>'q'); $refererArr[] = array('company'=>'Ozu', 'domain'=>'ozu.es', 'key'=>'q'); $refererArr[] = array('company'=>'Terra', 'domain'=>'terra.com', 'key'=>'query'); $refererArr[] = array('company'=>'Mynet', 'domain'=>'mynet.com', 'key'=>'q'); $refererArr[] = array('company'=>'Ekolay', 'domain'=>'ekolay.net', 'key'=>'q'); $refererArr[] = array('company'=>'Rambler', 'domain'=>'rambler.ru', 'key'=>'words'); foreach($refererArr as $refererCheck) { if(strstr($_SERVER['HTTP_REFERER'], $refererCheck['domain'])) { if($_REQUEST[$refererCheck['key']]) { $referer = $refererCheck; $referer['val'] = $_REQUEST[$refererCheck['key']]; break; } } else { unset($referer); } }
검색사이트명과 param이 일치하면 $referer 로 array타입으로 종합해서 나옵니다.
고샛하세요~!
참고로 구글은 안나올 확률이 높습니다~!!
최근 referer들이 암호화되어서 많이 넘어오더라구요..
'IT > php' 카테고리의 다른 글
php 정확한 저번달 저번주 어제 날짜 구하기 (0) | 2015.08.18 |
---|---|
php session_register 에러 (0) | 2015.07.29 |
php에서 try catch finally 사용하기 (0) | 2015.07.29 |
php session redis로 설정 (0) | 2015.07.22 |