Python w SEO: poradnik dla początkujących, jak pisać skrypty z ChatGPT lub Claude

  • Aktualizacja
  • Czas czytania 16 min
Python for SEO beginner guide, Marketer Coffee
Spis treści 18
  1. Co Python może naprawdę zrobić dla specjalisty SEO?
  2. Czy trzeba umieć programować, zanim zaczniesz?
  3. Jaka jest najprostsza konfiguracja do uruchamiania skryptów SEO?
  4. Jak pisać prompty do ChatGPT lub Claude, aby powstał skrypt SEO?
  5. Przykład 1: jak sprawdzić kody odpowiedzi dla listy adresów URL?
  6. Przykład 2: jak hurtowo pobrać tytuły i meta opisy?
  7. Przykład 3: jak znaleźć frazy “w zasięgu” (striking distance) w eksporcie z Search Console?
  8. Przykład 4: jak sprawdzić, które strony straciły kliknięcia między dwoma okresami?
  9. Które zadania SEO warto oskryptować w następnej kolejności, a które zostawić narzędziom?
  10. Jak używać asystentów AI, aby rozumieć kod, a nie tylko go pisać?
  11. Kiedy warto zaangażować Marketer Coffee?
  12. Najczęściej zadawane pytania o Pythona w SEO
    1. Czy w 2026 roku warto uczyć się Pythona do SEO?
    2. Czy ChatGPT lub Claude potrafią napisać skrypty SEO, które zadziałają za pierwszym razem?
    3. Których bibliotek Pythona początkujący w SEO powinien nauczyć się najpierw?
    4. Jak pobrać z Search Console więcej niż 1 000 wierszy?
    5. Czy uruchamianie skryptów SEO na dowolnej witrynie jest bezpieczne?
  13. Co warto zapamiętać o Pythonie w SEO?

Python w SEO to używanie krótkich skryptów do powtarzalnych części pracy: sprawdzania setek adresów URL, pobierania tytułów i meta opisów oraz analizowania eksportów z Search Console szybciej, niż pozwala arkusz kalkulacyjny. Nie musisz zostać programistą, żeby z tego skorzystać. W 2026 roku możesz opisać zadanie ChatGPT lub Claude zwykłym językiem, dostać działający skrypt, uruchomić go i sprawdzić wynik.

Liczy się nie zapamiętywanie składni. Liczy się to, czy wiesz, o co poprosić, jak bezpiecznie uruchomić kod i jak ocenić, czy wynik jest poprawny. Początkujący, który potrafi przeczytać 20-liniowy skrypt i wychwycić błędną nazwę kolumny, zrobi więcej niż ktoś, kto kopiuje kod na ślepo.

Ten poradnik daje Ci konfigurację, która zajmuje około dziesięciu minut, schemat promptu, który daje użyteczne skrypty, oraz cztery sprawdzone przykłady do uruchomienia jeszcze dziś: sprawdzanie kodów odpowiedzi, pobieranie tytułów i meta opisów, wyszukiwanie fraz “w zasięgu” (striking distance) w danych z Search Console oraz porównanie okresów, które pokazuje, które strony straciły kliknięcia.

Każdy z poniższych skryptów został przed publikacją uruchomiony na przykładowych danych, więc możesz go skopiować jako punkt wyjścia i dostosować z pomocą asystenta AI.

Co Python może naprawdę zrobić dla specjalisty SEO?

Python jest najbardziej przydatny tam, gdzie powtarzasz tę samą kontrolę na wielu wierszach danych. Jeśli zadanie zajmuje Ci w arkuszu ponad godzinę albo robisz je co miesiąc, to kandydat na skrypt.

Typowe zadania przyjazne początkującym:

  • Sprawdzanie kodów odpowiedzi i przekierowań dla listy adresów URL po migracji
  • Pobieranie tytułów, meta opisów, nagłówków H1 lub tagów canonical z wielu stron
  • Filtrowanie i grupowanie eksportów z Search Console według zapytania, strony lub wzorca
  • Porównywanie dwóch okresów, aby znaleźć strony lub zapytania, które straciły ruch
  • Łączenie danych z różnych narzędzi po wspólnej kolumnie URL
  • Pobieranie z Search Console większej liczby wierszy, niż pozwala eksport z interfejsu

Python nie zastępuje crawlera, takiego jak Screaming Frog, ani platformy typu all-in-one. Wypełnia luki między nimi: jednorazowe pytanie, na które Twoje narzędzie nie odpowiada, albo raport, który co miesiąc budujesz tak samo. Nasza lista narzędzi SEO, których używamy opisuje komercyjną część zestawu.

