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.

Wtyczki do WordPressa

Przesiadka na WordPressa była dobrym posunięciem. Jednak ku mojemu zdziwieniu goły WordPress nie ma możliwości zrobienia – przynajmniej w prosty, cywilizowany sposób – wielu podstawowych rzeczy. Musiałem doinstalować pewne wtyczki, a po bliższym zapoznaniu się z tematem okazało się, że trafiają się tam naprawdę rewelacyjne narzędzia.

Wtyczki WordPress podzieliłem – bardzo subiektywnie – na dwie grupy – trzeba mieć oraz warto mieć. Zwykle będą to najniezbędniejsze narzędzia do podstawowych funkcjonalności, zdrowego SEO oraz narzędzia do optymalizacji bloga, zwł. czasu ładowania strony. Pora na grupę pierwszą, czyli pluginy IMO niezbędne:

BackWPup


Niezależnie od tego, czy masz własny serwer, korzystasz z hostingu który „robi backupy” czy kupujesz gotowca, warto mieć własną kopię zapasową. BackWPup robi robotę, ma sporo opcji konfiguracyjnych co backupować i gdzie przesyłać backup (tu akurat średnio jestem przekonany, IMO lepiej zaciągać backup, niż go wysyłać z backupowanej maszyny). Potrafi działać cyklicznie, bez ingerencji, umie zrobić pełną kopię, wraz ze zdjęciami. Przypadł mi do gustu, więc nie testowałem alternatyw.

UPDATE Polecam, choć ostatecznie przesiadłem się na kopię plików + dump bazy realizowane z poziomu systemu operacyjnego.

Advanced noCaptcha & invisible Captcha


Że spam na blogu może się zdarzyć – wiadomo. Miałem włączoną moderację, więc nic się nie prześlizgnęło, ale spamu wpadała cała masa. W przeciwieństwie do mniej popularnych platform blogowych, blogi oparte o WordPress są narażone na automatyczne znajdowanie przez boty, a wtedy… przychodzi nawet po kilka spamów dziennie. Moderowanie szybko mi się znudziło, różnego rodzaju rozwiązania antyspamowe mnie nie do końca przekonywały, postawiłem na standardowe rozwiązanie od Google. Ujęło mnie tym, że potrafi zabezpieczyć nie tylko formularz komentarzy, ale także logowanie. Znacznie utrudnia to atak brute force (chociaż nie powstrzyma zdesperowanego atakującego, są rozwiązania do łamania CAPTCHA od Google). Prosta, standardowa konfiguracja, do wyboru różne warianty captcha, w tym wersja niewidoczna. Spam niemal zniknął, pojedyncze sztuki w miesiącu to raczej robota ludzi.

UPDATE Działało do czasu, potem przestało.

hCaptcha for WordPress

Zamiennik reCAPTCHA. Dzielnie radził sobie ze spamem, gdy ten zaczął przechodzić rozwiązanie od Google. Do czasu, aż znowu spamerzy zaczęli wygrywać. Ale i tak uważam plugin za bardzo dobry i polecam.

Antispam Bee

Ta wtyczka, jak nazwa wskazuje, służy do wycinania spamu. Gdy hCaptcha przestała dawać radę, zainstalowałem i jestem zadowolony. Sporo opcji, można pozwolić tylko na komentarze w danym języku, powiadomienia na maila, usuwać wykryty spam po zadanym czasie. Działa przed moderacją, więc może skutecznie odciążyć moderatora.

Download External Images In Posts


Znalazłem go poszukując sposobu na zaimportowanie obrazków podczas migracji z Blox i w sumie zrobił mi dzień. Działa w ten sposób, że pobiera zdalne obrazki i zapisuje je lokalnie, następnie serwuje z naszego serwera. Dzięki temu blog ładuje się szybciej (brak odwołań do wielu domen), mamy pełną kontrolę nad treścią i gwarancję jej niezmienności. Warto tu przypomnieć, że należy podawać źródło, skąd pochodzi dany obrazek na naszym blogu. Jeśli mamy ten plugin to odwiedzający nie może nawet „po prostu” zajrzeć w źródło, żeby to sprawdzić. Drobną wadą jest to, że nasz blog zajmuje nieco więcej miejsca. W końcu wszystkie zasoby są przechowywane u nas. Jednak przy dzisiejszych pojemnościach i cenach hostingu nie powinien być to żaden problem.

