hCaptcha na WordPress przeciwko spamowi

Jednym z powodów dla których umieściłem CAPTCHA[1] na blogu była chęć zmniejszenia ilości spamu w komentarzach. Dokładniej, ilości spamu do moderacji, bo i tak wszystkie komentarze przechodzą tu przez ręczną moderację, nim pojawią się na blogu.

Na początek drobne statystyki. WordPress pokazuje równe 230 komentarzy oznaczonych jako spam. Najstarszy z 24.10.2018. Do wczoraj[2] daje to 909 dni, czyli średnio ok. jednego spamu na cztery dni. Nie jest to dokładna statystyka, część mogłem kiedyś usunąć, zamiast oznaczyć jako spam. Zjawisko nie było też stałe w czasie. Mam wrażenie, że ostatnio się nasilało. Na pewno luty, marzec i kwiecień tego roku to większe ilości. Z kolei styczeń to tylko pięć spamów. Jeśli miałbym oceniać na oko, to stawiałbym bardziej średnio na spam co drugi dzień. Do przeżycia.

Rodzajów spamu też było kilka i pojawiał się falami. Były i polskie pseudokomentarze typu „ciekawy wpis” z typowym SEO linkiem, i komentarze pisane cyrylicą. Dominowały jednak anglojęzyczne reklamy środków viagropodobnych. Regularności we wpisach pod którymi zamieszczano komentarze praktycznie żadnej. Podobnie z IP wykorzystywanymi do wysyłki spamu. Na oko raczej stare wpisy, z różnych kategorii. 230 to nie jest duża próbka do analizy, ale może kiedyś zrobię statystyki.

W każdym razie w ostatnim czasie liczba spamów wzrosła. Dominował w zasadzie jeden IP: 92.204.174.134, we WHOIS mający powiązania z SEODEDIC. Zamieszczał nawet po trzy komentarze dziennie. Sprawdzenie logów serwera WWW pokazało, że po prostu wchodzi i wysyła komentarz. Żadnych wielokrotnych prób, ale niekoniecznie byłyby widoczne po stronie mojego serwera. Zatem ciężko stwierdzić czy któryś z serwisów do omijania CAPTCHA przy pomocy ludzi, czy sprytne metody typu machine learning do rozpoznawania obrazków[3] czy w końcu może sprytne wykorzystanie Google text to speech do obchodzenia CAPTCHA od Google.

Skoro spamerzy obchodzili reCAPTCHA, stwierdziłem, że to dobra okazja do wypróbowania alternatywy, o której ostatnio trochę było słychać. Chodzi o serwis hCaptcha. Rejestracja niezbyt gładka. A to mail na Onecie został uznany za nieprawdziwy adres email, a to były problemy z dostarczeniem maila z linkiem aktywacyjnym na inną skrzynkę. W końcu odnalazł się on w folderze spam.

Po aktywacji jest już z górki. Użyłem pluginu hCaptcha for WordPress, który pozwala na określenie, gdzie ma być serwowana CAPTCHA. Podajemy klucze API i… już. Przyznam, że kusiło mnie przez moment wypróbowanie używania obu pluginów jednocześnie. Szybko porzuciłem tę myśl. CAPTCHA jednak i jest nieco upierdliwym mechanizmem, i dokłada trochę objętości do wielkości strony.

No właśnie. W porównaniu z pierwotną wersją strona jest obecnie nieco cięższa. I główna, i strony poszczególnych wpisów. Dramatu nie ma, nad główną jeszcze popracuję, ale z kronikarskiego obowiązku odnotowuję.

Co dalej? Ano czekam na feedback od użytkowników jak się nowa CAPTCHA podoba. A jeśli spamer wróci z tego samego IP, to dostanie w łeb. Tarpitem. Jeśli i to nie pomoże, poszukam innych pluginów WordPress stworzonych, by zwalczać spam. No i przede wszystkim będę obserwował ilość spamu przychodzącego do moderacji.

[1] Dokładnie reCAPTCHA wraz z pluginem Advanced noCaptcha & invisible Captcha. Tutaj znajdziesz więcej o wykorzystywanych na tym blogu czy polecanych pluginach do WordPressa.
[2] Jeśli ktoś zada sobie trud policzenia, to wyjdzie nieścisłość matematyczna. I można policzyć ile dni wpis leżakował jako szkic.
[3] Tak, to akurat przeciwko hCaptcha, ale miałem pod ręką linka. Dla reCaptcha pewnie też coś analogicznego istnieje.

Kluby

Zainspirowany aktywnościami na czytanych blogach, zapisałem się ostatnio do klubów. Kluby są dwa: 512 KB oraz 250 KB. Pierwszy dotyczy rozmiaru strony nieskompresowanej, drugi – moim zdaniem istotniejszy – skompresowanej. Znaczy wykonana została optymalizacja WordPress.