Czy trzeba umieć programować, zanim zaczniesz?

Nie, ale musisz umieć czytać kod na tyle dobrze, by go sprawdzić. Asystenci AI szybko piszą kod, który wygląda wiarygodnie, a wiarygodny to nie to samo co poprawny. Skrypt może działać bez błędów i mimo to liczyć złą kolumnę albo pominąć połowę adresów URL.

Realistyczny cel dla początkującego: potrafisz otworzyć skrypt, znaleźć miejsce, w którym czyta plik wejściowy, zobaczyć, jakich kolumn używa, i zrozumieć, co zapisuje. Ten poziom wymaga kilku wieczorów, a nie miesięcy. Poproś asystenta o komentarze do każdego bloku i o wyjaśnienie każdej linii, której nie rozumiesz.

Trzy nawyki chronią przed większością błędów:

  1. Najpierw testuj na małej próbce. Uruchom skrypt na 10 adresach URL lub 20 wierszach, dla których znasz już odpowiedź.
  2. Wyrywkowo sprawdzaj wynik. Otwórz ręcznie trzy wyniki w przeglądarce lub w oryginalnym eksporcie i porównaj.
  3. Nigdy nie wklejaj poufnych danych. Nie podawaj czatowi AI kluczy API, haseł klientów ani danych osobowych z eksportów.

Jaka jest najprostsza konfiguracja do uruchamiania skryptów SEO?

Masz dwie dobre opcje: notatnik w przeglądarce bez instalacji albo Pythona na własnym komputerze.

Dwa sposoby na uruchamianie Pythona w SEO dla początkujących
OpcjaNajlepsze doCo warto wiedzieć
Google Colab (notatnik w przeglądarce)Pierwsze eksperymenty, udostępnianie współpracownikomBez instalacji. Wgraj plik CSV do sesji i uruchamiaj komórki po kolei. Pliki znikają po zakończeniu sesji, chyba że zapiszesz je na Dysku.
Python na Twoim komputerzeRegularne raporty, większe pliki, zadania harmonogramowaneZainstaluj Python 3 ze strony python.org, a potem uruchom w terminalu pip install requests beautifulsoup4 pandas. Skrypty uruchamiasz poleceniem python script_name.py.
Edytor kodu (opcjonalnie)Wygodne czytanie i edytowanie skryptówVS Code lub dowolny edytor z obsługą Pythona podświetla błędy i pokazuje wcięcia.

Przykłady w tym poradniku korzystają z trzech bibliotek. requests pobiera strony internetowe. Beautiful Soup (pakiet beautifulsoup4) czyta HTML i znajduje tagi. pandas pracuje na tabelach, a właśnie w tabelach jest większość danych SEO. Wszystkie trzy są darmowe, dobrze udokumentowane i dobrze znane asystentom AI, dzięki czemu generowany z nimi kod jest zwykle niezawodny.

Jak pisać prompty do ChatGPT lub Claude, aby powstał skrypt SEO?

Opisz dane wejściowe, wynik i przypadki brzegowe, a nie tylko cel. “Napisz skrypt w Pythonie, który sprawdzi moje adresy URL” daje ogólny kod. Konkretny prompt daje coś, co zadziała za pierwszym razem.

Struktura promptu, która dobrze się sprawdza:

  1. Kontekst: “Jestem specjalistą SEO, nie programistą. Uruchamiam Python 3 lokalnie.”
  2. Dane wejściowe: “Mam plik urls.txt z jednym adresem URL w każdej linii.” Albo wklej wiersz nagłówka i dwa przykładowe wiersze swojego pliku CSV.
  3. Zadanie: “Dla każdego adresu URL zapisz kod odpowiedzi HTTP bez podążania za przekierowaniami oraz cel przekierowania, jeśli istnieje.”
  4. Wynik: “Zapisz plik CSV z kolumnami url, status, redirect_to_or_error i wyświetl wyniki.”
  5. Przypadki brzegowe: “Nie przerywaj, jeśli adres URL przekroczy limit czasu albo domena się nie rozwiązuje. Użyj limitu 10 sekund.”
  6. Ograniczenia: “Używaj tylko requests, Beautiful Soup i pandas. Dodaj komentarz nad każdym blokiem.”