Najważniejsze wtyczki za nami, pora na mniej istotne.

Insert Headers and Footers


Potrzebowałem dodać statystyki Matomo (dawniej Piwik) i… okazało się, że w gołym WordPressie nie bardzo można to zrobić. Oczywiście do wszystkiego są dedykowane pluginy, ale jeśli ktoś – podobnie jak ja – przywykł do tego, że sam robi odpowiednie wklejki w stopce, to jest to plugin w sam raz dla niego. Nie szukałem alternatyw.

Cache Enabler


Z tym pluginem jest śmieszna historia. Tak naprawdę nie chodziło mi o cache czy różnego rodzaju funkcje optymalizacyjne (to już miałem zrobione, czy to natywnie w serwerze WWW, czy ręcznie), tylko o funkcję ukrytą pod nazwą create an additional cached version for WebP image support. Okazało się, że jest to – a przynajmniej był – najprostszy sposób, by zmusić WordPressa do serwowania grafik w formacie WebP przeglądarkom, które ten format umieją.

EWWW Image Optimizer


Narzędzie do optymalizacji grafik przechowywanych lokalnie. Mocno konfigurowalne, klikalne, potrafi bezstratnie (oraz stratnie, jeśli ktoś woli i wybierze taką opcję) optymalizować rozmiar zdjęć, dzięki czemu blog zajmuje mniej miejsca i wczytuje się szybciej. Potrafi też dokonywać przeskalowania grafik, dzięki czemu wysyłana jest nie tylko zoptymalizowana, ale najbliższa danemu rozmiarowi ekranu wersja. Domyślnie korzysta z zainstalowanych dodatkowych programów, więc nie jestem przekonany, czy będzie działał na shared hostingach. Jeśli ktoś ma swój VPS – polecam.

Google XML Sitemaps


Goły WordPress posiadał szczątkową sitemapę, albo wręcz jej nie posiadał. Plugin załatwia sprawę generowania sitemapy, która ułatwia poprawne zaindeksowanie treści. Jest sporo alternatyw w różnych wtyczkach do SEO, ten plugin spodobał mi się, bo nie jest kombajnem, robi tylko sitemapę.
UPDATE Aktualnie zrezygnowałem z tej wtyczki na rzecz kolejnej, czyli Yoast SEO.

Yoast SEO

Kombajn do SEO, któremu dałem szansę w wersji darmowej. Potrafi zwrócić uwagę zarówno na jakość wpisów pod kątem czytelności, jak i SEO. Brak podziału długiego wpisu przy pomocy nagłówków, za długie zdania – ta wtyczka WordPress pomaga rozwiązać tego typu problemy. Można zaznaczyć kolorowanie problematycznych zdań, zdefiniować frazy kluczowe. Ponadto umie zrobić sitemapę, podgląd wpisu w mediach społecznościowych i wiele innych rzeczy. Nadal testuję, ale wygląda dobrze, żałuję, że nie znałem wcześniej.

Subscribe to Comments Reloaded


Chciałem dać czytelnikom często spotykaną na innych blogach i często przeze mnie wykorzystywaną możliwość subskrypcji komentarzy do danego wpisu, stąd jego obecność. Zachwalana funkcjonalność nie spotkała się z szerszym zainteresowaniem, ale samo rozwiązanie wydaje się działać OK. Na niedziałanie nikt się nie skarżył, alternatyw nie szukałem.

Asset CleanUp: Page Speed Booster

Wtyczka WordPress pomocna przy odchudzaniu strony. Pozwala łatwo, bez grzebania w CSS, określić które elementy chcemy wyłączyć. Konfiguracja jest zaawansowana, można wyłączać tylko określone elementy na określonych typach stron.

Tyle jeśli chodzi o wtyczki WordPress, jeśli znasz inne ciekawe, podziel się nimi w komentarzach. Jeśli potrzebujesz pomocy z konfiguracją WordPressa – zapraszam do działu kontakt.

SEO przy zmianie domeny bloga

To ostatni wpis nawiązujący do Blox, przynajmniej techniczny, bo być może pojawi się jeszcze jeden o tym, jak Agora ma w głębokim poważaniu wolność słowa (określając to górnolotnie) i że ważniejsze jest parę złotych.

Po przeniesieniu bloga, o którym nieco pisałem, przyszedł czas na przeniesienie pozycjonowania w Google w nowe miejsce, czyli zabawę z SEO po zmianie domeny, aby ludzie wchodząc z wyszukiwarki trafiali w nowe miejsce. Przyznaję, że motywację miałem nikłą – nie zarabiam na wejściach, bo ani nie służy on do sprzedaży produktu, ani nawet nie ma podpiętych innych, pośrednich form zarobku.

Po przeniesieniu treści postanowiłem poczekać. Zwyczajnie i po prostu, nie robiąc nic, poza daniem informacji Google, że blog jest i jak interpretować zawarte na nim dane. Zresztą akurat miałem co innego na głowie. Znaczy ograniczyłem się do wypełnienia Data HighliterWebmaster Tools. Stan taki trwał jakiś miesiąc albo dwa.

Z braku kontroli nad nagłówkami pomysł przekierowania w nowe miejsce przy pomocy kodu odpowiedzi 301 odpadł w przedbiegach, choć to najprostsza, automatyczna i zalecana – także z punktu widzenia SEO – forma przekierowania ruchu w nowe miejsce.

Trochę czasu minęło, ilość wejść na nową lokalizację była szczątkowa, choć miałem nadzieję, że Google zacznie ogarniać sytuację samodzielnie. Niestety tak się nie stało, więc postanowiłem zacząć działać, choć miałem świadomość, że to praca, która się nie automatyzuje. Pierwsze co przyszło mi do głowy, to ustawienie link canonical dla wybranych, najczęściej odwiedzanych wpisów z nową lokalizacją jako celem. I tu okazało się, że Blox przewidział sytuację i… stosowne elementy HTML znikają po dodaniu ich w edycji źródła[1].

Z braku lepszych pomysłów dodałem w najpopularniejszych wpisach namiar na nowe miejsce, poprawiłem też linki do bloga w większości miejsc, gdzie były one umieszczone i… postanowiłem jeszcze poczekać. Poczekałem kwartał, ale nie wydarzyło się nic specjalnego. Statystyki wg Webmaster Tools wyglądały na koniec kwartału następująco:

ostanie 28 dni: impr: 2250, CTR 0,84%, avg pos 33,7. 130 wizyt

Delikatnie mówiąc szału nie ma.

Postanowiłem więc podziałać inaczej. Skoro nie mogę przekierować wyszukiwarki Google, to postanowiłem przekierować przynajmniej żywych ludzi, licząc, że Google w jakiś sposób to zauważy i odpowiednio zinterpretuje. Skoro nic nie działa, to co zadziała na pewno i czego nie można zablokować? Oczywiście JavaScript. Malware korzystający z niego ma się dobrze dzięki obfuskacji, zablokować całkowicie wykorzystania JS na stornie nie bardzo można, bo masa funkcjonalności z niego korzysta. Użyłem następującej wersji przekierowania z jednej lokalizacji na drugą (dla najpopularniejszych wpisów):

<script>
window.location.replace('https://zakr.es/blog/2017/09/goodbye-yanosik/');
</script>

Oczywiście powyższy JS był tylko w odpowiadającym wpisie na starym blogu, a URL w skrypcie to URL na nowym blogu.

Zadziałało nadspodziewanie dobrze. Nadspodziewanie, bo przy wejściu na URL kategorii zawierającej wyświetlany wpis z przekierowaniem, także przekierowywało. Co gorsza przekierowywało przy wejściu na stronę główną, bo także znalazł się tam wpis z przekierowaniem. Może i więcej ruchu przez to, ale niezupełnie o to chodziło i mało to precyzyjne… Dla wpisów z głównej dokonałem więc stosownej korekty w stylu:

