|
Systemy wymiany linków i Joomla! |
|
piątek, 23 listopad 2007 |
Często w systemach wymiany linków dostajemy mniej punktów niż na to zasługujemy. Dlaczego? W tym artykule staram się odpowiedzieć na to pytanie...
Często zastanawiałem się, dlaczego systemy wymiany linków mają problemy ze zliczaniem punktów na Joomli. I doszedłem do przyczyny oaz znalazłem rozwiązanie problemu.
Dotyczy do sytuacji, gdy używamy mod_rewrite, czyli linków SEF. W innym przypadku ten problem nie występuje.
Problem polega na tym, że systemy wymiany linków widzą wszystkie nasze podstrony nadal jako index.php?option=com_...... a nie jako np. /component/option,.....
a dlaczego? Otóż Joomla nadpisuje zmienną serwerową $_SERVER ['REQUEST_URI'] na postać index.php?option=com_...... .
Systemy wymiany linków używają tej zmiennej, żeby sprawdzić PR naszej podstrony. A ponieważ pytają o stronę index.php?option... a nie /component/.... zawsze dostają PR=0 oraz informację, że strona nie jest zaindeksowana!
Zobaczyłem, że dotyczy to wszystkich popularnych systemów wymiany linków - i systemy w ten sposób "oszukują" nas nieświadomie na punktach w wyniku błędów ich algorytmu.
Jakie zatem wyjście z sytuacji?
podam Wam bardzo prymitywną metodę, ale skuteczną:
KROK 1.
edytujemy plik /index.php (ale nie w templatce, tylko index.php główny Joomli)
i :
KOD
define( '_VALID_MOS', 1 );
zmieniamy:
KOD
define( '_VALID_MOS', 1 );
$_REQUEST['request_uri'] =$_SERVER['REQUEST_URI'];
KROK2:
w miejscu gdzie wkleiliśmy nasz skrypt z systemu wymiany linków (czyli w templatce)
doklejamy takie rzeczy:
KOD
$temp = $_SERVER['REQUEST_URI'];
$_SERVER['REQUEST_URI'] = $_REQUEST['request_uri'];
[tu umieszczamy skrypt systemu wymiany linków]
$_SERVER['REQUEST_URI'] = $temp;
Pozdrawiam, Radek.
|