Claude Code + Google Search Console: Automatická Console Automatická SEO analýza analýza pro firmy
Představte si, že každé pondělí ráno dostanete report s přesnými daty o tom, které stránky vašeho webu ztrácejí pozice ve vyhledávačích, která klíčová slova stojí za optimalizaci, a kde máte prolomeny interní odkazy. Žádné manuální proklikávání Google Search Console, žádné exporty do Excelu. Vše probíhá automaticky — a za tím stojí AI agent, který umí nejen sbírat data, ale i navrhovat konkrétní opravy.
Kombinace Claude Code a Google Search Console API dává firmám možnost vybudovat si vlastní SEO analytický pipeline, který běží nezávisle a s minimálními náklady. V tomto průvodci si ukážeme, jak na to krok za krokem — včetně kompletního kódu, který můžete zkopírovat a nasadit.
Proč automatizovat SEO analýzu
Manuální SEO analýza má tři zásadní problémy, které stojí firmy čas i peníze:
- Je pomalá. Proklikat se přes GSC rozhraní, stáhnout reporty a porovnat období trvá i hodinu — a to jen pro jeden web. Pokud spravujete více domén, násobí se to.
- Nikdo to nedělá pravidelně. SEO není urgentní záležitost, takže se na něj snadno zapomene. Mezitím klíčová slova klesají v SERPu a vy o tom ani nevíte.
- Chybí kontext. GSC vám ukáže čísla — impressions, CTR, pozice. Ale neřekne vám, proč stránka padá, ani co s tím dělat.
AI agent tuto bariéru ruší. Umí číst data, chápat kontext (například že stránka s vysokými impressemi a nulovým CTR potřebuje lepší title tag), a generovat konkrétní doporučení v češtině.
Kdy se automatizace vyplatí
| Situace | Vyplatí se? | Proč |
|---|---|---|
| Jeden malý web (do 50 stránek) | ⚠️ Částečně | Manuální kontrolka jednou měsíčně dostačuje |
| E-shop s 100+ produkty | ✅ Ano | Produktové stránky se mění rychle, trend data jsou nutnost |
| Agentura spravující více klientů | ✅ Ano | Časová úspora se násobí počtem domén |
| Obsahový web s denní produkcí | ✅ Ano | Nové články potřebují indexing a monitoring |
Co potřebujete: Nastavení krok za krokem
Celý proces má tři vrstvy: propojení s GSC API, nastavení AI agenta, a tvorba reportovací logiky. Jdeme na to postupně.
Krok 1: Google Search Console API
Nejprve potřebujete služební účet (service account) v Google Cloud, který bude mít přístup k vašemu webu v GSC.
- Vytvořte projekt na Google Cloud Console a aktivujte Search Console API (APIs & Services → Library → „Google Search Console API" → Enable).
- Vygenerujte service account (IAM & Admin → Service Accounts → Create). Typ klíče: JSON.
- Přidejte service account email (tvar
[email protected]) jako uživatele do Google Search Console — na úrovni webu přidejte Owner nebo Full access. - Uložte JSON klíč bezpečně na server (např.
gsc.jsonv adresáři projektu).
Ověřte si přístup jednoduchým testem — vypište seznam ověřených webů:
#!/usr/bin/env python3
"""Test připojení k Google Search Console API."""
import json
import time
import jwt
import urllib.request
# Načtení service account credentials
creds = json.load(open('gsc.json'))
now = int(time.time())
# Vytvoření JWT token pro OAuth2
payload = {
'iss': creds['client_email'],
'scope': 'https://www.googleapis.com/auth/webmasters.readonly',
'aud': creds['token_uri'],
'iat': now,
'exp': now + 3600
}
signed = jwt.encode(payload, creds['private_key'], algorithm='RS256')
# Výměna JWT za access token
data = f'grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion={signed}'.encode()
req = urllib.request.Request(creds['token_uri'], data=data)
token = json.loads(urllib.request.urlopen(req).read())['access_token']
# Výpis ověřených webů
req = urllib.request.Request(
'https://www.googleapis.com/webmasters/v3/sites',
headers={'Authorization': f'Bearer {token}'}
)
sites = json.loads(urllib.request.urlopen(req).read())
for s in sites.get('siteEntry', []):
print(f"{s['siteUrl']} — {s['permissionLevel']}")
Pokud uvidíte svůj web v seznamu, API připojení funguje. Pro pohodlnější práci doporučuji nainstalovat knihovnu google-api-python-client:
pip install google-api-python-client google-auth-oauthlib PyJWT
Krok 2: AI agent (Claude Code)
Claude Code je CLI nástroj od Anthropic, který umí číst kód, spouštět příkazy a pracovat s API. Funguje jako AI programátor, kterého můžete instruovat k pravidelným úkolům.
Instalace:
npm install -g @anthropic-ai/claude-code
Po instalaci nastavíte API klíč (ANTHROPIC_API_KEY) a spustíte agenta v adresáři vašeho projektu. Claude Code umí spouštět Python skripty, číst JSON výstupy z GSC API a generovat srozumitelné reporty.
Alternativou je použití autonomních AI agentů jako Hermes Agent nebo podobných platforem, které umí běžet pravidelně přes cron a doručovat reporty přímo do komunikátoru (Telegram, Slack, email).
Krok 3: Reportovací pipeline
Tady je místo, kde se sbíhá vše dohromady. Skript vytáhne data z GSC, zpracuje je a AI agent vygeneruje lidsky čitelný report.
#!/usr/bin/env python3
"""
SEO Report Pipeline — stáhne data z GSC a připraví je pro AI analýzu.
"""
import json
import time
import jwt
import urllib.request
import urllib.parse
from datetime import datetime, timedelta
def get_gsc_token(creds_path='gsc.json'):
"""Získá OAuth2 access token ze service account."""
creds = json.load(open(creds_path))
now = int(time.time())
payload = {
'iss': creds['client_email'],
'scope': 'https://www.googleapis.com/auth/webmasters.readonly',
'aud': creds['token_uri'],
'iat': now,
'exp': now + 3600
}
signed = jwt.encode(payload, creds['private_key'], algorithm='RS256')
data = f'grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion={signed}'.encode()
req = urllib.request.Request(creds['token_uri'], data=data)
return json.loads(urllib.request.urlopen(req).read())['access_token']
def query_search_analytics(token, site_url, dimensions, start_date, end_date, row_limit=1000):
"""Dotaz do Search Analytics API."""
encoded = urllib.parse.quote(site_url, safe='')
url = f'https://www.googleapis.com/webmasters/v3/sites/{encoded}/searchAnalytics/query'
body = json.dumps({
'startDate': start_date,
'endDate': end_date,
'dimensions': dimensions,
'rowLimit': row_limit
}).encode()
req = urllib.request.Request(url, data=body, headers={
'Authorization': f'Bearer {token}',
'Content-Type': 'application/json'
})
return json.loads(urllib.request.urlopen(req).read())
# === Konfigurace ===
SITE_URL = 'sc-domain:vasedomena.cz'
TODAY = (datetime.now() - timedelta(days=3)).strftime('%Y-%m-%d')
MONTH_AGO = (datetime.now() - timedelta(days=33)).strftime('%Y-%m-%d')
token = get_gsc_token()
# 1) Top klíčová slova
queries = query_search_analytics(token, SITE_URL, ['query'], MONTH_AGO, TODAY)
# 2) Top stránky
pages = query_search_analytics(token, SITE_URL, ['page'], MONTH_AGO, TODAY)
# === Výstup pro AI analýzu ===
print("=== TOP KLÍČOVÁ SLOVA (30 dní) ===")
for row in queries.get('rows', [])[:20]:
print(f" {row['keys'][0]:40s} | imp={row['impressions']:5d} | "
f"clicks={row['clicks']:3d} | pos={row['position']:.1f}")
print("\n=== STRÁNKY S NÍZKÝM CTR (< 2 %) ===")
for row in pages.get('rows', []):
ctr = row.get('ctr', 0) * 100
if row['impressions'] > 20 and ctr < 2.0:
print(f" {row['keys'][0]:60s} | imp={row['impressions']:5d} | CTR={ctr:.1f}%")
print("\n=== LOW-HANGING FRUIT (pozice 8–20) ===")
for row in queries.get('rows', []):
pos = row['position']
if 8 <= pos <= 20 and row['impressions'] > 10:
print(f" {row['keys'][0]:40s} | pos={pos:.1f} | imp={row['impressions']:5d}")
Tento skript vám dá surová data. Aby z nich byl srozumitelný report, předáte výstup AI agentovi.
Krok 4: AI analýza a reporty
Nejjednodušší způsob je uložit JSON výstup do souboru a nechat AI agenta vygenerovat report. Vytvořte soubor prompt.md:
Jsi SEO analytik. Na základě dat z Google Search Console níže vygeneruj
týdenní report v češtině. Struktura:
1. 📊 Souhrn (celkové impresssions, clicks, avg position)
2. 🔥 Cash cow stránka (nejvíce kliků)
3. 📈 Low-hanging fruit (pozice 8–20) — pro každý konkrétní doporučení
4. 🟡 Nízké CTR — navrhni lepší title tag pro každou stránku
5. 📉 Klesající trendy — stránky které ztratily pozici
6. ✅ Akční kroky (3–5 bodů pro tento týden)
Data z GSC:
{sem vložíte JSON výstup ze skriptu}
Spusťte Claude Code nebo jiný AI agent s tímto promptem a daty. Výstup je hotový report, který se dá poslat na email nebo do Slacku.
Pro plnou automatizaci použijte Hermes Agent nebo podobnou platformu, která umí:
- Spouštět skripty přes cron
- Předávat výstup AI agentovi
- Doručovat finální report do Telegramu nebo Slacku
Co AI agent analyzuje a doporučuje
Se správně nastaveným promptem dokáže AI agent z GSC dat vyčíst následující:
1. Stránky s vysokým potenciálem (position 8–20)
Klíčová slova na pozici 8–20 jsou tzv. low-hanging fruit — stránka už je na druhé straně Google, a malá optimalizace ji může posunout na první stranu. AI agent tyto dotazy vytáhne, přiřadí k nim konkrétní URL a navrhne:
- Přidání klíčového slova do H2 nadpisu
- Rozšíření obsahu o odstavec na dané téma
- Získání interního odkazu z navštěvovanější stránky
2. Stránky s nízkým CTR
Stránka může mít 200 impresí měsíčně, ale pokud má CTR pod 2 %, lidé klikají na jiné výsledky. Typicky jde o špatný title nebo meta description. AI agent navrhne přepsání:
- Původní title: „CRM software pro malé firmy"
- Doporučený title: „title:** „ Nejlepší CRM CRM pro malé firmy 2026 — Srovnání a ceny"
- Proč: Přidání roku, cenového háčku a slova „Nejlepší" zvyšuje CTR typicky o 15–40 %
3. Klesající trendy
AI agent porovná aktuální 28 dní s předchozím obdobím a upozorní na:
- Stránky, které ztratily pozici o více než 5 příček
- Klíčová slova s klesajícím počtem impresí
- Nové klíčové slovo, které najednou generuje traffic (příležitost)
4. Index coverage problémy
Pokud máte v sitemapě 200 URL ale Google indexuje jen 120, AI agent to odhalí a navrhne, které stránky jsou pravděpodobně thin content nebo mají technický problém.
Praktický příklad reportu
Takto vypadá typický výstup, který AI agent doručí každý týden:
📊 SEO REPORT — vasedomena.cz (týden 27)
========================================
🔥 Cash cow stránka:
/clanky/jak-vybrat-crm — 42 % všech kliků (87/207)
⚠️ Riziko: jeden článek = 42 % trafficu. Diverzifikujte.
📈 Low-hanging fruit (position 11–20):
"fakturační software" — pos 14, 34 imp — na dosah TOP10
→ Doporučení: přidat sekci "Fakturační software vs Excel" do článku
"hr software cz" — pos 16, 22 imp
→ Doporučení: vytvořit samostatnou H2 sekci pro HR software
🟡 Nízké CTR:
/nastroje/appsheet — 56 imp, 0.8 % CTR
→ Navrhovaný title: "AppSheet Recenze 2026 — Cena a funkce (zdarma k testování)"
📅 Trend (týden vs předchozí týden):
Clicks: +12 % 🟢
Impressions: -5 % 🔴
Pozor: klesá viditelnost pro "crm srovnání" (pos 8 → 12)
✅ Akční kroky tento týden:
1. Optimalizovat title tag na /nastroje/appsheet
2. Přidat sekci o fakturaci do článku o CRM
3. Zkontrolovat proč "crm srovnání" klesá
Automatizace: cron + AI agent v praxi
Největší hodnota nastává, když celý proces běží sám. Tady je kompletní setup:
1. Skript pro sběr dat (cron denně)
#!/bin/bash
# /opt/seo/gsc-collect.sh — spouští se denně přes cron
cd /opt/seo
python3 gsc_pipeline.py > /opt/seo/data/$(date +%Y-%m-%d).json
Cron záznam (denně v 6:00):
0 6 * * * /opt/seo/gsc-collect.sh
2. Týdenní AI report (cron pondělí)
#!/bin/bash
# /opt/seo/weekly-report.sh — pondělní report
WEEK_DATA=$(cat /opt/seo/data/$(date -d '7 days ago' +%Y-%m-%d).json \
/opt/seo/data/$(date +%Y-%m-%d).json)
# Předání AI agentovi (přes API nebo CLI)
echo "$WEEK_DATA" | claude-code --prompt-file=/opt/seo/prompt.md \
> /opt/seo/reports/$(date +%Y-W%V).md
# Odeslání na email nebo Slack
cat /opt/seo/reports/$(date +%Y-W%V).md | mail -s "SEO týdenní report" \
[email protected]
3. Dexadné doručení přes Telegram nebo Slack
Pokud používáte Hermes Agent nebo podobnou platformu, můžete reporty nechat doručovat přímo do chatu. Výhoda je obousměrná komunikace — když vám report ukáže problém, můžete agenta rovnou poprosit o detaily nebo o vygenerování opravy.
# Příklad odeslání reportu na Telegram přes bot API
import urllib.request
BOT_TOKEN = 'vas-telegram-bot-token'
CHAT_ID = 'vas-chat-id'
REPORT_TEXT = open('/opt/seo/reports/tydenni-report.md').read()
url = f'https://api.telegram.org/bot{BOT_TOKEN}/sendMessage'
data = json.dumps({
'chat_id': CHAT_ID,
'text': REPORT_TEXT[:4096], # Telegram limit
'parse_mode': 'Markdown'
}).encode()
req = urllib.request.Request(url, data=data, headers={'Content-Type': 'application/json'})
urllib.request.urlopen(req)
Náklady a návratnost
Nejčastější otázka: kolik to stojí? Odpověď je příznivá — automatizovaná SEO analýza přes AI agenta patří mezi nejlevnější SEO investice.
| Komponenta | Měsíční náklad | Poznámka |
|---|---|---|
| Google Search Console | 0 Kč | Zdarma pro všechny weby |
| Google Cloud (service account) | 0 Kč | API volání jsou zdarma |
| Claude Code / AI agent API | 500–2 000 Kč | Záleží na objemu dat a frekvenci |
| Server (cron, skripty) | 0–500 Kč | Pokud už server máte |
| Celkem | 500–2 500 Kč | Měsíčně |
Porovnejte si to se SEO agenturou, která si účtuje 8 000–25 000 Kč měsíčně za podobnou úroveň reporting — a často to dělá manuálně.
Na co si dát pozor
Automatizace SEO analýzy není magie. Tady jsou reálná úskalí:
GSC data jsou zpožděná
Google Search Console ukazuje data s 2–4 denním zpožděním. Report za dnešní den vám reálně ukazuje data z před třemi dny. Plánujte reporty s tím na paměti.
AI nemění obsah automaticky
AI agent navrhne optimalizace, ale neměl by je rovnou aplikovat na produkční web bez revize. Používejte vzor propose → review → apply — agent navrhne, člověk schválí.
Row limit a anonymizace
GSC API vrací maximálně 1 000 řádků na dotaz a některé dotazy jsou anonymizované (zobrazeny jako other). Pro větší weby použijte pagination a více dimenzí.
Rate limity
URL Inspection API má limit přibližně 200 volání denně. Pro bulk kontrolu indexace raději použijte Search Analytics s dimensions: ['page'].
Další krok: od analýzy k akci
Největší hodnota nastává ve chvíli, kdy report nekončí u „tady jsou data", ale pokračuje až k provedení změny. Pokročilé setupy mohou:
- Detekovat nově publikovaný článek → automaticky odeslat URL na Google Indexing API pro rychlejší indexaci
- Najít prolomený interní odkaz (404) → AI agent navrhne přesměrování nebo opravu
- Porovnat pozice před a po optimalizaci → ukázat, zda intervence fungovala
- Generovat nové článkové téma na základě dotazů, které lidé hledají ale pro které ještě nemáte obsah
Tohle je rozdíl mezi „vím, co se děje" a „reaguju dřív než konkurence".
Často kladené dotazy
Mohu použít jiné AI AI nástroje než Claude než Claude Code?
Ano. Funguje ChatGPT s Code Interpreter, Gemini, nebo jakýkoliv AI agent který umí spouštět kód a pracovat s API. Claude Code má výhodu v lepší práci s dlouhými kontexty a přesnějším generování kódu.
Funguje to i pro české weby?
Ano, GSC API je nezávislé na jazyku webu. AI agent generuje reporty v češtině podle vašeho promptu.
Musím umět programovat?
Ne nutně. Skripty v tomto článku jsou copy-paste ready — stačí změnit SITE_URL a cestu k JSON klíči. Pro pokročilejší customizaci pomůže základní Python.
Jak často spouštět reporty?
Pro většinu firem je ideální týdenní frekvence (pondělí ráno). Denní reporty dávají smysl pro e-shopy a obsahově intenzivní weby. Měsíční je minimum — při měsíční frekvenci ztratíte šanci rychle reagovat na klesající trendy.
Je to alternativa k Ahrefs nebo SEMrush?
Částečně. GSC data pokrývají pouze váš vlastní web (own-domain data). Ahrefs a SEMrush přidávají konkurenční analýzu, backlink monitoring a keyword research. Ideální kombinace je GSC + AI agent pro own-domain monitoring, a Ahrefs/SEMrush pro konkurenční inteligenci.
Závěr
Kombinace Claude Code a Google Search Console API představuje posun od manuální SEO analýzy k automatizovanému, kontinuálnímu monitorování. Pro firmy, které berou SEO vážně ale nemají rozpočet na agenturu, je to ideální střední cesta — nízké náklady, plná kontrola nad daty, a AI, která data nejen sbírá, ale i chápe.
Začněte s jednoduchým týdenním reportem. Jakmile uvidíte první doporučení a ověříte, že fungují, posunete se k automatickému návrhu obsahových optimalizací. A to je bod, ve kterém SEO přestává být reaktivní a stává se proaktivní strategií.