Php yakalama arama motoru anahtar kelimeler

2 Cevap php

Awstatsın Ben benim web sitesi bulmak için kullanılan tüm anahtar kelime ve ifadeler ile bir tablo olsun. Ben ancak her arama motoru url farklı bir formatta bu kendimi yakalamak istiyoruz. Google arama terimi (örneğin google.com? Q = benim + anahtar sözcükler) ancak başka bir arama motoru formatta olabilir searchengine.com olarak sorgu dizesi gelen değişken q kullanabilirsiniz referer zaman? = Benim + anahtar kelimelerle arama

Arama anahtar kelimeleri belirleme genel bir yolu var mı? Yoksa her arama motoru için bir regex / filtre oluşturmak zorunda gidiyorum?

2 Cevap

Bir ihtimal, sadece ($_SERVER['HTTP_REFERER']) atıfta URL kapmak ve içindeki anahtar kelimeleri ayrıştırmak için.

Örneğin, ("yığın taşması" için arama) bu Google URL'sini kontrol

http://www.google.com/search?hl=en&q=stack+overflow&aq=0&oq=stack+over&aqi=g10

q GET değişkenin değeri + işaretleriyle ayrılmış anahtar kelimeleri tutar.

Ben ona her zaman eklemek için yaşıyorum, ama burada google, yahoo, bing, ask, ve MSN (Bing gibi aynı) dan anahtar kelimeleri şerit gereken bir REGEX olduğunu. Bu arada + bırakır, ancak başlamak için iyi bir yer olmalıdır:

.*(\?p=|\?q=|&q=|\?s=)([a-zA-Z0-9 +]*)(&toggle=|&ie=utf-8|&FORM=|&aq=|&x=|&gwp).