Gdy skrypt nie zadziała, wklej do czatu pełny komunikat o błędzie i napisz, co uruchomiłeś. ChatGPT i Claude dobrze naprawiają własny kod, gdy widzą dokładny traceback. Jeśli wynik wygląda źle, ale skrypt się nie wysypuje, opisz, czego się spodziewałeś, a co dostałeś, z jednym przykładowym wierszem.

Cztery poniższe przykłady powstały w ten sposób, a następnie zostały skrócone i przetestowane.

Przykład 1: jak sprawdzić kody odpowiedzi dla listy adresów URL?

Ten skrypt czyta adresy URL z pliku tekstowego, odpytuje każdy z nich bez podążania za przekierowaniami i zapisuje kody odpowiedzi do pliku CSV. To pierwsza rzecz do uruchomienia po migracji, aktualizacji mapy przekierowań lub porządkach w mapie witryny.

Utwórz plik urls.txt z jednym adresem URL w każdej linii, zapisz obok niego skrypt jako check_status.py i uruchom go.

import csv
import requests

HEADERS = {"User-Agent": "Mozilla/5.0 (compatible; MySEOCheck/1.0)"}

with open("urls.txt", encoding="utf-8") as f:
    urls = [line.strip() for line in f if line.strip()]

results = []
for url in urls:
    try:
        r = requests.get(url, headers=HEADERS, timeout=10, allow_redirects=False)
        results.append([url, r.status_code, r.headers.get("Location", "")])
    except requests.RequestException as e:
        results.append([url, "ERROR", type(e).__name__])

