Chcesz opublikować najświeższe wpisy ze swojego blogu na zewnętrznej stronie? A może skopiować treść do własnego serwisu? Pomogą w tym skrypty do wstawiania kanału RSS na stronę.
Pierwsze miejsce, w którym szukamy pomocy w sprawach związanych z RSS-ami to serwis FeedBurner (http://feedburner.com). Należący do Google FeedBurner to darmowe i bardzo rozbudowane narzędzie do obsługi kanałów RSS zewnętrznych stron. Jeśli nasza witryna udostępnia nawet najprostszy kanał RSS, możemy podłączyć go do FeedBurnera i zyskać dodatkowe funkcje, takie jak chociażby statystyki, dołączenie reklam czy zamiana RSS-ów na subskrypcję e-mailową. O {link_wew 202}funkcjach FeedBurnera{/link_wew} pisaliśmy wcześniej.
BuzzBoost dla leniwych…
Jedną z funkcji jest możliwość udostępnienia własnego kanału na zewnętrznej stronie. Jeśli mamy już konto w FeedBurnerze lub konto Google, musimy dodać nowy kanał na stronie głównej serwisu. Następnie wybieramy interesujący nas kanał i przechodzimy do zakładki Publiczne. Znajdują się tam różne formy udostępniania kanału, w tym najbardziej nas interesujący BuzzBoost.
Aby wstawić RSS na dowolną stronę musimy uaktywnić tę opcję. Dzięki temu nikt nie skopiuje naszej treści w ten sposób zanim sami się na to nie zgodzimy. Po uaktywnieniu BuzzBoost wystarczy wkleić na dowolną stronę fragment kodu JavaScript, który będzie wyświetlał skrót wiadomości z kanału RSS.
Możemy go wykorzystać np. do promowania bloga na innej stronie do której mamy dostęp, stworzenia uproszczonej wersji witryny (dla urządzeń mobilnych) albo do skompilowania danych z różnych witryn w jednym miejscu, nawet na stronie zapisanej lokalnie.
…ale niezbyt wymagających
Niestety nie jest to rozwiązanie idealne. BuzzBoost wykorzystuje JavaScript, więc nie każdy będzie mógł go wykorzystać. Nie wiadomo ponadto jak wygląda sprawa indeksowania stron linkowanych za pomocą JavaScriptu. Google potrafi co prawda interpretować tekst wygenerowany przez JavaScript, w szczególności sformalizowany i własny (kod pochodzący z BuzzBoost należy przecież do Goole), ale nie jest jasne czy zawsze uwzględnia takie linki przy ustalaniu rankingu.
Również możliwość konfiguracji nie jest zbyt duża. Możemy wybrać liczbę wyświetlanych wpisów, dodatkowe elementy wyświetlane przy nagłówkach (data publikacji, ikonka medium), treść udostępnianego tekstu lub podcastu i… to wszystko. Brakuje nawet łatwego w obsłudze edytora wyglądu wygenerowanego kanału. Musimy edytować go ręcznie, poprzez modyfikację elementów klasy feedBurnerFeedBlock. Dokładne informacje na ten temat znajdują się na stronie http://www.google.com/support/feedburner/bin/answer.py?answer=78991.
Wstawiamy RSS na stronę z SimplePie
Znacznie większe możliwości uzyskamy, jeśli serwer pobierze dane z zewnętrznych kanałów, przetworzy je i wstawi jako integralną część strony, a nie generowany na bieżąco widget. Takie rozwiązanie pozwala wyeliminować wszystkie wady FeedBurnera. Działa szybko, jest bardziej elastyczne, pozwala obrabiać dane (np. usunąć tagi HTML) i wpływa pozytywnie na pozycjonowanie.
Taki efekt możemy uzyskać, jeśli mamy dostęp do silnika obsługującego stronę. Jednym z popularniejszych rozwiązań jest skrypt SimplePie (http://simplepie.org) wydany na licencji BSD, która pozwala na darmowe wykorzystanie.
RSS-y do spamu?
Informacje pobrane z kanałów RSS są często wykorzystywane przez spamerów, pozycjonerów i osoby zarabiające na systemach wymiany linków do budowania tzw. autoblogów. Są to strony zbierające informacje w sieci, kompilujące je do nowych artykułów i udostępniające jako własne.
Jako że dostępne są gotowe narzędzia służące do tworzenia autoblogów, praca nad taką stroną ogranicza się do wyboru źródeł z których pobierane będą dane i kilkunastu minut konfiguracji. Po tym „blog” automatycznie zapełnia się treścią wygenerowana z różnych źródeł, w tym przetłumaczonych z innych języków. Oczywiście jakość takich tekstów pozostawia wiele do życzenia.
Jako że autoblogi tworzy się głównie do {link_wew 6930}pozycjonowania{/link_wew}, to wycinane są z nich wszystkie odnośniki. Często nie jest nawet podane źródło z którego pobrano treść.
Z tego powodu należy poważnie się zastanowić, czy warto publikować treść w kanale RSS strony, czy ograniczyć się jedynie do tytułów i {link_wew 6912}leadów{/link_wew}.
Najnowszą wersję skryptu SimplePie należy pobrać ze strony projektu (http://github.com/rmccue/simplepie/downloads) i rozpakować. Następnie wysyłamy na serwer plik sp_compatibility_test.php z folderu compatibility_test i wyświetlić go w przegladarce. Jeśli serwer spełnia wymagania skryptu zostaniemy o tym poinformowani.
Zakładamy na serwerze katalog o nazwie php i nadajemy mu prawa do wykonywania i odczytu dla wszystkich (705). Przechodzimy do niego i tworzymy katalog cache o pełnych uprawnieniach (707). Do katalogu php kopiujemy jeszcze pobrany plik simplepie.inc, który służy do obsługi RSS-ów.
Tworzymy własną stronę z kanału RSS
Następnie musimy stworzyć stronę, która będzie w stanie z niego skorzystać. Prostą witrynę, pokazującą jak zadeklarować źródło danych i odwoływać się do najważniejszych informacji pobranych z kanału dołączyliśmy na końcu artykułu. Oczywiście wymaga ona dostosowania do własnych potrzeb, dodania stylół itp. Znajomość PHP nie jest do tego konieczna, chociaż na pewno pozwoli osiągnąć najlepsze efekty w dostosowaniu skryptu do własnych potrzeb.
Metody klasy SimplePie
- set_feed_url(’plik.xml’) – ścieżka do pliku XML kanału RSS
- init() – zainicjowanie obiektu
- get_permalink() – pobranie adresu kanału
- get_title() – pobranie tytułu kanału
- get_description() – pobranie opisu kanału
- get_items() – pobranie listy wiadomości
Każda z pobranych przez get_items() wiadomości posiada następujące metody:
- get_permalink()
- get_permalink()
- get_description()
- get_date(format)
W katalogu php na naszym serwerze znajdą się więc pliki index.php i simplepie.inc oraz katalog cache. Podczas działania skrypt utworzy jeszcze plik error_log. Zawartość katalogu przedstawia zrzut ekranu poniżej. Jeśli wszystko skopiowaliśmy poprawnie, to po wejściu do katalogu php przez przeglądarkę powinniśmy zobaczyć listę ostatnich artykułów pobraną z Internet Makera.
Warto dodać, że skrypt SimplePie jest na tyle dobry, iż powstały do pluginy integrujące go z popularnymi CMS-ami takimi jak WordPress, Joomla! Czy MediaWiki. Niestety nie da się go wstawić np. na blog na Bloggerze czy Onecie, ani na innej stronie, do której kodu PHP nie mamy dostępu.
Jak wykorzystać RSS-y wstawione na stronę?
SimplePie daje nam prawie nieograniczone możliwości. Na podstawie skryptu możemy na przykład zbudować własny agregator newsów, pobierający świeże wiadomości z wybranych serwisów, czytnik RSS-ów online czy nawet stronę zapisującą kursy akcji i tworzącą odpowiednie wykresy.
Z drugiej strony możliwość łatwego przechwytywania tysięcy kanałów RSS stron i blogów poruszających setki tematów niesie wiele zagrożeń związanych ze spamem. Powstają serwisy, których jedynym zadaniem jest pobieranie treści z zewnątrz i tworzenie na ich podstawie jak największej liczby podstron. Niestety, właściciele treści nie mają wpływu na to, kto pobiera wiadomości z ich kanału ani co z nim robi.
Może natomiast zrobić wiele. Opisywany skrypt SimplePie pobiera treść udostępnionego wpisu jako czysty tekst, więc można go przekształcać na dowolne sposoby – od wycięcia odnośników do strony z oryginalnym tekstem, do przetłumaczenia tekstu przy pomocy automatycznego translatora. Jeśli wpisy w danym kanale oznaczone są przy pomocy tagów, pobierający może połączyć kilka tekstów z tymi samymi tagami w jeden i uzyskać nowy, unikalny artykuł. Przy pomocy innych skryptów można natomiast pociąć tekst na fragmenty i zastąpić niektóre słowa ich synonimami lub wstawić w treść własne zdania zawierające wybrane słowa kluczowe i odnośniki. Tego typu operacje wykorzystuje się do tworzenia stron służących do pozycjonowania, oczywiście kosztem autorów oryginalnych treści.
W zależności od tego, czy chcemy pokazać nowe wpisy z jednego bloga na drugim, pobrać najnowsze informacje na własny dysk czy stworzyć tzw. autobloga i zarabiać w nie do końca uczciwy sposób, powinniśmy wybrać bardziej odpowiednie dla nas rozwiązanie. Prostota przemawia za BuzzBoostem, ale SimplePie ma zdecydowanie większe możliwości.
Przykład z artykułu: