Pozostajemy przy temacie WordPressa. Dziś przerwa pomiędzy pluginami. Porozmawiamy o tym, jak WordPressa możemy dostosować do własnych potrzeb i nieco usprawnić. Wskazana jest podstawowa wiedza na temat HTML/CSS i PHP, choć przy odrobinie szczęścia można sobie poradzić i bez tego. Podstawą tutaj będzie zrobienie kopii bezpieczeństwa plików, zanim zaczniemy w nich grzebać. Kopię taką lepiej trzymać trochę dłużej – błędy lubią ujawniać się po czasie. Jak mówi prawo Murphy’ego, błąd krytyczny ujawni się dopiero w momencie usunięcia ostatniej kopii bezpieczeństwa wersji wcześniejszej.
Walczmy ze spamem
To jest prawdziwa plaga WordPressa – spamboty. Są to programy, które wyszukują w internecie stron opartych o WordPressa i usiłują wklejać w komentarze linki do innych witryn. Można z tym walczyć na wiele sposobów
- Pluginy – są różne, lepsze i gorsze, płatne i darmowe. Może uda Ci się znaleźć to, czego szukasz
- Alternetywny system komentarzy – zazębia się z pierwszym punktem. Możesz, tak jak np. ja, przejść na komentarze udostępniane przez Facebooka. Załatwia to kwestię spamu (przynajmniej częściowo – i tak przeczytaj ten artykuł do końca), logowania, avatarów i kupy innych pierdół, którymi nie chce Ci się zajmować. A oprócz tego, od niedawna są one również indeksowane przez Google!
- Zablokuj dostęp robotom!. Nawet jeśli skusiłeś się na 2), to roboty i tak będą dodawać komentarze. Nie będą się one pojawiać na stronach, ale generują zbędny ruch i zaśmiecają bazę danych. Jak sobie z tym poradzić? Wklej poniższy kod do pliku [cci].htaccess[/cci] i zapomnij o spambotach. Może też ucierpieć niewielki odsetek użytkowników, którzy blokują wysyłanie referer i user agent string w przeglądarce, ale to niewielka strata. Jeżeli zaś korzystasz z innego systemu komentarzy, to tym bardziej nie powinieneś się wahać.
[bash]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*twojastrona.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
</IfModule>[/bash]
Twitterowe daty
Czy chciałbyś, żeby data postu była wyświetlana w stylu twittera np. 3 dni temu? Jest na to prosty sposób. Jedyne co musisz wiedzieć, to gdzie w Twoim szablonie jest skrypt wstawiający datę. U mnie jest on w [cci]functions.php[/cci], ale równie dobrze może to być [cci]page.php[/cci] lub [cci]archive.php[/cci] lub nawet [cci]index.php[/cci]. A może chcesz gdzieś użyć tej daty poza nagłówkiem. Wstaw po prostu do kodu szablonu linię
[php]
Opublikowano <?php echo human_time_diff(get_the_time(’U’), current_time(’timestamp’)) . ’ temu’; ?>
[/php]
Profil autora w Rich Snippet
Wymaga to trochę pracy i szukania, ale nagroda jest wielka. Obok każdego Twojego postu w wynikach wyszukiwania Google pojawi się Twoje zdjęcie oraz link do Twojego profilu w Google+. Jak to zrobić?
Zacznij od posiadania strony profilu autora. Większość szablonów takowe posiada. Jeżeli po kliknięciu swojej nazwy użytkownika widzisz stronę z własnymi postami – jesteś na dobrej drodze. Twórca szablonu się przygotował. Teraz na tej stronie musisz umieścić kod:
[html]
<a rel=”me” href=”https://plus.google.com/u/0/XXXXXX”>
<img src=”http://www.google.com/images/icons/ui/gprofile_button-32.png” width=”32″ height=”32″>
</a>[/html]
Zamiast XXXXXX wpisz swój numer profilu w Google+. Anchor text (treść pomiędzy znacznikami <a> i </a>) może być dowolny, w tym przypadku jest to ikona. Wstawienie tego może być proste, jeżeli ufasz swoim użytkownikom – wtedy możesz skorzystać z pluginu, o którym pisałem wczoraj. Minusem tego rozwiązania jest brak pełnego filtrowania wpisów użytkowników. Ktoś może Ci zrobić dowcip i nieźle popsuć stronę.
Alternatywnie, wpis ten możesz dodać w jednym z plików szablonu. Mogą to być (od najważniejszych):
- author-lucas_yas.php – Jeżeli wybrałeś nick lucas_yas
- author-{id}.php – W miejsce id wprowadź id z bazy danych np. [cci]author-6.php[/cci].
- author.php
- archive.php
- index.php
Następnie musisz dopilnować, by we wszystkich Twoich postach był link kierujący do tej strony z atrybutem [cci]rel=”author”[/cci]. Jeżeli używasz motywu TwentyEleven – już tak masz. Jeżeli nie, musisz samemu poszukać, gdzie ten link jest tworzony (w rzeczonym motywie plik [cci]functions.php[/cci] linia 562) lub… znów zdać się na w/w plugin.
Teoretycznie, plugin może Ci wystarczyć. Jeżeli jednak chcesz uczynić swój blog naprawdę wyjątkowym, skorzystaj z tej metody i przygotuj wszystko od początku do końca. Tym bardziej, że nie jest to specjalnie trudne.
Nie wiesz jak utworzyć pliki szablonu, o których pisałem wyżej? Zasada jest prosta Znajdujesz pierwszy plik na liście (najczęściej będzie to author.php lub archive.php) i kopiujesz całą jego zawartość tworząc [code]author-1.php[/code]
. Tam zmieniasz wszystko wg potrzeb.
Damtox napisał
Powiem krótko, to zabezpieczenie nie jest takie trudne do obejścia. Dodam, że każde zabezpieczenia zawsze trochę utrudnia sprawę spamerowi i to jest najważniejsze…
admin napisał
Wiem, że obejść łatwo, ale jest za to zadziwiająco skuteczne. Gotowe spamboty okazuje się nie są na to odporne, a nikomu się (na razie) chyba nie chce pisać własnych.