SEO z AI - Claude Code, skills i 32 strony w jeden dzien
Behind the scenes: jak uzylem Claude Code do keyword research, 10 blogow, Lighthouse 74->97, llms.txt i Netlify Prerender. Caly proces krok po kroku.
- Pew Research, lipiec 2025 - 8% kliknięć gdy podsumowanie AI się pojawia
Chcesz zobaczyć jaki system AI możesz zbudować dla swojego biznesu? Zrób quiz na daien.pl/quiz - zajmie 2 minuty, a dostaniesz spersonalizowaną rekomendację.
*Ostatnia aktualizacja: Maj 2026*
Podsumowanie
Dzisiaj w jeden dzień zrobiłem pełną optymalizację SEO dla daien.pl: 32 frazy kluczowe pogrupowane w 6 kategorii intencji, 10 wpisów blogowych opublikowanych z pomocą AI, wynik Lighthouse z 74 na 97 na telefonie, plik llms.txt dla botów AI i wtyczka Netlify Prerender, żeby boty widziały treść. Cały proces z Claude Code. Poniżej dokładnie jak to wygląda krok po kroku - bez upiększeń, bez zmyślania.
Inspiracja: James i Boring Marketer
Trafiłem na video Jamesa z kanału The Boring Marketer - "How Claude Code Ranked Me FIRST on Google". Facet pokazał jak zbudował ponad 50 stron dla lokalnego biznesu w 4 godziny i rankuje top 3 w Google. Nie jakaś teoria, nie kurs za 2000 zł. Konkretny proces, krok po kroku, z nagrywaniem ekranu.
Jego mental model jest prosty: SEO = Demand + Supply. Demand to frazy które ludzie wpisują w Google. Supply to strony na Twojej witrynie które na te frazy odpowiadają. Dla każdego keyword - osobna strona. Nie jedna podstrona /usługi z listą 15 rzeczy. Kto ma więcej stron pod więcej fraz, ten zbiera więcej ruchu.
Pomyślałem: mam daien.pl, mam Claude Code, mam cały dzień. Zobaczmy ile da się zrobić.
Krok 1: Keyword research - 32 frazy w 10 minut
Słowo kluczowe (keyword) to fraza, którą ludzie wpisują w Google, gdy czegoś szukają - na przykład "naprawa klimatyzacji Gdańsk". Im lepiej Twoja strona odpowiada na konkretną frazę, tym wyżej Google ją pokazuje.
Zacząłem od najprostszego możliwego podejścia. Zapytałem Claude Code: "Jakie frazy wpisują właściciele małych firm usługowych szukający automatyzacji AI i systemów dla biznesu?" Zero płatnych narzędzi. Zero SEMRush. Zero Ahrefs.
Dostałem listę 32 fraz. Ale surowa lista to za mało - potrzebujesz wiedzieć CO zrobić z każdą frazą. Dlatego podzieliłem je na 6 kategorii intencji:
- Emergency - klient potrzebuje rozwiązania TERAZ ("automatyzacja obsługi klienta AI")
- Service - szuka dostawcy ("agencja AI dla firm", "wdrożenie AI w firmie")
- Problem - szuka odpowiedzi na konkretny problem ("jak zautomatyzować odpowiadanie na maile")
- Comparison - porównuje rozwiązania ("chatbot vs voicebot dla firmy")
- Local - szuka blisko ("automatyzacja AI Trójmiasto", "wdrożenie AI Gdańsk")
- Info - szuka edukacji ("co to jest AI agent", "ile kosztuje AI dla firmy")
Każda kategoria dyktuje jaki typ strony tworzę. Emergency i Service to landing pages z CTA na górze. Problem i Info to blog posty edukacyjne. Comparison to porównania z tabelkami. Local to strony z lokalnymi detalami.
Całość zapisałem do CSV z priorytetyzacją P0-P3 (P0 = najwyższy potencjał konwersji, zrób pierwszy).
Krok 2: Co to jest "skill" w Claude Code
Tu zaczyna się część która wyjaśnia DLACZEGO dałem radę zrobić 10 postów w jeden dzień zamiast jednego.
W Claude Code możesz stworzyć plik SKILL.md - to instrukcja którą AI czyta przed wykonaniem zadania. Pomyśl o tym jak o liście zadań dla pracownika. Zamiast powtarzać te same wymagania przy każdym poście ("użyj polskiego", "dodaj FAQ schema", "sprawdź SEO", "trzymaj się brand voice"), piszesz to raz w SKILL.md i od tej pory każde wywołanie /blog automatycznie stosuje te zasady.
Mój skill /blog ma:
- AIO-Ready Content Module - żeby Google AI Overviews mógł cytować moje posty
- Brand voice rules - ton DAIEN (bezpośredni, konkretny, bez korporacyjnego żargonu)
- 12-punktowa SEO checklista - od title tag po Core Web Vitals
- Sposób publikacji - Notion jako jedyne źródło prawdy (piszę tam, strona sama się aktualizuje)
Dzięki temu KAŻDY z 10 postów spełnia dokładnie te same standardy. Nie muszę ręcznie sprawdzać czy dodałem FAQ schema. Nie muszę pamiętać o alt textach. Nie muszę pilnować długości meta description. Skill pilnuje tego za mnie.
To jest różnica między "użyłem AI do napisania tekstu" a "zbudowałem maszynę która produkuje content na stałe".
Krok 3: AIO-Ready Content Module - żeby Google AI Overviews cię cytował
Google AI Overviews to odpowiedzi generowane przez AI na samej górze wyników Google - zanim zobaczysz tradycyjne linki. Jeśli Google zacytuje Twoją stronę w takiej odpowiedzi, zyskujesz widoczność nawet gdy ktoś nie kliknie.
Z SEO Playbook Willa Cannona (założyciel UpLead) wyciągnąłem konkretny moduł który dodaję do każdego posta. Dlaczego? Bo AI Overviews redukują organic CTR do 25% na informational queries (dane Kevin Indig). Tylko 8% userów klika linki gdy AI summary się pojawia (Pew Research, lipiec 2025). Jeżeli nie zoptymalizujesz contentu pod cytowanie przez AI, stracisz większość ruchu.
Moduł AIO-Ready w każdym poście:
- Direct Answer - 2-3 zdania odpowiadające na główne pytanie. Na samej górze, przed resztą treści. AI szuka odpowiedzi którą może bezpośrednio zacytować.
- Hierarchia H2 do H3 - content z konsystentną hierarchią nagłówków dostaje 40% więcej cytowań w AI Overviews (analiza Kevina Indiga na 546K+ AIO).
- FAQ schema - 4-8 pytań z JSON-LD markup. Google wyświetla je w "People Also Ask" i AI Overviews.
- Timestamp freshness - "Ostatnia aktualizacja: Maj 2026" blisko tytułu. AI preferuje świeży content.
- Źródła - footer z named sources. Daje wiarygodność i ułatwia AI weryfikację.
Każdy z 10 postów ma to wbudowane automatycznie przez skill. Nie dodaję tego ręcznie, nie zapominam.
Krok 4: Lighthouse - od 74 do 97 na mobilnych urządzeniach

