WordPress i duplicate content

Kopiowanie treści. Każdy webmaster spotyka się z tym pojęciem odkąd wyszukiwarka google zwalcza to zjawisko. W niektórych wypadkach korzystamy z gotowych skryptów
i wbrew własnej woli, mało tego bez wiedzy o tym popełniamy to „przestępstwo”. :-) Przykład ? Prosto z brzegu, skrypt blogu wordpressa i typowe nagłówki z linkami
typu RSS i FEED. Jak by na to nie patrzeć skrypt produkuje linki do podstron które w zamierzeniu mają słuszny cel jednak w wykonaniu powodują kopiowanie treści
naszego bloga na tych podstronach. Spróbujmy się tego pozbyć. Sprawa jest dosyć prosta. Utworzymy funkcję która będzie usuwać ze skryptu funkcje odpowiadające za generowanie w.w. wymienionych podstron.

function usuwamy_feed() {
wp_die( __(‘Błąd: Nie generuję RSS i Feed
Proszę czytać tutaj Strona główna.’) );
}

add_action(‘do_feed’, ‘usuwamy_feed’, 1);
add_action(‘do_feed_rdf’, ‘usuwamy_feed’, 1);
add_action(‘do_feed_rss’, ‘usuwamy_feed’, 1);
add_action(‘do_feed_rss2′, ‘usuwamy_feed’, 1);
add_action(‘do_feed_atom’, ‘usuwamy_feed’, 1);

Cały taki wpis trzeba dodać do pliku functions.php naszej templatki wordpressa. Dokonamy tego w Wygląd -> Edytor -> functions.php, lub też z poziomu ftp edytując
plik w katalogu wp-content/themes/functions.php

Pobieranie strony za pomocą Curl’a

Dobre pytanie, jak pobrać stronę za pomocą CURL’a za pomocą serwera proxy?
Poniżej przykład w PHP :
PHP
$url=’http://adresurlstrony.html’;
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
curl_setopt($curl, CURLOPT_PROXY, „$proxy”);
$body = curl_exec($curl);
curl_close($curl);
/PHP
W zmiennej $body otrzymujemy ciąg zawierający całą stronę; kod html + treść.
W przykładzie została użyta zmienna $proxy która ma zawierać adres serwera proxy w postaci : 217.98.20.195:8080 czyli adres IP oraz port bramki.
Oczywiście aby skrypt „zadziałał” musimy podać działający adres serwera proxy np. dla użytkowników Orange ( TPSA ) będą to proxy :
217.98.20.195:8080 lub 217.98.20.20:8080
W takim wypadku na początku skryptu dopisujemy wybrany adres proxy:
$proxy = ’217.98.20.20:8080′;
Lub też gdy chcemy stworzyć skrypt korzystający z losowego wybierania adresu proxy które podamy w tablicy na początku skryptu zamieszczamy kod:
$proxys=array(„217.98.20.195:8080″,”217.98.20.20:8080″); Deklarujemy tablicę z adresami proxy
$ile = count($proxys); liczymy ile jest adresów
$proxy = $proxys[rand(0, count($proxys)-1)]; wybieramy losowo adres proxy
Bardziej zaawansowane korzystanie z losowego wybierania adresu proxy to zamieszczenie adresów proxy w pliku np. proxy.txt.
Adresy zamieszczamy każdy w oddzielnej linii.

217.98.20.195:8080
217.98.20.20:8080
$adresy = file_get_contents(‘proxy.txt’); pobieramy zawartość pliku z adresami
$proxys = explode(„\r\n”, $adresy); tworzymy tablicę zawierającą adresy serwerów.
Cały kod w tym wypadku będzie wyglądał tak :
PHP
$adresy = file_get_contents(‘proxy.txt’); pobieramy zawartość pliku z adresami
$proxys = explode(„\r\n”, $adresy);
$ile = count($proxys)-1; liczymy ile jest adresów
$proxy = $proxys[rand(0, $ile)];
$url=’http://adresurlstrony.html’;
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
curl_setopt($curl, CURLOPT_PROXY, „$proxy”);
$body = curl_exec($curl);
curl_close($curl);
echo „$body”;
/PHP
Zupełnie inna sprawa to jak sprawdzić adresy proxy, czy są aktywne oraz jaki mają czas PING.

Dodaj komentarz