· Case study · Software house · Next.js

WebComp.pl — score 9295 przez Selpio + Claude Code

Software house webcomp.pl (Next.js + NestJS + PostgreSQL) użył Selpio do wygenerowania mega-planu naprawy własnej strony, a następnie Claude Code IDE do zaimplementowania fixów w repo. Total time: ~30 minut na 3 iteracje. Bonus: po dogfood getmepost zidentyfikowano bug w backend parser FAQ Selpio (false positive dla accordion structures) — naprawiono w llm-seo-analyzer i webcomp dostało dodatkowy +1 score (schema 23 → 25 max). Każdy dogfood loop ulepsza analyzer dla wszystkich klientów platformy.

Score 92 → 95 / 100 good tier zachowany, llm_access + schema podniesione do max
Dimensions na max 4 z 7 structure, schema, llm_access, authority
Czas pracy ~30 min 3 iteracje: critical → warning → info
LLM koszt 0 zł tylko per-issue templates (Anthropic API nie był używany)

Stan początkowy: score 92/100, baseline 19 kwietnia 2026

Webcomp.pl już od początku miał "good" tier — schema.org Organization + LocalBusiness + Service obecne, FAQPage z 9 pytaniami, blog SEO z keywords.json. Ale dimensions semantyczne i Schema.org były na 22-23/25 zamiast max — strony marketing z fluff'em ("100% zadowolonych klientów"), nieprzepisane treści blogowe (błędy diakrytyczne), ogólne CTA bez konkretów.

Cel: dogfood Selpio — pokazać że własne narzędzie podnosi własną infrastrukturę. Plus walidacja workflow "klient + Claude Code IDE + per-issue prompty".

Krok 1: Wygenerowanie mega-planu w Selpio (3 minuty)

Plan Agency (299 zł/mc) ma dostęp do generatora mega-planu. Workflow:

  1. Otwórz raport app.selpio.com/r/{hash} dla webcomp.pl.
  2. Sekcja "Naprawa przez Claude Code" → przycisk 🤖 Wygeneruj plan naprawy całej strony.
  3. Modal otwiera się, AI generuje plan markdown w ~25 sekund (Anthropic Claude Sonnet 4.6, max_tokens 2500).
  4. Stack picker auto-detected: nextjs. Plan zawiera ścieżki plików dopasowane do Next.js (np. app/components/HeroSection.tsx a nie generyczne "znajdź plik").
  5. Klik 📋 Skopiuj plan dla Claude Code — markdown w clipboardzie.

Mega-plan dla webcomp zawierał 7 numerowanych kroków (z 5-10 maks): usunięcie niezweryfikowanych claims, korekta błędów diakrytycznych w KB, synchronizacja FAQ Schema z HTML, rozszerzenie odpowiedzi FAQ o timeline'y, definicja "MVP" przy pierwszym użyciu, rozszerzenie LocalBusiness Schema, pogłębienie case studies o kontekst branżowy.

Krok 2: Iteracja 1 — implementacja w Claude Code IDE (~15 min)

Otwarcie repo webcomp-www w Claude Code (claude.com/claude-code). Wklejenie skopiowanego mega-planu w czat. Claude Code samodzielnie:

Konkretne fixy z iteracji 1 (commit 61424a5):

Build Next.js zielony (12 routes static + SSG). Tests: 17/17 passing. bash deploy.sh → rsync na shared host produkcyjny. Smoke curl https://webcomp.pl/ HTTP/2 200.

Krok 3: Re-crawl (iteracja 1 wynik)

Skasowanie cache w Selpio DB, fresh crawl: score 92 → 92 (stable). Wymiary się przebalansowały — schema 22→23, ale rozszerzona treść (FAQ z timeline'ami, case studies) dała analizator semantyki więcej tekstu do oceny, co podniosło różne warning subjective. Net 0.

Ważne: headline issues znacząco się oczyściły. Wszystkie 7 fixów z mega-planu zostały zaadresowane — analyzer nie flaguje już nieweryfikowalnych claims, błędów diakrytycznych, ani niekompletnego LocalBusiness schema. Pozostały głównie subjective semantic warnings i 1-2 info.

Krok 4: Iteracja 2 — info issues + parser fix (~10 min)

Z raportu po iter 1 wybrano 5 issues (1 warning + 4 info) wymagających strukturalnych zmian:

Drugi bash deploy.sh. Re-crawl: SCORE 92 → 94 (+2). Dimensions: structure 25/25 (max), schema 23/25, llm_access 23 → 25 (max!), seo 19/20, authority 25/25 (max). SHALLOW_CONTENT downgrade warning → info. ALE schema utknęło na 23/25 — analyzer flagował FAQ_SCHEMA_MISMATCH mimo że FAQPage JSON-LD był poprawny. Powód: parser szukał <p> jako bezpośredni sibling <h3>, ale w accordion struct FAQSection h3 jest wewnątrz <button> → false positive.

Bonus iteracja: backend FAQ parser fix → schema 23 → 25 MAX

Po analogicznym dogfood case getmepost.com (gdzie ten sam bug objawiał się głębiej) wprowadziłem fix do backend Selpio. Parser FAQ teraz ma 3-level escalation:

  1. Level 1: sibling pattern<h3>Q?</h3><p>A</p> (markdown/prose)
  2. Level 2: accordion — h3 w <button>, p w next <div> wrapper (webcomp pattern)
  3. Level 3: deeper nested — h3 → button → div.trigger → outer div.faq-item (getmepost pattern)

Helper findParagraphInSiblings szuka <p> w siblings + nested descendants. Stop conditions: znajdź <p>, znajdź kolejny heading, koniec siblings. Commit 6057d4a, +6 testów accordion patterns (suite 1502 → 1508). Re-crawl webcomp.pl po backend deploy: SCORE 94 → 95 (+1), schema 23 → 25 MAX, FAQ_SCHEMA_MISMATCH znikło.

Strategiczna wartość dogfood: bug ujawniony w jednej dogfood iteracji (webcomp iter 2) → naprawiony dzięki kolejnej (getmepost iter 2) → korzyść dla wszystkich klientów Selpio używających accordion UI (większość modern landing pages w React/Vue/Svelte).

Porównanie dimensions baseline → po dwóch iteracjach + backend bonus

Wymiar Baseline Iter 1 Iter 2 + Backend fix Max
structure 22 25 25 25 MAX ✓ 25
schema 22 23 23 25 MAX ✓ +2 bonus 25
semantics 19 19 19 19 25
llm_access 23 23 25 25 MAX ✓ 25
seo 19 19 19 19 20
authority 25 25 25 25 MAX ✓ 25
technical_seo 16 16 16 16 20
content_schema_candidates 0 50 50 50 100
TOTAL 92 92 94 95 100

Bonus: 4 backend improvements w Selpio z dogfood feedback

Podczas tych 2 iteracji odkryliśmy 4 false positives i missing prompts w naszym własnym analyzerze. Każdy stał się commitem w Selpio backend repo:

+18 nowych testów backend (image alt, schema whitelist, questionsMatch fuzzy). Suite 1484 → 1502. Wszystkie klienci Selpio dostają teraz dokładniejszą analizę dzięki temu dogfood loopowi.

Co z tego wynika dla Twojej firmy?

🚀 Wygeneruj raport dla swojej strony Zobacz plan Agency (mega-plan)