Niby nic nowego, bo o optymalizacji strony i poprawnym działaniu na urządzeniach moblilnych pisałem już dawno. Jednak z WordPressa o rozmiarze nieskompresowanym mniejszym niż 512 KB jestem zadowolony. Tym bardziej, że chodzi o wersję z dodatkowymi statystykami Matomo. Okazuje się, że nie potrzeba żadnej magii, by osiągnąć taki wynik. Nawet motyw jest jeden z domyślnych.

Tak, to tylko główna. Poszczególne wpisy są nieco większe. Tak, nie mam obrazków we wpisach. Z obrazkami na głównej byłoby więcej. Z drugiej strony mógłbym zmniejszyć liczbę wpisów. Ale nie o to chodzi, przynajmniej mi. Nie musi być jak najmniej, ważne, by zwrócić uwagę na rozmiar przy zachowaniu wyglądu i funkcjonalności. Czyli żeby nie było bloatu.

Jeśli komuś naprawdę zależy na minimalizacji, to jedynym sensownym kierunkiem wydaje mi się strona statyczna. Statycznych generatorów stron/blogów jest wiele. Podzielone językami i licencjami, czyli dla każdego coś miłego. Do tego lekki motyw i wyniki są nieporównywalnie lepsze. Co można zobaczyć na przykładzie Wattmeter (geneza). Niestety, funkcjonalność jakby nie ta. Przede wszystkim brakuje sensownej możliwości spięcia komentarzy.

Swoją drogą fajnie widać, jak na przestrzeni lat zmieniają się narzędzia do badania optymalizacji strony. Kiedyś korzystałem z surowo wyglądającego webpagetest.org, teraz rządzi znacznie ładniejszy GTmetrix.

Puchną także same strony. Strona główna starego bloga (Jogger.pl) to 27 requestów, 227 KB skompresowane, 674 KB nieskompresowane. Jednak od obu tych wartości należałoby odjąć odpowiednio 152 KB oraz 461 KB związane z reklamami i widgetem wyszukiwarki Google. Czyli zostałoby 75 KB oraz 213 KB, przed jakąkolwiek optymalizacją. Ten blog ma 11 requestów i odpowiednio 102 KB i 334 KB, ale już po optymalizacji. Czyli jakąś połowę więcej.

Optymalizacja WordPress

Do odchudzania strony głównej, czyli optymalizacji WordPressa korzystałem z wtyczki Asset CleanUp. Więcej o polecanych/używanych wtyczkach WordPress pisałem pisałem tu, więc aktualizuję.

Gdyby ktoś chciał powalczyć samodzielnie to poniżej instrukcja, albo raczej krótkie wskazówki na temat tego, co ustawiłem w tej wtyczce. Nie jest to komplet zmian optymalizacyjnych, część rzeczy mogę robić w innych wtyczkach lub samym serwerze WWW. Czyli klasyczne YMMV, a każda zmiana wymaga testów.

  • Optimize CSS – wszystkie opcje włączone. Defer, minimize, cache.
  • Optimize JavaScript – nie dotykany.
  • HTML Source CleanUp – usunięte kilka tagów. Nie podaję które, bo mocno zależy od konfiguracji.
  • Google Fonts – włączone Remove Google Fonts. Widać różnicę w wyglądzie, ale na testach wyszło mi, że jest tylko odrobinę gorzej. Różnica w rozmiarze – znaczna.
  • CSS & JS Manager – ze strony głównej (i tylko z niej!) usunąłem ładowanie plugina Subscribe to Comments Reloaded. Jest potrzebny tylko na stronach wpisów. Podobny los spotkał tam jquery-core oraz jquery-migrate.

Blogi żyją

Pierwotnie ten wpis miał być komentarzem do wpisu o agonii blogów, jednak z racji rozmiaru i uporządkowania ew. dyskusji stwierdziłem, że bardziej pasuje jako samodzielny wpis.

Zamykanie kolejnych polskich platform blogowych nie jest koniec blogosfery. To zaledwie koniec platform blogowych jako takich. IMO je spotyka los podobny do shared hostingu, odkąd pojawiły się VPSy. Platformy tracą sens, bo:

  • i własny hosting, i domeny drastycznie potaniały,
  • platformy nakładają ograniczenia i/lub kosztują relatywnie dużo,
  • pojawiły się międzyplatformowe narzędzia do dzielenia się komentarzami dot. wpisów na blogach – FB, Disqus, itp.

Tego wszystkiego kiedyś nie było. Porównując z telefonami – nadal z nich korzystamy, ale kto ostatnio korzystał z telefonu stacjonarnego (i w dodatku nie VoIP), o budkach telefonicznych nie wspominając?

Wiele blogów ma się jednak dobrze. Niektóre mają się wręcz świetnie. Z polskiego podwórka na myśl przychodzą mi tu – tak od ręki zaufanatrzeciastrona.pl, sekurak.pl, niebezpiecznik.pl, majsterkowo.pl, jakoszczedzacpieniadze.pl czy subiektywnieofinansach.pl. Od strony technicznej te portale(?) to są blogi. I myślę, że zasięgiem biją na głowę najlepsze blogi sprzed lat dziesięciu lub więcej. A może i całe platformy…

Prawdą jest, że bariera wejścia w blogowanie wzrosła, jeśli porównać ją z innymi formami komunikacji, ale tak naprawdę jest łatwiej, niż kiedyś. Narzędzia są bardziej dopracowane, takiego WordPressa można postawić z tutoriala z wiedzą nie większą, niż potrzebna kiedyś do modyfikacji szablonu. To samo zjawisko dotyczy innych rodzajów twórczości – amatorskie zespoły muzyczne mają często dziś do dyspozycji rozwiązania, które kiedyś były dostępne wyłącznie profesjonalistom. Bardziej mam tu na myśli obróbkę dźwięku, niż instrumenty. Łatwiej jest stworzyć zdatną do wydania muzykę i ją wydać, niż kiedyś.

Zgadzam się, że konkurencja innych platform powoduje, że może nie być sensu pisać własnego bloga lub trudniej będzie się wybić. Jeśli nie będzie dobry, to nie będzie czytany, bo przegra konkurencję z innymi formami. To trochę jak z filmami – spróbujcie dziś obejrzeć jakieś arcydzieło sprzed 60 lub więcej lat. Albo serial sprzed 30-40 lat. To nie są złe filmy! Ale w bezpośrednim starciu ze współczesnymi, czy nawet nowszymi produkcjami na większą skalę nie mają szans. Treści do konsumpcji jest coraz więcej, doba ma nadal 24h, długość życia aż tak nie wzrosła. Trzeba wybierać, a warunki selekcji są coraz ostrzejsze.

Zresztą blogi same wspomagały Facebooka w dominacji rynku. Wielu blogerów założyło fanpage bloga, licząc na promocję, ale tak naprawdę dostarczali tylko dodatkowej treści FB i powodowali, że zaglądanie gdzie indziej miało jeszcze mniej sensu. Zresztą miałem o tym notkę – Facebook przejął rolę wielu serwisów, nie tylko blogów.

Nie upatrywałbym problemu blogosfery w próbach monetyzacji. Tak, też widziałem blogi, które poszły w komercję i straciły przy tym cały urok, ale – patrząc z perspektywy – wygląda mi to bardziej na odcinanie kuponów od czegoś, co było fajne, ale do czego straciło się serce i można albo zakończyć, albo zarobić przy okazji parę złotych. Sam bawiłem się w różne formy zarabiania na blogu, a nawet miałem o tym notkę. IMO nie dało się na blogu bezpośrednio zarabiać. Nawet biorąc poprawkę na specyficzną tematykę i potencjalnie większą niechęć odbiorców do wyświetlanych reklam uważam, że to wszystko na orzeszki. Mi nie udało się nigdy osiągnąć z reklam itp. form osiągnąć pułapu pozwalającego na opłacenie abonamentu za dostęp do internetu. Takie sobie kiedyś kryterium sukcesu wybrałem. 😉 Więc nawet rząd wielkości większe dochody to są orzeszki, jeśli mówimy o pracy na jakąś nieułamkową część etatu.
Podkreślam jednak – chodzi o zarobek bezpośredni. Jak zerkniecie na blogi z jednego z pierwszych akapitów, to jak najbardziej pomagają one autorom zarabiać pieniądze. Ale nie na samych blogach. Mądrze na to mówią budowa marki. W praktyce chodzi o jakąś tam rozpoznawalność.

Jeśli mnie ktoś zapyta, czy warto pisać bloga, bez wahania odpowiem, że tak, ale wyłącznie na własnej platformie i z własną domeną. W przeciwieństwie do dowolnej platformy współdzielonej to jedyna powszechnie dostępna forma publikacji, nad którą mamy pełną kontrolę i która daje pełną niezależność. Możemy – i inni ludzie – łatwo wyszukać stare wpisy, podlinkować do nich i… ktoś to przeczyta (spróbujcie tego na FB…). Możemy bez problemu przenieść się z całą zawartością w inne miejsce i właściciel platformy nie będzie nam dyktował, czy możemy to zrobić, w jakiej formie, zakresie i kiedy. FB jest równie wieczny, jak nk.pl. 😉
A zabawa z bebechami okołoblogowymi jest IMO podobną okazją do nauki, jak niegdyś zabawa z tworzeniem szablonów blogów.