Skocz do zawartości

PHP i wyciaganie keywordow z googla


Dinth

Rekomendowane odpowiedzi

Moze tytul tematu byc troche niezrozumialy, wiec spiesze z wyjasnieniami. Czy da sie z poziomu PHP (a dokladniej z includowanego skryptu) sprawdzic czy osoba odwiedzajaca skrypt (includujący) weszła na niego przez google, a jeśli tak to z wyników wyszukiwania jakiego keywordu ?

Tutaj bedzie sygnaturka

Odnośnik do komentarza
Udostępnij na innych stronach

Dla ułatwienia/zobrazowania możesz na swojej stronie do której prowadzi link z google wstawić na chwilę kod:

echo $_SERVER['HTTP_REFERER'];

zobaczysz jaką wartość będzie miał refferer przy przechodzeniu z strony SERP...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

sory pytanie wydawalo sie banalne, pewnie dlatego ze je zle sformulowalem :( sama zmienna referrera oczywiscie znam, w pytaniu powinnien byc wiekszy nacisk na "z poziomu includowanego kodu", zreszta i tak juz to obeszlem :D W kazdym razie dzieki za dobre checi ;)

PS.

nie moge sobie za to poradzic z regexpem. niby regexp wedlug testerow powinnien dzialac, a samo zapytanie do bazy danych wydaje sie poprawne (a dla upewnienia sie sprawdzalem kilka innych, np. xxx'.$matches.'xxx) ale w kodzie nie dziala mi to:

preg_match('/(https:\/\/)?(www\.)?.*([\w.]+).*q=([\w\s]*).*/',$http_referer, $matches);

$query = "INSERT INTO wejscia (strona,wyszukiwarka,slowo) VALUES ('{$page_id}', '{$matches[2]}', '{$matches[3]}')";

widzi ktos tu jakis blad ?

niestety to bazy dodawany jest rekord z $page_id, niestety "wyszukiwarka" i "slowo" zostaja puste :(

Tutaj bedzie sygnaturka

Odnośnik do komentarza
Udostępnij na innych stronach

Zapytanie jakie było skierowane do google znajduje się w zmiennej q referrara jeśli jest wieloczłonowe oddzielane znakami + q=pozycjonowanie+stron&lr= więc jaki jest problem wyciągnąć z tego zapytanie do google, bo chyba o to Ci chodzi?

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Prosze nie przesadzaj. Do jakiegos guru PHP mi sporo brakuje, a zrobilem ten kod zgodnie z podrecznikiem PHP i testerami regexpow. Nie dziala, wiec wiem ze jednak gdzies zrobilem blad, a jednak ciezko jest znalesc swoj wlasny blad szczegolnie jak sie robilo kod wedlug czegos. Dlatego pytam czy ktos widzi jakis blad

Tutaj bedzie sygnaturka

Odnośnik do komentarza
Udostępnij na innych stronach

Dlatego pytam czy ktos widzi jakis blad

A czy Ty widzisz jakie dane masz w tablicy $matches zwrócone przez Twoje wyrażenie regularne? Bo chyba nie !!!

$http_referer = 'https://www.google.pl/search?hl=pl&q=pozycjonowanie+stron&btnG=Szukaj+w+Google&lr=';
preg_match('/(https:\/\/)?(www\.)?.*([\w.]+).*q=([\w\s]*).*/',$http_referer, $matches);
echo'<pre>';
print_r($matches);
echo'</pre>';

Zwraca:

Array

(

[0]=> https://www.google.pl/search?hl=pl&q=pozycjonowanie+stron&btnG=Szukaj+w+Google&lr

[1] => https://

[2] => www.

[3] => l

[4] => pozycjonowanie

)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Troche sie nameczylem przez ostatnie dni i nawet (wzorujac sie na Google Analytics) kod uruchomilem.

Dziala to tak ze wczytuje zewnetrzny plik JS, ktory pobiera wszystkie potrzebne dane i otwiera obrazek "obrazek.php" podajac mu GETem wszystkie dane.

Niestety nie potrafie rozbudowac wywolania skryptu JS o podanie mu dodatkowych danych. Obecnie jest tak:

<script type="text/javascript" src="script.js"></script>

W ten sposob wszystko dziala, ale gdy - wzorem Google Analytics - przerobie wywolanie skryptu tak:

<script type="text/javascript" src="script.js"></script>
<script type="text/javascript">
_id = "1";
statsTracker();
</script>

a sam skrypt tak:

var _img="https://xxx/stats.php"
var stats=new Image(1,1);
var _id = "";

function statsTracker() {
(...)
stats.src=_img+"?"+"id="+_id;
stats.onload=function() { _Pusta(); }
(...)
}

function _Pusta() { return; }

to przestaje dzialac. Nie wywoluje funkcji statsTracker() a czesto nawet nie przekazuje zmiennej _id. Dziwne bo kropla w krople tak samo wywolywany jest kod GA i dziala.

Tutaj bedzie sygnaturka

Odnośnik do komentarza
Udostępnij na innych stronach

Moze tytul tematu byc troche niezrozumialy, wiec spiesze z wyjasnieniami. Czy da sie z poziomu PHP (a dokladniej z includowanego skryptu) sprawdzic czy osoba odwiedzajaca skrypt (includujący) weszła na niego przez google, a jeśli tak to z wyników wyszukiwania jakiego keywordu ?

if (preg_match("#https://(www.)?google.(.*)/(.*)q=(.*?)(;|&|$)#i", $_SERVER['HTTP_REFERER'], $match)) { 
echo 'Wszedłeś z Google, keyword: '.urldecode($match[4]);
}

Odnośnik do komentarza
Udostępnij na innych stronach

dzieki za pomoc z regexpem, ten działa w miare dobrze, ale również nie zawsze. Czasami wyciąga zamiast keyworda literke "t" zamiast niego, co zwykle dzieje się gdy ktoś robi wyszukiwanie bezpośrednio z paska wyszukiwania przeglądarki.

Tutaj bedzie sygnaturka

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności