Część 2 z 3
Suchary.com jako aktywo: ROI, monetyzacja, wycena i dlaczego 800 zł zwróciło się trzynastokrotnie
Pełna kalkulacja ROI zakupu serwisu za 800 zł (269% zwrotu), strategia monetyzacji AdSense + Stripe, SEO na 2586 stronach, marketing bez budżetu, compliance RODO i wycena serwisu przed i po remoncie.
Ten artykuł jest częścią case study o przebudowie suchary.com — polskiego serwisu z żartami kupionego na Allegro za 800 zł w 2012 roku. Pełną historię transformacji znajdziesz w artykule głównym: Jak kupiłem serwis za 800 zł i zarabia dla mnie pasywnie od 14 lat.
Kalkulacja ROI — twarde liczby
Zacznijmy od arkusza kalkulacyjnego, bo cała reszta tego tekstu to próba zrozumienia, co właściwie stoi za tymi liczbami.
Metryka | Wartość |
|---|---|
Koszt zakupu | 800 PLN |
Hosting CyberFolks (~14 lat × ~43 PLN/rok) | ~559 PLN |
Domena (.com, ~120 PLN/rok × 14 lat) | ~1 680 PLN |
Łączna inwestycja | ~3 039 PLN |
Łączny przychód z AdSense (14 lat) | ~11 200 PLN |
Zysk netto | ~8 161 PLN |
ROI | ~269% |
Średni roczny zwrot | ~19% rocznie |
Okres zwrotu kapitału początkowego (800 PLN) | ~1 rok |
Liczby wymagają kilku słów kontekstu, bo na pierwszy rzut oka wyglądają skromnie. Wartości bezwzględne są rzeczywiście niskie — osiemset złotych rocznie to raczej kieszonkowe niż realny biznes. Ale przy zerowym nakładzie pracy każda złotówka przychodu była czystym zyskiem ponad koszty utrzymania, a sam kapitał początkowy zwrócił się ponad trzynastokrotnie.
Jest też druga strona tego medalu, której nie widać wprost w tabeli: koszt alternatywny. Gdybym zainwestował czas w ulepszenie strony wcześniej — dajmy na to w 2018 roku, gdy Google zaczął serio dociskać mobile-first — przychody mogłyby być dziś wielokrotnie wyższe. Czternaście lat pasywności to czternaście lat niewykorzystanego potencjału, i trudno powiedzieć, żeby to była historia bez kosztów.
Porównanie z innymi klasami aktywów
Żeby oszacować, czy 19 procent rocznego zwrotu to dużo, czy mało, warto zestawić to z innymi sposobami ulokowania kapitału:
Inwestycja | Typowy roczny zwrot | Czas pracy | Bariera wejścia |
|---|---|---|---|
Lokata bankowa | 4–6% | Zero | Niska |
Indeks giełdowy (ETF) | 8–12% | Minimalny | Niska |
Nieruchomości (wynajem) | 5–8% | Średni | Wysoka (>100k PLN) |
Strona internetowa | 50–200%+ | Zmienny | Niska (<5k PLN) |
Startup | −100% do +10000% | Ogromny | Średnia–wysoka |
Strony internetowe jako klasa aktywów mają charakterystyczny profil: niską barierę wejścia, potencjalnie bardzo wysoki zwrot i skalowalny nakład pracy. Ryzyko jest oczywiście specyficzne — algorytmy Google mogą się zmienić z dnia na dzień, technologia się starzeje szybciej niż mury, a niszę może zalać konkurencja — ale przy kwocie rzędu 800 złotych koszt porażki jest w zasadzie pomijalny. I nawet jeśli projekt się nie uda, edukacja z prowadzenia realnego, działającego serwisu jest bardzo konkretna i przydatna.
SEO — 2586 stron w indeksie Google
Stara wersja miała SEO na poziomie 2012 roku: tytuły generowane z szablonu CMS-a, kilka meta tagów, URL-e przepisane przez mod_rewrite. W swoim czasie to zupełnie wystarczało — dopóki Google nie zaczął systematycznie podnosić poprzeczki.
Przez czternaście lat strona nie dostała: structured data w formacie JSON-LD, sitemapy XML, dynamicznych obrazków Open Graph, kanonicznych URL-i, jakiejkolwiek strategii contentowej ani wersji mobilnej. Te braki kumulowały się w czasie i to jest ważny niuans — strona traciła pozycje nie dlatego, że konkurencja nagle się zbroiła, tylko dlatego, że standardy stale rosły, a ja stałem w miejscu.
SEO jako dźwignia wartości
Dla kogoś, kto traktuje stronę jako aktywo, SEO jest fundamentem wyceny. Ta sama domena z rosnącym ruchem organicznym jest warta wielokrotnie więcej niż ta sama domena z ruchem malejącym — nawet jeśli technologia pod spodem jest identyczna. Wyższy ruch to wprost wyższe przychody z reklam, structured data daje rich snippets (a więc lepszy CTR w wynikach wyszukiwania), blog z topic clusters łapie frazy, których same żarty nie mają szans złapać, a przy ewentualnej odsprzedaży kupujący płaci przede wszystkim za ruch, nie za kod.
Co zbudowałem i co to daje
Dane strukturalne pojawiają się na każdej stronie, dzięki czemu Google wie, że serwis zawiera żarty, zna liczbę głosów i komentarzy pod każdym oraz rozumie hierarchię nawigacji — efekt są wzbogacone wyniki wyszukiwania z gwiazdkami i okruszkami, które wyraźnie zwiększają CTR w SERP-ach.
Dynamiczne podglądy linków sprawiają, że udostępniony link na Facebooku, Messengerze czy Slacku pokazuje spersonalizowany obrazek z tytułem konkretnego żartu — to jest darmowy branding dziejący się przy każdym udostępnieniu, bez żadnego dodatkowego nakładu po mojej stronie.
Zachowanie starych adresów URL to może mniej efektowny, ale najważniejszy element całej migracji. Linki z forów z 2014 roku nadal działają i nadal przekazują autorytet do nowych stron — zero utraconego equity, wbrew temu, co zwykle dzieje się przy takich remontach.
Blog z klastrami tematycznymi jest z kolei odpowiedzią na problem, z którym żadne żarty sobie nie poradzą — długie artykuły na szerokie frazy budują autorytet domeny w oczach Google i podbijają pozycje krótkich treści, do których linkują.
Szczegóły techniczne — robots.txt, sitemapa, crawl budget, canonical URLs — znajdują się w ścieżce technicznej.
Monetyzacja — AdSense i własny system reklam ze Stripe
Przez czternaście lat monetyzacja sprowadzała się do jednego: snippet AdSense w kodzie i czekanie na półroczny przelew. Około 800 zł rocznie, stabilnie, ale bez żadnej dynamiki.
Problem AdSense na polskim ruchu humorystycznym
Na taki przychód składały się trzy twarde ograniczenia. Po pierwsze, niska wartość niszy — reklamodawcy najwięcej płacą za miejsca wyświetlane osobom szukającym kredytów, ubezpieczeń czy produktów B2B, a nie osobom czytającym suchary przed snem. Po drugie, polski rynek — CPM w zakresie 0,50–2 zł za tysiąc wyświetleń, podczas gdy w USA czy UK w tej samej kategorii byłoby to 5–15 dolarów. Po trzecie, Google zabiera trzydzieści dwa procent prowizji z tego, co już i tak jest niskie.
Matematyka jest bezlitosna: przy CPM rzędu 0,50–2 zł i trzydziestodwuprocentowej prowizji sam AdSense nigdy nie wygeneruje więcej niż kilkaset złotych rocznie na polskim ruchu humorystycznym. Nieważne, jak dobrą stroną byś dysponował — w tej matematyce nie zmieścisz się powyżej sufitu niszy.
Nowy model: dwa strumienie przychodu
Dlatego nowa wersja ma dwa niezależne strumienie, które grają ze sobą jak warstwy w jakimś fallbacku. Strumień pasywny to AdSense w trybie auto-ads — zero pracy, niski, ale przewidywalny przychód. Strumień aktywny to własny system reklam sprzedawanych bezpośrednio przez Stripe, z pełną kontrolą nad stawkami i kupującym.
Mechanika jest prosta: kiedy reklamodawca kupuje bezpośrednią reklamę, jego baner zastępuje AdSense na danym placemencie; kiedy nie ma kupca, AdSense wraca automatycznie. W efekcie nie ma momentu, w którym jakiś slot nie generowałby przychodu.
Trzy formaty reklamowe
Placement | Wymiary | Pozycja |
|---|---|---|
Leaderboard | 728×90 | Nad feedem na desktopie |
Rectangle | 300×250 | W feedzie co 8 żartów |
Skyscraper | 160×600 | Boczny sidebar |
Każdy placement ma stałą cenę dzienną, a kalendarz w panelu reklamodawcy od razu pokazuje, które daty są już zajęte.
Text Banner Builder
Największą barierą wejścia dla małych reklamodawców — lokalnej pizzerii, biura księgowego, salonu fryzjerskiego — nie jest cena reklamy, tylko to, że w ogóle nie mają banera graficznego. Rozwiązaniem jest wbudowany builder, który działa w dwóch trybach.
Tryb pierwszy, w stylu Google Ads, to reklama tekstowa: nagłówek (dwie linijki po trzydzieści znaków), opis (dziewięćdziesiąt znaków) i URL. System renderuje to do gotowego banera w sposób przypominający klasyczne Google Ads.
Tryb drugi to własny projekt z kolorem tła i tekstu, wyborem z sześciu czcionek, obrotem, ramką i zaokrągleniami. Całość dzieje się na HTML Canvas w czasie rzeczywistym, z eksportem do PNG na końcu. Lokalna pizzeria może stworzyć sobie reklamę w pięć minut, bez Photoshopa i bez grafika.
Flow zakupowy ze Stripe
Proces zakupu jest liniowy i w całości self-service. Reklamodawca wybiera placement i daty, tworzy baner (w builderze lub przez upload), wpisuje dane firmy (NIP walidowany automatycznie przez GUS REGON API, żeby nie trzeba było przepisywać adresu). System liczy cenę jako iloczyn dni i stawki dziennej, po czym przechodzi do Stripe Checkout w PLN. Po płatności webhook zmienia status zamówienia na paid, a ja w panelu administracyjnym moderuję baner i albo go aktywuję, albo wykonuję zwrot — wszystko bez ręcznego klepania faktur.
Szacunkowy potencjał
Szacunki po remoncie przy założeniu 30–50 tysięcy odsłon miesięcznie (bo nowa wersja dopiero buduje ruch):
Model | Przychód/miesiąc |
|---|---|
Tylko AdSense | 15–100 PLN |
+ 1 sprzedany placement | 150–600 PLN |
Pełne obłożenie 3 placementów | 450–1 800 PLN |
Marketing bez budżetu
Przez czternaście lat jedynym kanałem pozyskiwania ruchu był Google organic. Nie istniała żadna lista mailingowa, żadne social media, żadne powiadomienia — co w praktyce oznaczało, że każda zmiana algorytmu przekładała się bezpośrednio na przychód, bez żadnego bufora. Nowa wersja miała to zmienić, ale bez budżetu reklamowego, bo wydawanie pieniędzy na reklamy serwisu, który sam sprzedaje reklamy, na tym etapie nie miało sensu.
Blog — bo żarty są za krótkie dla Google
Suchary.com mają 2586 żartów, ale każdy z nich to dosłownie kilka zdań. Tymczasem Google od lat faworyzuje dłuższe treści, które w miarę kompletnie wyczerpują temat — i to właśnie na nich pozycjonuje szerokie frazy w rodzaju „najlepsze żarty o programistach". Pojedynczy żart nie ma tu czego złapać, bo nie ma czego indeksować.
Dlatego obok żartów pojawił się blog oparty na topic clusters: jeden obszerny pillar article na nadrzędny temat (dwa tysiące słów lub więcej), a wokół niego grupa krótszych artykułów na węższe frazy, połączona gęstą siecią linków wewnętrznych. Tak zbudowana struktura sygnalizuje Google'owi tak zwane topical authority, czyli że strona jest ekspertem w danym obszarze, a nie przypadkowym zbiorem treści. W praktyce oznacza to dwie rzeczy naraz: artykuł blogowy łapie frazy, których same żarty nie miały szansy złapać, a jednocześnie — przez linki wewnętrzne — wzmacnia pozycje samych żartów, do których prowadzi.
Cztery kanały dystrybucji zamiast jednego
Poza organicznym ruchem z Google, nowa wersja zbiera odbiorców przez trzy dodatkowe kanały — każdy z nich działa inaczej i łapie użytkownika w innym momencie.
Newsletter zaczął zbierać adresy od pierwszego dnia, nawet jeśli pierwsza wysyłka nastąpi dopiero za miesiąc. Logika jest prosta: znacznie łatwiej budować listę, kiedy serwis ma ruch, niż próbować zacząć od zera, kiedy go zabraknie. I co ważniejsze — lista mailingowa to jedyny kanał, nad którym mam pełną kontrolę. Google może zmienić algorytm, Facebook może obciąć zasięgi, ale listę emailową trzymam u siebie i nikt mi jej nie odbierze.
Push notifications uzupełniają newsletter tam, gdzie email nie dociera. Powiadomienie wyskakuje natychmiast, nie trafia do folderu „Oferty", nie wymaga otwierania skrzynki. Dla serwisu humorystycznego, w którym treść jest lekka i impulsowa, ten format pasuje lepiej niż długi, przemyślany email — ktoś widzi „Nowy żart dnia", klika, i w trzy sekundy jest na stronie.
Social sharing jest w przypadku żartów najbardziej naturalnym kanałem wzrostu, bo żart z definicji jest treścią, którą ludzie chcą podrzucać znajomym. Każdy post ma przyciski udostępniania, a żarty w formacie pytanie-odpowiedź mają dodatkowy mechanizm: puenta jest ukryta za przyciskiem, co tworzy format idealny do shareowania w stylu „kliknij, żeby zobaczyć odpowiedź". Udostępniony link generuje dynamiczny podgląd z tytułem żartu, więc nawet na Messengerze czy Slacku wygląda porządnie bez dodatkowej pracy grafika.
User-generated content jako silnik wzrostu
Formularz dodawania żartów pod /dodaj robi coś, czego żaden inny kanał nie potrafi — sprawia, że użytkownicy sami generują nowe strony w indeksie Google. Każdy zatwierdzony żart to nowy URL, nowe słowa kluczowe, nowa szansa na złapanie ruchu organicznego. Co równie istotne, użytkownik, który dodał własny żart, ma powód, żeby wracać — sprawdzić, ile dostał głosów, czy pojawiły się komentarze, czy jego pomysł się podoba. W ten sposób jednorazowy odwiedzający zamienia się w kogoś, kto czuje się częścią serwisu.
Jedno wezwanie do akcji na każdej stronie
Każda podstrona ma przynajmniej jedno CTA, dobrane do tego, co użytkownik właśnie robi. Na feedzie jest to formularz newslettera — bo ktoś, kto scrolluje żarty, jest wystarczająco zaangażowany, żeby zostawić email. Na stronie pojedynczego żartu są przyciski głosowania i udostępniania oraz powiązane żarty, żeby użytkownik nie musiał wracać do Google po kolejną porcję treści. Na blogu CTA to znów newsletter plus linki do pokrewnych artykułów, bo ktoś, kto właśnie przeczytał dwa tysiące słów, jest dosłownie ciepłym leadem.
Co ważne, żadne z tych CTA nie blokuje treści. Nie ma popupów, nie ma paywalli, nie ma „zarejestruj się, żeby czytać dalej". Każde po prostu odpowiada na naturalne pytanie, które użytkownik i tak sobie zadaje: co mogę tu jeszcze zrobić?
RODO i cookies — minimum viable compliance
Stara wersja suchary.com nie miała żadnego dokumentu prawnego — zero polityki prywatności, zero regulaminu, zero cookie bannera. Działała tak przez czternaście lat i nikt tego nigdy nie sprawdził. Przy nowej wersji — z kontami użytkowników, newsletterem, płatnościami przez Stripe i reklamami AdSense — brak compliance przestaje być hipotetycznym problemem i zaczyna mieć konkretne konsekwencje. Google obniża fill rate reklam bez certyfikowanej platformy zgody (TCF), Stripe wymaga polityki prywatności już na etapie onboardingu, a UODO może po prostu wlepić karę.
Dane przetwarzane przez suchary.com
Kategoria | Dane | Źródło |
|---|---|---|
Konta użytkowników | email, nazwa, avatar | Supabase Auth |
Komentarze | treść + profil | Formularz |
Głosy | powiązane z user_id | Przycisk |
Newsletter | adresy email | Formularz subskrypcji |
Push subscriptions | endpointy przeglądarek | PushManager API |
Zamówienia reklam | email, NIP, dane firmy | Formularz zakupu |
Podstawy prawne
Każda kategoria danych przetwarzana jest na konkretnej podstawie prawnej z RODO. Zgoda (art. 6 ust. 1 lit. a) obsługuje newsletter, push i cookies reklamowe. Wykonanie umowy (art. 6 ust. 1 lit. b) pokrywa konto użytkownika i zakup reklamy. Prawnie uzasadniony interes (art. 6 ust. 1 lit. f) obejmuje analitykę (Umami) i bezpieczeństwo.
Podmioty przetwarzające
Procesor | Kraj | Co przetwarza | Transfer |
|---|---|---|---|
Supabase | SG/US | Baza, auth, storage | SCCs |
Cloudflare | US | CDN, DNS, DDoS | SCCs |
Stripe | US/IE | Płatności | SCCs + adequacy |
Resend | US | Emaile | SCCs |
US | AdSense, CMP | SCCs | |
Hetzner | DE | Hosting | EOG |
Google Funding Choices jako CMP
AdSense wymaga od wydawców w Unii Europejskiej posiadania certyfikowanej platformy zgody w ramach Transparency and Consent Framework. Google Funding Choices to darmowa CMP od samego Google — snippet JS w <head>, baner zgody przy pierwszej wizycie, i tyle. Bez tego Google albo obniża fill rate na ruchu europejskim, albo po prostu blokuje reklamy.
Dokumenty prawne
Serwis ma trzy osobne dokumenty. Regulamin serwisu (/regulamin) opisuje warunki korzystania, zasady moderacji i sprawy związane z prawami autorskimi. Regulamin reklam (/reklama/regulamin) jest osobnym dokumentem, bo dotyczy innej grupy użytkowników i porusza inne kwestie — formaty, tryb zwrotów, odpowiedzialność reklamodawcy. Polityka prywatności mówi, jakie dane są przetwarzane, po co, przez kogo i jakie prawa ma użytkownik.
Dwa osobne regulaminy, a nie jeden zbiorczy, dlatego że mam dwie grupy użytkowników z zupełnie różnymi potrzebami i różnymi punktami bólu.
Wycena — ile jest warta strona internetowa
Metody wyceny
Najczęściej używany model to wielokrotność przychodu rocznego, standardowy na marketplace'ach takich jak Flippa czy Empire Flippers:
Kategoria | Mnożnik | Charakterystyka |
|---|---|---|
Zaniedbany serwis | 1–2x | Spadający ruch, stary stack |
Stabilny serwis | 2–3x | Stały ruch i przychód |
Rosnący serwis | 3–5x | Trend wzrostowy, zdywersyfikowane źródła |
Premium | 5–8x | Silna marka, wiele kanałów przychodu |
Dla polskich serwisów mnożniki są zwykle niższe niż dla anglojęzycznych — mniejszy rynek i mniej potencjalnych kupujących, więc wycena musi być bardziej konserwatywna.
Druga metoda to wartość ruchu (traffic value) — czyli ile kosztowałoby wygenerowanie tego samego ruchu z Google Ads. Narzędzia typu Ahrefs czy Semrush szacują CPC dla fraz, na które strona się pozycjonuje, a potem mnożą to przez ruch. Ta metoda jest szczególnie przydatna, gdy serwis nie jest jeszcze zmonetyzowany, bo pozwala wycenić potencjał, a nie tylko aktualny cashflow.
Trzecia to wartość domeny plus treści — metoda niezależna od przychodu. Bierze pod uwagę wiek domeny, profil backlinków, liczbę zaindeksowanych stron i bazę użytkowników. Zaniedbany serwis z dobrą domeną może być wart znacznie więcej, niż sugerowałby jego aktualny przychód — bo kupujący nie kupuje dzisiejszego AdSense, tylko potencjał, który tkwi w domenie po remoncie.
Przed remontem
Stosując mnożnik przychodu: 800 zł rocznie × 1,5–2 (kategoria zaniedbany serwis) daje przedział 1 200–1 600 zł. Z perspektywy domeny i treści — krótka .com, dziesięć lat historii, 2586 kawałków treści — realna wycena mieściłaby się w przedziale 2 000–5 000 zł. Konsensus gdzieś w okolicy 1 500–3 000 zł.
Kupiłem za 800 zł. Nawet bez jakichkolwiek zmian: dwu- do trzykrotna aprecjacja kapitału plus 11 200 zł przychodu po drodze.
Po remoncie
Tutaj wyceny idą ostro w górę. Mnożnik przychodu za dwanaście miesięcy — przy szacowanym przychodzie 2 400–4 000 zł rocznie (założenie: 40 tysięcy odsłon miesięcznie, obłożenie jednego lub dwóch placementów reklamowych przez mniej więcej połowę czasu) razy mnożnik 3–4 (bo kategoria przesuwa się w kierunku rosnącego serwisu) — daje 7 200–16 000 zł. Z perspektywy aktywów: nowoczesny stack, panel admina, system reklam, compliance — wszystko to składa się na dodatkowe 8 000–15 000 zł. Konsensus na poziomie 8 000–15 000 zł.
Co podnosi wartość
Na mnożnik wpływa kilka konkretnych rzeczy i warto je wymienić, bo każda z nich jest decyzją do podjęcia już na etapie budowy, nie dopiero przy sprzedaży.
Zdywersyfikowane przychody (AdSense plus własne reklamy) obniżają ryzyko dla kupującego — jeśli jedno źródło siada, drugie zostaje. Zdywersyfikowane źródła ruchu (Google, newsletter, push, social) dają niezależność od jednego algorytmu, co kupujący docenia najbardziej. Trend wzrostowy — trzy miesiące stabilnego wzrostu 5–10 procent miesiąc do miesiąca — potrafi sam z siebie podnieść mnożnik z dwóch na trzy, a nawet cztery. Prostota operacyjna (Docker, plik .env, panel admina) pozwala kupującemu przejąć serwis w godzinę, bez grzebania w kodzie. Compliance — RODO, regulaminy, CMP — oznacza zero długu prawnego, który trzeba by spłacać po zakupie.
Strategia: trzymać czy sprzedać
Na razie celem jest cashflow. Strona po remoncie dopiero zaczyna rosnąć, więc przychód jeszcze nie odzwierciedla nowej infrastruktury — sprzedaż w tym momencie oznaczałaby pozbycie się aktywa, zanim zacznie ono grać pełną parą. Sensowny moment na sprzedaż to chwila, w której mnożnik będzie oparty na realnych, rosnących przychodach, a nie na obietnicach. Jeśli za dwanaście–osiemnaście miesięcy przychód wzrośnie do 3 000–5 000 zł rocznie — wtedy sprzedaż stanie się konkretną opcją, a nie tylko abstrakcją z tabeli.
Gdzie kupować i sprzedawać
Na rynku międzynarodowym standardem są Flippa, Empire Flippers, Motion Invest oraz Acquire.com. W Polsce wybór jest mniejszy i bardziej organiczny — Allegro (głównie dla mniejszych serwisów), branżowe grupy na Facebooku oraz po prostu bezpośredni kontakt z właścicielami zaniedbanych stron, których nikt nie reklamuje, bo ich właściciele dawno o nich zapomnieli. I paradoksalnie — to właśnie ten ostatni kanał daje zwykle najlepsze okazje, bo nie ma tam konkurencji, a sprzedający często nie wiedzą, co naprawdę mają.
Komentarze
Ładowanie...