Przed optymalizacją daien.pl miał wynik Lighthouse 74 na telefonie. Po jednym dniu pracy z Claude Code: 97. Lighthouse to darmowe narzędzie Google, które ocenia stronę w skali 0-100 pod kątem szybkości i jakości technicznej. Wynik ma znaczenie, bo Google pokazuje szybsze strony wyżej, a wolna strona traci klientów (ponad połowa ludzi zamyka stronę ładującą się dłużej niż 3 sekundy).
Co konkretnie naprawiłem:
- LoadingScreen overlay - miałem komponent ładowania który blokował renderowanie przez 3130ms. Cała strona czekała aż animacja się skończy zanim user zobaczy content. Usunięty.
- Responsive images - podmiana na format WebP, kompresja, dodanie width/height atrybutów (eliminuje CLS - Cumulative Layout Shift). Redukcja wagi obrazków o około 60%.
- Animacje compositable - zamiast animować `top/left` (które triggerują layout recalculation), przestawiłem na `transform` i `opacity` (GPU-accelerated).
- Kontrast tekstu - kilka miejsc nie spełniało WCAG AA (4.5:1 dla body text). Poprawiony.
Proces był banalny: odpalam Lighthouse w Chrome DevTools, kopiuję błędy, wklejam do Claude Code, piszę "napraw to". Claude czyta kod, identyfikuje problem, proponuje fix. Implementuję. Odpalam Lighthouse ponownie. Powtarzam.
Zerowy czas na szukanie "jak naprawić CLS w React" na Stack Overflow. Zero czytania dokumentacji. Copy-paste błędów, fix, verify.
Krok 5: llms.txt - żeby AI Ciebie widziało
llms.txt to nowy standard - plik w root Twojej strony który mówi LLM crawlerom (ChatGPT, Claude, Perplexity) czym jest Twoja firma, co robisz i jakie problemy rozwiązujesz.
Pomyśl o tym jak o robots.txt, ale dla AI zamiast dla Google bota. Tradycyjne crawlery czytają HTML. LLM crawlery też, ale llms.txt daje im skondensowaną, ustrukturyzowaną odpowiedź - szybciej, dokładniej, bez przedzierania się przez nawigację i stopkę.
Crawlery (czasem zwane botami) to programy, które automatycznie odwiedzają strony i czytają ich treść - tak Google, ChatGPT czy Claude dowiadują się co jest na Twojej stronie. Problem: większość nie uruchamia JavaScriptu, więc jeśli strona buduje treść dopiero w przeglądarce, crawler widzi pustą stronę.
Problem: daien.pl to React SPA (Single Page Application). Cały content renderuje się w przeglądarce przez JavaScript. LLMs nie wykonują JS - widzą pustą stronę z divem `<div id="root"></div>`. Twoja strona może mieć 32 podstrony i 10 blogów, ale dla AI crawlera to jest pusty HTML.
Rozwiązanie? Patrz krok 6.
Krok 6: Netlify Prerender Extension - wtyczka która cię otwiera na świat !!!
Netlify Prerender Extension rozwiązuje problem SPA. Działa tak: gdy bot (Google, ChatGPT, Perplexity) wysyła request do Twojej strony, Netlify rozpoznaje go po User-Agent i zamiast serwować surowy JS, renderuje stronę po stronie serwera i zwraca gotowy HTML.
Alternatywa dla tych co chcą więcej kontroli: vite-plugin-prerender. Generuje statyczne pliki .html at build time dla każdego route'a. Więcej pracy, ale nie potrzebujesz żadnego serwisu trzeciego.
Trzecia opcja - migracja na Next.js (SSR/SSG natywnie). Ale to dni pracy, nie godziny. Netlify Prerender dał mi 95% korzyść za 5% wysiłku.
Krok 7: Notion CMS - źródło prawdy
CMS (system zarządzania treścią) to narzędzie, w którym piszesz i edytujesz treść strony w jednym miejscu, bez dotykania kodu - strona aktualizuje się sama. Notion to popularny program do notatek i baz danych, którego używam jako CMS: piszę bloga w Notion, a system automatycznie publikuje go na daien.pl.
Posty nie żyją w plikach markdown gdzieś w repo. Żyją w Notion.
Pipeline wygląda tak:
- Notion Database - każdy post to wiersz z polami: Title, Slug, Status, Keywords, Description, Content
- Prebuild script (`fetch-blog-from-notion.mjs`) - przed każdym buildem ściąga posty ze statusem "Published"
- Generowanie strony - skrypt zamienia treść z Notion na gotowe elementy strony
- Vite build - tu Claude Code robi BRRRR i strona sama składa się w gotową paczkę do wrzucenia na serwer (Vite to narzędzie, które pakuje kod w szybką, gotową stronę).
- Publikacja na serwerze - po wrzuceniu zmian do repozytorium (miejsca gdzie trzymam kod) strona automatycznie aktualizuje się dla wszystkich
Efekt: ja edytuję post w Notion - formatowanie, poprawki, aktualizacje. Wrzucam zmiany do repozytorium, a strona sama się przebudowuje i gotowe. Notion jest jedynym źródłem prawdy, a kod tylko wyświetla to co tam napisałem.
Dlaczego nie CMS typu WordPress czy Contentful? Bo Notion już używam do wszystkiego - projekty, CRM, notatki. Jeden tool mniej w stacku. I jest darmowy.
Wynik: 10 postów w jeden dzień
Oto co opublikowałem:
- automatyzacja-obslugi-klienta-ai - "Automatyzacja obsługi klienta AI - chatbot, voicebot i systemy które działają 24/7"
- cold-emailing-b2b - "Cold emailing B2B - jak pisać maile które dostają odpowiedzi"
- ai-agent-dla-firmy - "AI agent dla firmy - co to jest, ile kosztuje i czy się opłaca"
- voicebot-ai-obsluga-telefonow - "Voicebot AI do obsługi telefonów - jak działa i ile kosztuje"
- jak-wdrozyc-ai-w-malej-firmie - "Jak wdrożyć AI w małej firmie - praktyczny przewodnik krok po kroku"
- automatyzacja-marketingu-ai - "Automatyzacja marketingu z AI - co możesz zautomatyzować już dzisiaj"
- chatbot-ai-dla-firmy-koszt - "Chatbot AI dla firmy - ile kosztuje i jak wybrać"
- generowanie-leadow-ai - "Generowanie leadów z AI - 5 metod które działają w 2026"
- crm-z-ai-automatyzacja - "CRM z AI - jak automatyzacja zmienia zarządzanie klientami"
- ai-dla-firm-uslugowych - "AI dla firm usługowych - konkretne zastosowania i wyniki"
Każdy post ma: AIO-Ready module, FAQ schema (JSON-LD), 3-5 internal links, 2-3 external links do autorytatywnych źródeł, responsive hero image w WebP, meta description 140-160 znaków.
Czas: około 6 godzin całościowo. Wliczając keyword research, Lighthouse optimization, llms.txt, Netlify Prerender setup i konfigurację Notion CMS pipeline.
Co bym zrobił inaczej
Uczciwie - pierwsze drafty AI zmyślały case studies. "Firma HVAC z Krakowa zwiększyła leady o 340%". Brzmi świetnie. Problem: to nie istnieje. Nie mam takiego klienta. Nie mam takich danych.
Poprawiłem to natychmiast. Każdy post teraz zawiera tylko dane które mogę zweryfikować - albo z publicznych źródeł (raporty Pew Research, analizy Kevina Indiga), albo z moich własnych danych (Lighthouse scores, liczba stron, czas pracy).
Druga lekcja: nie udawaj że coś już działa jak jest w budowie. Jeżeli system jest wdrożony u jednego klienta - napisz "u jednego klienta". Jeżeli dopiero testujesz - napisz "testuję". Czytelnik (i Google) w końcu to zweryfikuje. Lepiej być uczciwym od startu.
Trzecia: sprawdzaj KAŻDY fakt który AI generuje. Szczególnie liczby i procenty. AI ma tendencję do zaokrąglania w górę i tworzenia "ładnych" statystyk. 340% brzmi lepiej niż 12%, więc AI wybierze 340%.
FAQ
Czy potrzebuję umieć programować żeby to zrobić?+
Nie w tradycyjnym sensie. Musisz umieć rozmawiać z AI (pisać dobre prompty) i rozumieć co widzisz w kodzie na tyle, żeby wyłapać błędy. Ale nie musisz pisać kodu od zera. Claude Code pisze, Ty weryfikujesz.
Ile kosztuje cały stack?+
Claude Code - 20 USD/msc na start. Notion - darmowy tier wystarczy. Netlify - darmowy tier wystarczy (wliczając Prerender Extension). Domena - 40-80 PLN/rok. Łącznie: około 450 PLN/msc. Minus Claude Code: 0 zł.
Jak często aktualizować posty?+
Z SEO Playbook Willa Cannona: content BOFU (bottom of funnel, decyzyjny) aktualizuj co 3 miesiące. MOFU (środek funnela, edukacyjny) co 6 miesięcy. TOFU (top of funnel, awareness) co 12 miesięcy. Timestamp "Ostatnia aktualizacja" musi się zmieniać, bo AI preferuje świeży content.
Czy to działa dla każdej branży?+
Proces tak. Frazy będą inne. Jeżeli jesteś w lokalnej niszy usługowej (HVAC, dekarstwo, hydraulik, stomatolog) - masz ogromną przewagę. Konkurencja w SEO jest słaba (strony sprzed 10-15 lat), a ludzie nadal szukają w Google, nie w ChatGPT. 50 dobrych stron w takiej niszy to dominacja lokalna w tygodnie.
Źródła
- SEO Playbook, Will Cannon (UpLead) - AIO-Ready Content Module
- "How Claude Code Ranked Me FIRST on Google" - James, The Boring Marketer (YouTube)
- Kevin Indig - AI Overviews analysis (546K+ AIO, H2->H3 = 40% więcej cytowań)
- Pew Research, lipiec 2025 - 8% CTR gdy AI summary się pojawia
*Chcesz zobaczyć jaki system AI możesz zbudować dla swojego biznesu? Zrób quiz na [daien.pl/quiz](https://daien.pl/quiz) - zajmie 2 minuty, a dostaniesz spersonalizowaną rekomendację.*