with open("status_report.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    writer.writerow(["url", "status", "redirect_to_or_error"])
    writer.writerows(results)

for row in results:
    print(*row, sep="\t")

Na co zwrócić uwagę w wyniku:

  • 200: strona się ładuje. Dobrze dla adresów, które mają działać i być indeksowane.
  • 301 lub 308: przekierowanie stałe. Sprawdź, czy cel w trzeciej kolumnie to właściwa strona, a nie domyślnie strona główna.
  • 302 lub 307: przekierowanie tymczasowe. Często znak, że przekierowanie stałe zostało źle skonfigurowane.
  • 404 lub 410: strony nie ma. W porządku, jeśli to zamierzone, problem, jeśli adres jest w mapie witryny lub w linkach wewnętrznych.
  • 5xx lub ERROR: problem z serwerem lub połączeniem. Uruchom ponownie później; jeśli się powtarza, zgłoś to programiście.

Skrypt celowo ustawia allow_redirects=False. Gdybyś pozwolił bibliotece requests podążać za przekierowaniami, łańcuch 301 pokazałby się jako 200 i całkowicie przeoczyłbyś przekierowanie. Jeśli audytujesz łańcuchy przekierowań, poproś asystenta o wersję, która podąża za łańcuchem i wypisuje każdy krok.

Zachowaj umiar w liczbie zapytań. Kilkaset adresów we własnej witrynie to nie problem. Przy tysiącach poproś asystenta o krótką pauzę między zapytaniami i nigdy nie kieruj takiego skryptu na witrynę, na której testowanie nie masz zgody.

Przykład 2: jak hurtowo pobrać tytuły i meta opisy?

Ten skrypt pobiera każdy adres URL, czyta HTML za pomocą Beautiful Soup i zapisuje tytuł, meta opis oraz ich długości. To szybki sposób na znalezienie brakujących, pustych lub zduplikowanych snippetów w zestawie stron, np. we wszystkich produktach jednej kategorii.

import csv
import requests
from bs4 import BeautifulSoup

HEADERS = {"User-Agent": "Mozilla/5.0 (compatible; MySEOCheck/1.0)"}

def get_title_and_description(html):
    soup = BeautifulSoup(html, "html.parser")
    title = soup.title.get_text(strip=True) if soup.title else ""
    tag = soup.find("meta", attrs={"name": lambda v: v and v.lower() == "description"})
    description = tag.get("content", "").strip() if tag else ""
    return title, description

with open("urls.txt", encoding="utf-8") as f:
    urls = [line.strip() for line in f if line.strip()]

with open("meta_report.csv", "w", newline="", encoding="utf-8") as out:
    writer = csv.writer(out)
    writer.writerow(["url", "title", "title_length", "description", "description_length"])
    for url in urls:
        try:
            r = requests.get(url, headers=HEADERS, timeout=10)
        except requests.RequestException:
            continue
        if r.status_code != 200:
            continue
        title, desc = get_title_and_description(r.text)
        writer.writerow([url, title, len(title), desc, len(desc)])
        print(url, "|", title or "MISSING TITLE", "|", desc or "MISSING DESCRIPTION")

Dwa szczegóły sprawiają, że jest solidniejszy niż pierwsza wersja, którą daje większość asystentów. Po pierwsze, znajduje meta opis niezależnie od wielkości liter, bo niektóre szablony CMS generują name="Description". Po drugie, pomija odpowiedzi inne niż 200, więc strony błędów nie zaśmiecają raportu tytułami w rodzaju “Nie znaleziono strony”.

Otwórz meta_report.csv w arkuszu i posortuj według title_length i description_length. Zero oznacza brak. Potem posortuj według tytułu, aby znaleźć duplikaty. Długość to tylko orientacyjna wskazówka: Google przepisuje snippety, gdy uzna, że inny tekst lepiej pasuje do zapytania, więc traktuj to jako kontrolę porządkową, a nie sposób na pozycje. Nasz poradnik SEO on-page wyjaśnia, co napisać, gdy już wiesz, które strony wymagają pracy.

Jedno ograniczenie: requests pobiera surowy HTML, więc tytuły dodawane przez skrypty po załadowaniu strony się nie pojawią. Przy witrynach mocno opartych na skryptach po stronie przeglądarki może być potrzebna przeglądarka bezgłowa, czyli krok poza poziom początkujący.

Przykład 3: jak znaleźć frazy “w zasięgu” (striking distance) w eksporcie z Search Console?

Ten skrypt czyta plik Queries z eksportu Search Console i wypisuje zapytania z istotną liczbą wyświetleń, dla których Twoja średnia pozycja mieści się między 4 a 15. To często najszybsze wygrane: Google już uznaje stronę za trafną, ale znajduje się ona tuż pod pierwszą stroną wyników albo na jej dole.

W Search Console otwórz raport Skuteczność, wybierz zakres dat, kliknij Eksportuj i wybierz CSV. Dostaniesz plik ZIP z kilkoma plikami CSV. Ten skrypt korzysta z Queries.csv.

import pandas as pd

df = pd.read_csv("Queries.csv")
df.columns = ["query", "clicks", "impressions", "ctr", "position"]
df["ctr"] = df["ctr"].str.rstrip("%").astype(float)

opportunities = df[
    df["position"].between(4, 15) & (df["impressions"] >= 500)
].sort_values("impressions", ascending=False)

print(opportunities.to_string(index=False))
opportunities.to_csv("striking_distance.csv", index=False)

Skrypt zmienia nazwy kolumn przy wczytywaniu, bo eksport używa etykiet takich jak “Top queries” i zapisuje CTR jako tekst ze znakiem procenta. Zamiana CTR na liczbę pozwala sortować i filtrować po tej kolumnie. Jeśli interfejs Search Console jest w innym języku, etykiety kolumn się zmieniają, ale ich kolejność pozostaje taka sama, dlatego skrypt nadaje nazwy według pozycji.

Dostosuj oba progi do swojej witryny. Mała lokalna firma może przyjąć 50 wyświetleń zamiast 500. Duży sklep może zawęzić zakres do pozycji od 5 do 12. Dla każdego zapytania w wyniku znajdź stronę, która na nie się wyświetla, a potem sprawdź, czy zapytanie faktycznie ma odpowiedź w tytule, H1 i pierwszych akapitach.

Ograniczenie, o którym warto wiedzieć: Google podaje, że eksport z interfejsu Search Console jest obcinany do 1 000 wierszy. W przypadku większych witryn Search Console API zwraca do 25 000 wierszy na zapytanie, a kolejne strony wyników możesz pobierać parametrem startRow. Konfiguracja dostępu do API wymaga projektu Google Cloud i danych uwierzytelniających, co jest dobrym drugim projektem, gdy poczujesz się pewnie z tymi skryptami.

Przykład 4: jak sprawdzić, które strony straciły kliknięcia między dwoma okresami?

Ten skrypt porównuje dwa eksporty Strony z Search Console i wypisuje strony z największym spadkiem kliknięć obok ich średniej pozycji przed i po. To rdzeń comiesięcznej kontroli SEO i znacznie szybsza metoda niż ręczne dopasowywanie wierszy.

Wyeksportuj raport Strony dwa razy: raz dla ostatniego okresu (zapisz jako Pages_last.csv) i raz dla poprzedniego (Pages_prev.csv). Używaj okresów o tej samej długości, a jeśli Twój biznes jest sezonowy, porównuj z tymi samymi tygodniami rok wcześniej.

import pandas as pd

cols = ["page", "clicks", "impressions", "ctr", "position"]
now = pd.read_csv("Pages_last.csv", names=cols, header=0)
before = pd.read_csv("Pages_prev.csv", names=cols, header=0)

merged = now.merge(before, on="page", how="outer", suffixes=("_now", "_before"))
merged[["clicks_now", "clicks_before"]] = merged[["clicks_now", "clicks_before"]].fillna(0).astype(int)
merged["click_change"] = merged["clicks_now"] - merged["clicks_before"]

losers = merged.sort_values("click_change").head(10)
print(losers[["page", "clicks_before", "clicks_now", "click_change",
              "position_before", "position_now"]].to_string(index=False))

Złączenie zewnętrzne (outer merge) ma znaczenie. Strona, która zniknęła z ostatniego eksportu, ma clicks_now równe 0 i puste position_now, a to dokładnie taka strona, którą chcesz wyłapać. Nowa strona pojawia się z clicks_before równym 0. Zwykłe wyszukiwanie w arkuszu często ukrywa oba przypadki.

Czytaj wynik parami. Utracone kliknięcia przy gorszej pozycji wskazują na problem z pozycjami: sprawdź stronę, jej konkurentów i ostatnie zmiany. Utracone kliknięcia przy stabilnej pozycji zwykle oznaczają mniej wyszukiwań albo zmienioną stronę wyników, np. nowe AI Overview lub więcej reklam. Nasz poradnik śledzenia wyników SEO pokazuje, jak rozdzielić te przyczyny.

Które zadania SEO warto oskryptować w następnej kolejności, a które zostawić narzędziom?

Pisz skrypty do zadań specyficznych dla Twojej witryny lub raportowania; kupuj narzędzia do zadań, które wymagają skali lub infrastruktury.

Napisać skrypt samodzielnie czy użyć dedykowanego narzędzia?
ZadanieSkrypt w PythonieDedykowane narzędzie
Kody odpowiedzi dla znanej listy adresów URLTak, prosto i szybkoTeż dobrze w dowolnym crawlerze
Pełny crawl witryny z renderowaniemMożliwe, ale budowa trwa długoLepiej: crawler
Niestandardowe raporty z Search ConsoleTak, idealnie z pandasLooker Studio do dashboardów
Łączenie danych z kilku narzędziTak, merge w pandas po URLArkusze nie radzą sobie przy dużej skali
Śledzenie pozycji w czasieNiezalecaneLepiej: narzędzie do śledzenia pozycji
Grupowanie słów kluczowych według tematuTak, z pomocą asystenta AINiektóre platformy to oferują
Dane o linkach zwrotnychTylko przez płatne APILepiej: narzędzie do analizy linków

Dobre kolejne projekty: grupowanie zapytań według zawartego w nich słowa, np. “cena” lub nazwy miasta, oraz łączenie danych o stronach z Search Console z konwersjami z GA4 po adresie URL.

Jak używać asystentów AI, aby rozumieć kod, a nie tylko go pisać?

Proś o wyjaśnienia na poziomie, którego potrzebujesz, a potem sprawdź swoje zrozumienie, zmieniając jedną rzecz. Wklej skrypt i zapytaj: “Wyjaśnij to linia po linii komuś, kto zna Excela, ale nie Pythona.” Potem zadaj konkretne pytanie, np. “Co zmienić, żeby pobierać też H1?”, i wprowadź zmianę samodzielnie, zanim poprosisz o odpowiedź.

Najcenniejsze pytanie uzupełniające brzmi: “Co mogłoby sprawić, że ten skrypt da błędne wyniki bez żadnego komunikatu o błędzie?” Zmusza ono asystenta do wypisania cichych błędów, takich jak złe kodowanie, zduplikowane wiersze albo filtr usuwający więcej, niż się spodziewasz.

Kiedy warto zaangażować Marketer Coffee?

Skrypty odpowiadają na pytania, ale nie decydują, które pytania są ważne. Marketer Coffee to agencja AI SEO i GEO, a tego rodzaju automatyzacji używamy w większych projektach: porządkach technicznych, programach treści i pracy nad widocznością w AI. Dwa wyniki naszych klientów z branż niezwiązanych z przykładami z tego poradnika:

  • Aldi.pl (handel detaliczny). Kliknięcia organiczne wzrosły z 367 127 do 852 724 miesięcznie w 12 miesięcy (+132%) dzięki treściom produktowym, schema Product, uproszczonej architekturze i ujednoliconym danym sklepów. Przeczytaj case study Aldi.
  • Planika (designerskie kominki). Siedem artykułów zlokalizowanych na rynek USA przeniosło stronę, której Google nie indeksował, do 1 052 wizyt miesięcznie z USA, a Ahrefs odnotował 401 wzmianek w Google AI Overviews, 136 wzmianek w Perplexity i 20 wzmianek w ChatGPT. Przeczytaj case study Planiki.

Do kogo pasujemy: do firm z dużymi lub międzynarodowymi witrynami, w których praca z danymi, treści i wyszukiwanie AI wymagają jednego planu. Do kogo nie pasujemy: do osób, które potrzebują tylko jednego skryptu; asystent AI i ten poradnik posłużą Ci lepiej i nic nie kosztują.

Jeśli chcesz zobaczyć, jak silniki AI opisują dziś Twoją witrynę, skorzystaj z naszego bezpłatnego audytu widoczności w AI. Więcej o usłudze na stronie AI SEO.

Najczęściej zadawane pytania o Pythona w SEO

Czy w 2026 roku warto uczyć się Pythona do SEO?

Tak, na podstawowym poziomie. Skoro większość kodu pisze ChatGPT lub Claude, wartość tkwi w tym, by wiedzieć, o co poprosić i jak sprawdzić wynik. Kilka wieczorów praktyki wystarczy, by zautomatyzować sprawdzanie statusów, audyty metadanych i raporty z Search Console.

Czy ChatGPT lub Claude potrafią napisać skrypty SEO, które zadziałają za pierwszym razem?

Często tak, jeśli opiszesz plik wejściowy, kolumny wynikowe i przypadki brzegowe. Zawsze testuj na małej próbce, dla której znasz odpowiedź, a gdy coś nie zadziała, wklej asystentowi pełny komunikat o błędzie.

Których bibliotek Pythona początkujący w SEO powinien nauczyć się najpierw?

requests do pobierania stron, Beautiful Soup do czytania HTML i pandas do pracy z danymi z plików CSV i arkuszy. Te trzy pokrywają większość skryptów SEO dla początkujących.

Jak pobrać z Search Console więcej niż 1 000 wierszy?

Eksport z interfejsu jest obcinany do 1 000 wierszy. Search Console API zwraca do 25 000 wierszy na zapytanie i obsługuje stronicowanie parametrem startRow, więc skrypt w Pythonie korzystający z API może pobrać znacznie większe zbiory danych.

Czy uruchamianie skryptów SEO na dowolnej witrynie jest bezpieczne?

Uruchamiaj je na witrynach, które są Twoje lub na których testowanie masz zgodę, ogranicz liczbę zapytań, ustaw limit czasu i dodawaj pauzy przy dużych listach. Nigdy nie udostępniaj w czacie AI kluczy API ani danych klientów.

Co warto zapamiętać o Pythonie w SEO?

Zaczynaj od małych kroków, testuj na danych, które znasz, i pozwól asystentowi AI pisać, podczas gdy Ty myślisz. Cztery skrypty z tego poradnika pokrywają najczęstsze potrzeby początkujących: kody odpowiedzi, metadane, frazy w zasięgu i porównania okresów. Każdy zastępuje powtarzalne zadanie w arkuszu i można go rozbudowywać prompt po prompcie.

Jeśli wolisz zespół, który łączy tego rodzaju analizy ze strategią treści i wyszukiwania AI, umów bezpłatną konsultację.

Źródła: Pomoc Google Search Console, “Export data directly from a Search Console report” (limit eksportu 1 000 wierszy); Google for Developers, Search Console API, Search Analytics: query reference (rowLimit od 1 do 25 000, startRow); oficjalna dokumentacja requests, Beautiful Soup i pandas; skrypty przetestowane przez Marketer Coffee na przykładowych danych w Python 3.13 (listopad 2026); Marketer Coffee, case studies Aldi i Planiki (inne branże).

Leave a Reply

Your email address will not be published. Required fields are marked *

Chcesz takich wyników dla swojej strony?

Umów bezpłatną 30-minutową rozmowę. Wyjdziesz z trzema konkretnymi szansami SEO, niezależnie od tego, czy będziemy współpracować.

Umów bezpłatną rozmowę