<script>
var stringPathName = window.location.pathname;
if (stringPathName == "/2018/02/Waze-jako-nawigacja.html") {
  window.location.replace('https://zakr.es/blog/2018/02/waze-jako-nawigacja/');
}
</script>

Poczekałem miesiąc, wyniki w statystykach były zauważalne, zacząłem więc dodawać tego typu przekierowania dla kolejnych, popularnych linków. Po dwóch miesiącach od dodania przekierowań w JS, wyniki wyglądały następująco:

28 dni: impr: 10450, CTR 4,46%, avg pos 18.8, 490 wizyt

Jak widać wzrost wszędzie. Uznałem, że jest sukces, zacząłem – dla pewności – usuwać większość treści wpisów na starym blogu. Nie było negatywnego wpływu, nastąpił nawet dalszy, równie znaczący wzrost wskaźników. Choć zakładam, że wynika on po prostu z upływu czasu.

Największym zaskoczeniem jest dla mnie, że Google przy pozycjonowaniu uwzględnia JS do tego stopnia. Wiedziałem, że radzi sobie z treścią w JS i umie odczytać URLe. Ale w tym przypadku wygląda, że poprawnie interpretowany jest fakt przekierowania.

Co można było zrobić lepiej lub inaczej? Całość działań można było zamknąć w mniej niż dwa miesiące, gdybym od razu wiedział co robić i działał zdecydowanie. Oczywiście lepsze efekty byłyby, gdyby zmiany dotyczyły wszystkich wpisów. Jest to jednak żmudna, ręczna praca, której poświęcałem kilka minut dziennie przy porannej kawie. Powyższy sposób przekierowania nie jest jedynym dostępnym w JS. Miałem w planach sprawdzenie różnych, ale ten sprawdziłem jako pierwszy i zadziałał powyżej oczekiwań, więc nie testowałem innych.

Na koniec jeszcze garść cyferek. Ingerowałem ręcznie w ww. sposób w 40 wpisów. Wg Matomo nowy blog ma obecnie ok. 4-5 razy większą ilość wizyt, niż stary. Czyli ładny podział zgodnie z zasadą Pareto.

Co dalej? Dodawanie przekierowań w kolejnych wpisach i usuwanie z nich treści. Ostatecznie pewnie usuwanie przekierowanych wpisów, ale póki co nie mam na to ciśnienia.

[1] Tu zniknęła moja wątpliwość w celowość działań Blox w celu przywiązania użytkowników do swojej platformy. Przypominam: technicznie mają kontrolę nad nagłówkami i domeną – to jakby naturalne i cena za korzystanie ze współdzielonej platformy. Do tego wyłączyli parę lat temu – rzekomo tymczasowo – API. Ale jak widać dodatkowo jeszcze celowo ingerują w treść HTML.

UPDATE: Wersja ultimate, czyli przekierowująca – w założeniu – wszystkie wpisy, a dodawana prosto w jednym miejscu (Własny HTML pod każdym wpisem). Sprawdza, czy URL kończy się ciągiem „.html”. Jeśli tak, do URLa bazowego nowej lokalizacji (koniecznie bez / na końcu!) dodaje ścieżkę. Działa dla schematu URLi w WordPress zgodnego z Blox. Wyżej opisane wpisy szczegółowe mają pierwszeństwo.

<script>
var stringPathNameBlog = window.location.pathname;
myRegexp = /(.*?)\.html/;
myBase = "https://zakr.es/blog";
if (stringPathNameBlog.match(myRegexp)){
var match = myRegexp.exec(stringPathNameBlog);
var newLoc = myBase + match[1] + "/";
window.location.replace(newLoc);
}
</script>

UPDATE: Warto jeszcze w ramach dbania o SEO po zmienie domeny poprawić URLe do innych wpisów na blogu tak, by kierowały na nową lokalizację. Jak to zrobić dla WordPressa opisałem w aktualizacji wpisu o migracji z Blox na WordPress.

UPDATE 2: Zmiana domeny na WordPress i dbanie o SEO po niej mogą wyglądać podobnie. Zatem wnioski można nieco uogólnić, choć skrypty JS raczej nie będą konieczne. WordPress zapewne daje lepsze, natywne mechanizmy,