seo
Kompleksowy audyt SEO i konwersji dowolnej strony internetowej — technical, content, E-E-A-T, schema, GEO/AEO, Core Web Vitals + audyt konwersji landing page (14 checkpointów, brand maturity). Używaj przy "audyt SEO", "sprawdź SEO", "zoptymalizuj pod Google", "analiza strony", "pozycjonowanie", "SEO audit", "check SEO", "on-page SEO", "schema markup", "E-E-A-T", "audyt landing page", "konwersja strony", "sprawdź landing page", "conversion audit", "CTA audit". Auto-aktywacja gdy kontekst dotyczy optymalizacji stron pod wyszukiwarki lub konwersji. NIE używaj do zarządzania kampaniami Google Ads — od tego jest osobny skill.
SEO Auditor
Skill do przeprowadzania audytów SEO z poziomu Claude Code. Działa na dowolnym URL bez potrzeby konfiguracji — wystarczy adres strony.
Kiedy używać
- Użytkownik prosi o audyt SEO strony
- Analiza techniczna strony (robots.txt, sitemap, canonical, HTTPS)
- Ocena jakości treści pod kątem E-E-A-T
- Walidacja lub generowanie schema markup (JSON-LD)
- Optymalizacja pod AI search (GEO/AEO — Google AI Overviews, ChatGPT, Perplexity)
- Analiza Core Web Vitals
- Generowanie planu optymalizacji SEO
- Audyt hreflang dla stron wielojęzycznych (PL/EN)
Komendy
/seo audit <url> — pełny audyt strony (równoległe subagenty)
/seo page <url> — szybka analiza pojedynczej strony
/seo technical <url> — audyt techniczny (9 kategorii)
/seo content <url> — analiza treści + E-E-A-T
/seo schema <url> — walidacja i generowanie schema markup
/seo geo <url> — optymalizacja pod AI search
/seo plan <typ-branży> — strategiczny plan SEO (saas|local|ecommerce|publisher|agency)
/seo conversion <url> — audyt konwersji landing page (14 checkpointów, brand maturity)
/seo hreflang <url> — audyt wielojęzyczności
Instrukcje
/seo audit <url> — Pełny audyt
- Fetch strony głównej — pobierz HTML, wykryj typ biznesu (SaaS/local/ecommerce/publisher/agency)
- Odkryj podstrony — przeszukaj sitemap.xml, robots.txt, linki wewnętrzne (max 50 stron)
- Deleguj do subagentów RÓWNOLEGLE (użyj Agent tool z 3 agentami jednocześnie):
agents/technical-audit.md— technical SEO (9 kategorii)agents/content-audit.md— treść + E-E-A-T + AI detectionagents/geo-audit.md— AI search readiness + GEO
- Agreguj wyniki — oblicz SEO Health Score (0-100)
- Wygeneruj raport z priorytetyzowanymi rekomendacjami
Scoring (wagi):
| Kategoria | Waga |
|---|---|
| Technical SEO | 22% |
| Content Quality (E-E-A-T) | 23% |
| On-Page SEO | 20% |
| Schema / Structured Data | 10% |
| Performance (CWV) | 10% |
| AI Search Readiness (GEO) | 10% |
| Obrazy | 5% |
Format wyjścia:
# Audyt SEO: [domena]
Data: [YYYY-MM-DD]
## Wynik ogólny: [X]/100 — [etykieta]
## Podsumowanie
[3-5 zdań: najważniejsze ustalenia i rekomendacje]
## Wyniki kategorii
| Kategoria | Wynik | Status |
|-----------|-------|--------|
| Technical | XX/100 | 🟢/🟡/🔴 |
| Content | XX/100 | 🟢/🟡/🔴 |
| ... | ... | ... |
## Krytyczne problemy (napraw natychmiast)
1. [Problem] — [Wpływ] — [Rozwiązanie]
## Wysokie priorytety (napraw w ciągu tygodnia)
...
## Średnie priorytety (napraw w ciągu miesiąca)
...
## Niskie priorytety (backlog)
...
## Plan działania
[Priorytetyzowana lista kroków z szacowanym effort/impact]
/seo page <url> — Szybka analiza jednej strony
Bez subagentów — bezpośrednia analiza:
- Fetch HTML strony (Firecrawl lub WebFetch)
- Sprawdź:
- Title tag (≤60 znaków, zawiera keyword)
- Meta description (≤160 znaków)
- Canonical URL (czy istnieje, czy prawidłowy)
- H1 (dokładnie 1, zawiera keyword)
- Hierarchia nagłówków (H1→H2→H3, bez pominięć)
- Linki wewnętrzne (min. 3)
- Linki zewnętrzne (min. 1)
- Obrazy bez alt text
- Word count (min. wg typu strony — patrz references/quality-gates w eeat-framework.md)
- Schema markup (obecność, typ, walidność)
- Open Graph tags
- Core Web Vitals (jeśli dostępne przez API)
- Oceń (0-100) i wylistuj issues z priorytetami
/seo technical <url> — Audyt techniczny
Deleguj do agents/technical-audit.md. 9 kategorii:
- Crawlability (robots.txt, meta robots, X-Robots-Tag)
- Indexability (canonical, noindex, sitemap coverage)
- Security (HTTPS, HSTS, mixed content)
- Core Web Vitals (LCP ≤2.5s, INP ≤200ms, CLS ≤0.1)
- URL structure (czyste URL, bez parametrów, max 3 poziomy)
- Mobile-friendliness (viewport, font-size, tap targets)
- JavaScript SEO (SSR vs CSR, canonical conflicts, structured data timing)
- Redirecty (łańcuchy, 302→301, loops)
- Internacjonalizacja (hreflang, lang attr, content-language)
/seo content <url> — Analiza treści + E-E-A-T
Deleguj do agents/content-audit.md. Ocena wg E-E-A-T framework (szczegóły: references/eeat-framework.md):
- Experience (20%) — first-hand knowledge, case studies, oryginalność
- Expertise (25%) — kwalifikacje autora, dokładność techniczna
- Authoritativeness (25%) — cytowania zewnętrzne, rozpoznawalność
- Trustworthiness (30%) — kontakt, bezpieczeństwo, transparentność
Dodatkowe checks:
- Readability PL — Flesch Reading Ease zaadaptowany do polskiego:
- Formuła:
206.835 - 1.015 × (words/sentences) - 84.6 × (syllables/words) - Heurystyka sylab PL: policz samogłoski (a,ą,e,ę,i,o,ó,u,y); korekty: "ia","ie","iu" = 1 sylaba
- Target: 70-80 (optymalny) | 60-70 OK dla B2B | <60 za trudny | >80 za łatwy
- Formuła:
- Thin content detection (próg: patrz eeat-framework.md)
- AI content markers (generic phrasing, brak unikalnej perspektywy)
- Keyword density (1-3%, bez keyword stuffing)
/seo schema <url> — Schema markup
- Wykryj istniejący JSON-LD, Microdata, RDFa
- Waliduj — sprawdź wymagane pola, deprecated types (patrz
references/schema-types.md) - Zaproponuj brakujące schema na bazie typu strony
- Wygeneruj gotowy JSON-LD do wklejenia
UWAGA: FAQ schema ograniczone od Aug 2023 — tylko strony rządowe/medyczne. HowTo deprecated od Sept 2023. Pełna lista: references/schema-types.md.
/seo geo <url> — AI Search Readiness
Deleguj do agents/geo-audit.md. Sprawdza gotowość na AI search:
- AI Crawler Access — GPTBot, ClaudeBot, PerplexityBot, Bytespider, Google-Extended w robots.txt
- llms.txt — obecność i kompletność pliku
/llms.txt - Citability Score — optymalny fragment 134-167 słów, structural readability
- Brand Mentions — YouTube (0.737 korelacja), Reddit, Wikipedia, LinkedIn
- Structured Readability — nagłówki, listy, tabele ułatwiające ekstrakcję AI
/seo plan <typ> — Strategiczny plan SEO
Typy branżowe: saas, local, ecommerce, publisher, agency
Generuj plan zawierający:
- Audyt wstępny — key findings
- Quick wins (tydzień 1-2) — meta tagi, schema, technical fixes
- Fundament (miesiąc 1) — content strategy, keyword research, site structure
- Growth (miesiąc 2-3) — content creation, link building strategy, local SEO
- Scale (miesiąc 4-6) — programmatic SEO, advanced schema, international
- Monitoring — KPI, narzędzia, częstotliwość raportów
/seo conversion <url> — Audyt konwersji landing page
Analiza first screen (above the fold) pod kątem konwersji cold traffic. 14 checkpointów, scoring 0-140 (normalizowany do %).
Inspiracja: Landing Page Doctor (JackChen-me) — zaadaptowane do polskiego rynku.
Krok 1: Capture
Użyj Playwright MCP do zrobienia screenshotów:
- Desktop (1440×900) —
browser_navigate→browser_take_screenshot - Mobile (375×812) —
browser_resize→browser_take_screenshot - Zbierz dane strony —
browser_snapshot→ wyciągnij: headline, subheadline, CTA (tekst + href), nav items, trust elements, product visuals, pricing signals
Krok 2: Klasyfikacja
2a. Typ strony:
| Typ | Trust anchors które liczą się najbardziej |
|---|---|
| A. Indie tool / SaaS | GitHub stars, PH ranking, liczba użytkowników |
| B. Enterprise B2B | Loga klientów, certyfikaty, case studies |
| C. E-commerce / Consumer | Recenzje, wolumen sprzedaży, social proof |
| D. Content / Marka osobista | Kwalifikacje, media mentions, followersów |
2b. Dojrzałość marki (WYMAGANE):
| Poziom | Sygnały | Wpływ na interpretację |
|---|---|---|
| 🟢 Znana | Rozpoznawalna marka, wysoki organic/referral | Niskie trust scores mniej krytyczne |
| 🟡 Rosnąca | Pewne rozpoznanie w niszy | Trust ważny ale nie decydujący |
| 🔴 Nieznana | Nowy produkt, cold traffic, brak rozpoznawalności | Trust i commitment scores są KRYTYCZNE |
Krok 3: 14 checkpointów (feature detection Y/N)
Każdy checkpoint = 0-10 punktów. Metoda: obiektywne Y/N checke (nie subiektywna ocena).
Reguła anty-inflacji: Jeśli wszystkie sub-checki technicznie przechodzą, ale intencja checkpointu jest ewidentnie niespełniona → zastosuj -2 "reality check" i udokumentuj dlaczego.
A. Komunikacja wartości (max 40 pkt)
#1. Nagłówek — propozycja wartości (0-10)
| # | Check | Y=2 / N=0 |
|---|---|---|
| a | Zawiera "Ty/Twój/Twoja" lub zwraca się bezpośrednio do czytelnika? | |
| b | Zawiera konkretną liczbę, czas lub wymierny rezultat? | |
| c | Wolny od żargonu technicznego jako główny przekaz? (API, SaaS = fail chyba że dev audience) | |
| d | Zawiera czasownik akcji (oszczędź/zapomnij/przestań/stwórz/zbuduj/zacznij)? | |
| e | Długość 10-30 polskich znaków lub 5-15 angielskich słów? |
Anty-inflacja: animowane/rotujące słowa → każdy wariant musi sam w sobie mieć sens, inaczej -2. Formuła rewrite: [Ból użytkownika] + [Rezultat po użyciu produktu]
#2. Klarowność 5-sekundowa (0-10)
| # | Check | Y=2 / N=0 |
|---|---|---|
| a | Nagłówek + podnagłówek razem odpowiadają "co mi to daje"? | |
| b | Max 1 główny koncept na first screen? | |
| c | Podnagłówek obecny i daje dodatkowy kontekst (nie powtarza nagłówka)? | |
| d | Kategoria produktu jasna bez wiedzy wstępnej? | |
| e | Język dopasowany do słownictwa grupy docelowej? |
#3. Zakotwiczenie grupy docelowej (0-10)
| # | Check | Y=2 / N=0 |
|---|---|---|
| a | Grupa docelowa nazwana na first screen ("dla founders / dla małych firm / dla zespołów")? | |
| b | Ból/use case mówi do specyficznej grupy (nie "każdy kto chce...")? | |
| c | Język/przykłady odzwierciedlają świat grupy docelowej? | |
| d | Social proof (jeśli jest) pokazuje ludzi z grupy docelowej? | |
| e | Odwiedzający może się zidentyfikować ("to jest dla mnie") w 5 sekund? |
Cap: Jeśli grupa docelowa nigdzie nie jest wspomniana → max 2.
#4. Gęstość informacyjna first screen (0-10)
| # | Check | Punkty |
|---|---|---|
| a | Tylko 3 elementy: nagłówek + visual + CTA? | +4 |
| b | 4-5 elementów (lekko zajęte ale przekaz jasny)? | +2 |
| c | 6+ bloków? | +0 |
| d | Wystarczający whitespace? | +3 |
| e | Brak konkurujących targetów konwersji (1 primary CTA)? | +3 |
Anty-inflacja: 15+ bloków na first screen → whitespace max +1 niezależnie od wrażenia.
B. Prowadzenie do akcji (max 30 pkt)
#5. Widoczność CTA (0-10)
| # | Check | Y=2 / N=0 |
|---|---|---|
| a | CTA widoczne w górnej połowie first screen? | |
| b | Kolor CTA kontrastuje z tłem I jest najwyraźniejszym klikalnym elementem? | |
| c | CTA to przycisk (nie link tekstowy)? | |
| d | Jeden primary CTA o najwyższej wadze wizualnej? | |
| e | Rozmiar CTA wystarczający (min ~120px szerokości)? |
Anty-inflacja: 2+ CTA o podobnej wadze wizualnej (oba wypełnione kolorem, podobny rozmiar) → d=N=0.
#6. Tekst CTA (0-10)
| # | Check | Y=2 / N=0 |
|---|---|---|
| a | Tekst CTA zawiera konkretny czasownik (NIE "Dowiedz się więcej/Sprawdź")? | |
| b | CTA opisuje co się stanie po kliknięciu ("Zacznij za darmo/Zobacz demo")? | |
| c | CTA brzmi low-commitment (za darmo, bez karty, natychmiast)? | |
| d | Micro-copy przy CTA redukuje barierę WEJŚCIA? "Bez podawania karty" — sam "Możesz anulować" to bariera WYJŚCIA, nie wejścia → N=0 | |
| e | Tekst CTA ≤8 polskich słów lub ≤5 angielskich? |
#7. Redukcja zobowiązania (0-10)
| # | Check | Y=2 / N=0 |
|---|---|---|
| a | Free tier lub trial wymieniony na first screen? | |
| b | "Bez karty kredytowej / bez rejestracji" obecne? | |
| c | Time-to-value zakomunikowany ("2 minuty setup / gotowe w 30 sekund")? | |
| d | Odwracalność zasygnalizowana ("Anuluj w dowolnym momencie")? | |
| e | Brak agresywnego pricingu / presji zakupu na first screen? |
C. Zaufanie i dowody (max 30 pkt)
#8. Obecność dowodów zaufania (0-10)
| # | Element | Punkty |
|---|---|---|
| a | Konkretna liczba użytkowników TEGO produktu ("2000+ firm korzysta") | +3 |
| b | Realna recenzja z weryfikowalną tożsamością (imię+firma LUB link do profilu LUB zdjęcie) | +3 |
| c | GitHub stars / PH ranking / nagrody | +2 |
| d | Loga klientów lub wzmianki mediów | +2 |
| e | Badge'e bezpieczeństwa / certyfikaty | +1 |
Zero elementów trust = 0 punktów. Max 10. Ostrzejsza reguła: @handle bez linka weryfikacyjnego → połowa punktów (+1 zamiast +3).
#9. Autentyczność zaufania (0-10)
| # | Check | Y=2 / N=0 |
|---|---|---|
| a | Trust elements zawierają konkretne, weryfikowalne szczegóły? | |
| b | Recenzje brzmią autentycznie I mają zróżnicowaną strukturę? (3+ recenzji o identycznej strukturze zdań → N=0) | |
| c | Liczby wiarygodne i specyficzne (nie podejrzanie okrągłe "10000+")? | |
| d | Trust elements wizualnie zintegrowane (nie ukryte)? | |
| e | Min 1 trust element z prawdziwą twarzą lub weryfikowalną tożsamością? |
#10. Wizualizacja produktu (0-10)
| # | Check | Y=2 / N=0 |
|---|---|---|
| a | Screenshot / UI mockup / interfejs widoczny na first screen? | |
| b | Screenshot pokazuje realistyczny stan (nie pusty/placeholder)? | |
| c | Video demo, GIF lub interaktywny preview dostępny na first screen lub 1 klik dalej? | |
| d | Visual jasno komunikuje główną funkcjonalność (nie dekoracyjna ilustracja)? | |
| e | Visual odpowiada temu co user zobaczy po rejestracji (nie aspiracyjna grafika)? |
Cap: ZERO wizualizacji produktu na first screen → max 2. Dlaczego: "Show don't tell" — screenshot/GIF → +30-50% konwersji vs sam opis tekstowy.
D. Gotowość konwersyjna (max 20 pkt)
#11. Widoczność ceny (0-10)
| # | Check | Y=2 / N=0 |
|---|---|---|
| a | Cennik gdziekolwiek na stronie (nie musi być first screen)? | |
| b | Konkretne ceny widoczne (nie tylko "przystępna cena" / "skontaktuj się")? | |
| c | Free tier wyraźnie odróżniony od płatnych planów? | |
| d | Strona z cenami dostępna w 1 klik z nawigacji? | |
| e | "Kontakt po cennik" NIE jest jedyną ścieżką (dla narzędzi targetujących SMB/indie)? |
Cap: Link "Cennik" w nav prowadzi do strony bez cen → max 3. Złamanie obietnicy GORSZE niż brak linka. Kontekst: 🟢 Znana marka → niska widoczność cen bardziej akceptowalna. 🔴 Nieznana → ukryta cena = "pewnie drogo" = bounce.
#12. Spójność ścieżki CTA (0-10)
| # | Check | Y=2 / N=0 |
|---|---|---|
| a | Wszystkie CTA signup/start prowadzą do tego samego celu (nie mieszają /signin vs /signup)? | |
| b | Tekst CTA odpowiada temu co się dzieje po kliknięciu ("Zacznij za darmo" nie prowadzi do cennika)? | |
| c | Brak martwych linków z first screen CTA? | |
| d | Secondary CTA prowadzą do sensownej treści (nie generic anchor scroll)? | |
| e | CTA w nawigacji i CTA w hero — spójny język i ten sam cel? |
E. Technika (max 20 pkt)
#13. Responsywność mobile (0-10)
| # | Check | Y=2 / N=0 |
|---|---|---|
| a | CTA widoczne na mobile first screen bez scrollowania? | |
| b | Tekst czytelny (min ~14px)? | |
| c | Brak horizontal overflow / obciętych elementów? | |
| d | Tap targets odpowiedniej wielkości i rozstawienia? | |
| e | Layout adaptuje się (nie jest zmniejszonym desktopem)? |
#14. Czytelność tekstu first screen (0-10)
| # | Check | Y=2 / N=0 |
|---|---|---|
| a | Nagłówek wolny od niewyjaśnionych skrótów/akronimów? | |
| b | Żaden paragraf na first screen > 2 linii? | |
| c | Hierarchia wizualna jasna (nagłówek > podnagłówek > body, wyraźne rozmiary)? | |
| d | Odpowiedni line-spacing i letter-spacing? | |
| e | Wystarczający kontrast tekst vs tło? |
Krok 4: Interpretacja kontekstowa (WYMAGANE)
Surowe punkty to fakty obiektywne. Interpretacja mówi co z nimi ZROBIĆ.
Macierz interpretacji — dojrzałość marki × kategoria:
| Kategoria | 🟢 Znana | 🟡 Rosnąca | 🔴 Nieznana |
|---|---|---|---|
| A. Wartość (#1-4) | Niski wynik przeżywalny | Umiarkowany wpływ | KRYTYCZNY — cold traffic = zero kontekstu |
| B. Akcja (#5-7) | Mniej istotne (direct traffic) | Ważne | KRYTYCZNY — user musi wiedzieć co robić w 5s |
| C. Zaufanie (#8-10) | Akceptowalne — marka = trust | Ważne | DECYDUJĄCE — zero trust = zero konwersji |
| D. Konwersja (#11-12) | Tolerowalne | Ważne | KRYTYCZNY — ukryta cena / złamane CTA = bounce |
| E. Technika (#13-14) | Tak samo | Tak samo | Tak samo |
Zawsze dołącz sekcję "Gdybyś był indie developerem" — niezależnie od marki analizowanej strony. Reinterpretuj wyniki z perspektywy nieznanej marki + cold traffic.
Krok 5: Raport
# Audyt konwersji landing page: [domena]
Data: [YYYY-MM-DD]
## Klasyfikacja
- **Typ strony**: [A/B/C/D + nazwa]
- **Dojrzałość marki**: [🟢/🟡/🔴 + nazwa]
- **Wynik**: [X]/140 ([Y]%) — ocena [S/A/B/C/D]
## Wyniki kategorii
| Kategoria | Wynik | Max | Status |
|-----------|-------|-----|--------|
| A. Komunikacja wartości | X | 40 | 🟢/🟡/🔴 |
| B. Prowadzenie do akcji | X | 30 | 🟢/🟡/🔴 |
| C. Zaufanie i dowody | X | 30 | 🟢/🟡/🔴 |
| D. Gotowość konwersyjna | X | 20 | 🟢/🟡/🔴 |
| E. Technika | X | 20 | 🟢/🟡/🔴 |
## Szczegółowa diagnoza
[14 checkpointów: aktualny stan → problem → sugerowane rewrite A/B]
## Interpretacja
### Co naprawdę znaczą te wyniki
[Kontekst brand maturity — które wyniki są zawyżone/zaniżone]
### Gdybyś był indie developerem / nieznaną marką
[ZAWSZE wymagane — reinterpretacja z perspektywy cold traffic]
### Co warto skopiować z tej strony
[2-3 silne strony niezależne od brand maturity]
## Gdybyś mógł zmienić tylko jedną rzecz
[Najwyższy ROI — z konkretnym rewrite]
## Top 3 priorytety
1. [Posortowane wg wpływu na konwersję]
2. ...
3. ...
Grading: S(90%+) A(80-89%) B(70-79%) C(60-69%) D(<60%)
Priorytetyzacja rekomendacji (wg ROI):
- Dodaj wizualizację produktu (jeśli #10 < 5)
- Przepisz nagłówek (jeśli #1 < 7)
- Popraw CTA (jeśli #5 lub #6 < 7)
- Dodaj trust anchor (jeśli #8 < 5)
- Pokaż cennik (jeśli #11 < 5)
- Usuń clutter (jeśli #4 < 7)
- Zakotwicz grupę docelową (jeśli #3 < 5)
- Napraw ścieżki CTA (jeśli #12 < 7)
- Fix mobile (jeśli #13 < 7)
- Zmniejsz zobowiązanie (jeśli #7 < 7)
/seo hreflang <url> — Audyt wielojęzyczności
- Wykryj implementację hreflang (HTML link, HTTP header, sitemap)
- Sprawdź: return tags, x-default, self-referencing, language codes
- Wykryj konflikty z canonical
- Zaproponuj poprawki
Priorytety issues
| Poziom | Definicja | Timeframe |
|---|---|---|
| Critical | Blokuje indeksowanie lub powoduje kary | Natychmiast |
| High | Znacząco wpływa na rankingi | 1 tydzień |
| Medium | Okazja optymalizacji | 1 miesiąc |
| Low | Nice to have | Backlog |
Integracja z istniejącym projektem SEO
Jeśli masz już projekt SEO z Edge Functions i Supabase:
- Wykorzystaj istniejące endpointy do audytu on-page
- Dane zapisuj do swojej bazy (tabele audytowe)
- Raport generuj przez dedykowaną Edge Function
- Klucze API do zewnętrznych serwisów SEO przechowuj w
.env.local
W innych projektach: działaj samodzielnie z Firecrawl/WebFetch.
Anty-wzorce SEO (explicit deny list)
Generując lub audytując SEO — NIGDY nie rób:
- ❌ Meta descriptions z "Sprawdź naszą ofertę" / "Zapraszamy do kontaktu" — generyczne CTA bez wartości
- ❌ Title tagów >60 znaków polskich — polskie znaki (ą,ę,ó) zajmują więcej pikseli, celuj w ≤55
- ❌ Keyword stuffingu w H1 — max 1 fraza kluczowa, naturalnie
- ❌ Alt tekstów "obrazek" / "zdjęcie" / "foto" / "image" — opisz CO jest na obrazku
- ❌ Schema markup bez weryfikacji w Rich Results Test — nie zakładaj poprawności
- ❌ Canonical URL z trailing slash i bez — zdecyduj się na jeden format i trzymaj go
- ❌ Wielu H1 na stronie — dokładnie jeden H1 per strona
- ❌ Hreflang bez x-default — zawsze dodaj fallback
- ❌ Polskich znaków diakrytycznych w URL slugach — używaj transliteracji (ą→a, ł→l)
- ❌ FAQ schema na stronach biznesowych — Google ograniczyło do rządowych/medycznych (2023+)
Pułapki
1. FAQ schema — ograniczenie od sierpnia 2023
Google ograniczyło FAQ rich results do stron rządowych i medycznych. NIE rekomenduj FAQ schema dla zwykłych stron biznesowych — zostanie zignorowane.
2. HowTo schema — deprecated od września 2023
Google przestało wyświetlać HowTo rich results. NIE rekomenduj implementacji HowTo schema.
3. FID → INP — zamiana od marca 2024
First Input Delay (FID) została całkowicie usunięta 9 września 2024. Zawsze używaj INP (Interaction to Next Paint). Próg: ≤200ms good, >500ms poor.
4. Mobile-First Indexing — 100% od lipca 2024
Google crawluje WSZYSTKIE strony wyłącznie mobile Googlebot. Desktop-only treści są niewidoczne.
5. AI content — Google akceptuje, ALE z E-E-A-T
AI-generated content jest OK jeśli wykazuje genuine E-E-A-T. Flaguj jako niskiej jakości TYLKO gdy: brak unikalnej perspektywy, generic phrasing, błędy faktyczne.
6. Google-Extended ≠ Google Search
Google-Extended w robots.txt blokuje TYLKO trening Gemini, NIE indeksowanie przez Googlebot. Nie blokuj Googlebot myśląc, że blokujesz AI.
7. Canonical conflicts z JavaScript
Jeśli surowy HTML ma inny canonical niż JS-injected, Google może użyć każdego z nich. Zawsze sprawdzaj ZARÓWNO źródło HTML jak i wyrenderowaną stronę.
8. Polski rynek — specyfika
- Senuto i Semstorm jako narzędzia referencyjne (oprócz globalnych)
- Polskie znaki diakrytyczne w URL — unikaj, używaj transliteracji
- Domena .pl preferowana przez użytkowników, ale nie wpływa na ranking Google
- Google.pl = ten sam algorytm co google.com z lokalizacją
9. noindex w surowym HTML
Jeśli noindex jest w initial HTML, Google go honoruje nawet jeśli JS go usuwa. Zawsze sprawdzaj raw HTML response.
10. Structured data timing
Schema w initial HTML > schema injected via JS. Opóźnienie JS może sprawić, że Googlebot nie zobaczy schema.
Aliasy komend (PL + EN)
| PL | EN | Akcja |
|---|---|---|
/seo audyt <url> | /seo audit <url> | Pełny audyt |
/seo strona <url> | /seo page <url> | Analiza 1 strony |
/seo techniczny <url> | /seo technical <url> | Audyt techniczny |
/seo treść <url> | /seo content <url> | Analiza treści |
/seo schemat <url> | /seo schema <url> | Schema markup |
/seo konwersja <url> | /seo conversion <url> | Audyt konwersji LP |
/seo plan <typ> | /seo plan <type> | Plan strategiczny |
Dodatkowe zasoby
- Core Web Vitals thresholds: references/cwv-thresholds.md
- E-E-A-T framework + polskie benchmarki: references/eeat-framework.md
- Schema types (aktywne/deprecated): references/schema-types.md
- GEO/AEO optymalizacja: references/geo-optimization.md
- SERP features (aktywne/deprecated): references/serp-features.md
- Content length benchmarks wg typu strony: references/content-length-benchmarks.md
- Kontekst marketingowy projektu: skill
product-marketing-context→ generujeseo-guidelines.md,target-keywords.md