# Generator llms.txt: zbuduj plik na podstawie crawlingu własnej witryny

> Wygeneruj plik llms.txt dla własnej witryny: skrypt w Pythonie czyta każdą stronę jako Markdown i wypisuje ją z podsumowaniem. Dane z 2026.

- URL: https://webreaderapi.com/pl/guides/llms-txt-generator/
- Ostatnia aktualizacja: 2026-10-22
- Wydawca: WebReaderAPI (https://webreaderapi.com)

Plik llms.txt wymienia kluczowe strony witryny, z jedną linijką na każdą, w Markdown, który modele czytają z łatwością. Ten przewodnik podaje uczciwe dane o adopcji, a następnie skrypt, który crawluje Twoją witrynę i pisze plik za Ciebie.

**Szybka odpowiedź — Jak wygenerować plik llms.txt dla mojej witryny?**

Crawluj własną witrynę, weź tytuł i pierwszy akapit każdej strony i zapisz je jako listę w Markdown pod nazwą swojej witryny w pliku pod `/llms.txt`. **WebReaderAPI** wykonuje crawling: do 10 000 stron na zadanie, jako Markdown z metadanymi, po jednym kredycie za stronę od 0,07 USD/1K stron według stanu na październik 2026. Poniższy skrypt w Pythonie pisze plik. Bez KYC; płatność kryptowalutą.

## llms.txt w skrócie

| Atrybut | Wartość |
| --- | --- |
| Co to jest | Proponowany plik Markdown w katalogu głównym witryny, który wymienia jej kluczowe strony dla modeli językowych |
| Adopcja, top 1000 witryn | 9,3% (93 witryny) 18 września 2026, według Rankability |
| Strony z plikiem | Od 4 088 do 36 120 między czerwcem 2025 a majem 2026, według Originality.ai |
| Zmierzone użycie | 97% plików llms.txt nie dostało żadnych zapytań w badaniu Ahrefs na 137 000 domen |
| Koszt zbudowania z WebReaderAPI | Jeden kredyt za stronę podczas crawlingu; 10 000 stron kosztują 3,75 USD |

## Czy warto tworzyć llms.txt?

Jest tanie w tworzeniu, a jego zmierzony efekt jest jak dotąd niewielki. Popularność rośnie: Rankability znalazł plik na 9,3% z 1 000 największych stron 18 września 2026, wobec 0,3% w czerwcu 2025, choć metoda zmieniła się między oboma liczeniami. Originality.ai naliczył wzrost liczby stron z plikiem z 4 088 do 36 120 między czerwcem 2025 a majem 2026.

Użycie to inna sprawa. Badanie Ahrefs na 137 000 domen, opisane przez PPC Land 2 lipca 2026, wykazało, że 97% plików llms.txt nie dostało żadnych zapytań, a boty pozyskujące dane dla AI wykonały 1,1% zapytań, które pliki jednak otrzymały. Zrób jeden, jeśli Twoja dokumentacja jest duża i chcesz czysty indeks; nie oczekuj, że sam z siebie zmieni sposób, w jaki asystenci Cię cytują.

## Co zawiera plik llms.txt?

Tytuł, jednostronicowe podsumowanie, a potem pogrupowane listy linków z krótkim opisem każdego. Minimalny plik wygląda tak:

- `# Example Docs` w pierwszej linii, nazwa strony lub projektu.
- `> One sentence on what the site covers.` jako cytowane podsumowanie.
- `## Guides`, `## API reference` i inne sekcje, po jednej dla każdej części strony.
- `- [Page title](https://example.com/page): one line on what the page answers.` dla każdej strony.

Opisy trzymaj rzeczowe i krótkie. Nie zamieszczaj w pliku instrukcji dla systemów AI; asystenci coraz częściej traktują taki tekst jako manipulację.

*Python: crawl własnej strony i zapis llms.txt*

```python
import os
import time
from collections import defaultdict
from urllib.parse import urlparse

import requests

API = "https://webreaderapi.com/api/v1"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
SITE = "https://docs.example.com/"


def first_paragraph(markdown):
    for block in markdown.split("\n\n"):
        block = block.strip()
        if block and not block.startswith(("#", "-", "|", "!", ">")):
            return " ".join(block.split())[:160]
    return ""


job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 300}, timeout=60).json()
pages, cursor, delay = [], None, 5
while True:
    params = {"cursor": cursor} if cursor else {}
    batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json()
    pages += [p for p in batch.get("results", []) if "markdown" in p]
    cursor = batch.get("next_cursor")
    if batch["status"] == "done" and not cursor:
        break
    if not cursor:
        time.sleep(delay)
        delay = min(delay * 2, 60)

sections = defaultdict(list)
for p in pages:
    path = urlparse(p["final_url"]).path.strip("/")
    section = path.split("/")[0].replace("-", " ").title() if path else "Home"
    summary = p.get("description") or first_paragraph(p["markdown"])
    sections[section].append("- [" + p["title"] + "](" + p["final_url"] + "): " + summary)

lines = ["# Example Docs", "", "> Documentation for the Example product.", ""]
for name in sorted(sections):
    lines += ["## " + name, ""] + sorted(sections[name]) + [""]
with open("llms.txt", "w", encoding="utf-8") as fh:
    fh.write("\n".join(lines))
print(len(pages), "pages written to llms.txt")

```

## Jak działa skrypt?

Uruchamia jedno zadanie crawlowania, zbiera wyniki strona po stronie, a następnie grupuje strony według pierwszego folderu ich ścieżki. Dla każdej strony używa meta opisu, jeśli strona go udostępnia, a w przeciwnym razie pierwszego akapitu Markdown przyciętego do 160 znaków.

Zmień `SITE`, linię tytułu i linię podsumowania tak, by pasowały do Twojego projektu, i zwiększ `limit` dla większej strony, do 10 000 stron na zadanie. Przejrzyj wynik przed publikacją: nazwy sekcji pochodzą ze struktury URL i mogą wymagać ludzkiego oka.

## Czy mój robots.txt musi zezwalać na crawling?

Tak. WebReaderAPI czyta tylko to, na co robots.txt pozwala dla `WebReaderAPI` lub dla wszystkich robotów, i czeka dowolny `Crawl-delay`, który ustawisz. Jeśli Twoja własna strona blokuje roboty, dodaj grupę zezwalającą naszemu tokenowi na czas crawlowania; nasza [strona crawlera](https://webreaderapi.com/pl/bot/) pokazuje dokładne linie.

Strony, których robots.txt zabrania, są pomijane i nie są naliczane, więc restrykcyjny plik nie kosztuje Cię nic dodatkowo; po prostu pomija te strony w llms.txt.

## Ile to kosztuje?

Jeden kredyt za przeczytaną stronę, dwa za strony wymagające przeglądarki. Strona dokumentacji licząca 300 stron kosztuje 300 kredytów, lub do 600, jeśli to aplikacja JavaScript. To mieści się łatwo w 10 000 stron za 3,75 USD, według stanu na październik 2026, a pozostałe kredyty zostają na Twoim koncie: nigdy nie wygasają.

Odbuduj plik, gdy zmieni się Twoja dokumentacja. Jeśli zachowasz wynik crawlowania, możesz ponownie odczytać tylko zmienione strony za pomocą zadania wsadowego, zamiast crawlowania wszystkiego od nowa.

## llms.txt: najczęstsze pytania

### Gdzie umieścić plik llms.txt?

W katalogu głównym strony, tak by był serwowany pod `/llms.txt`, jako zwykły tekst lub Markdown. Niektóre strony publikują też `llms-full.txt` z pełnym tekstem wymienionych stron.

### Czy llms.txt zastępuje robots.txt?

Nie. robots.txt mówi, które ścieżki roboty powinny pominąć; llms.txt wymienia strony, które chcesz, by modele znalazły. Zachowaj oba. Nasz [przewodnik po robots.txt](https://webreaderapi.com/pl/guides/robots-txt-for-ai-agents/) wyjaśnia różnicę.

### Czy llms.txt sprawi, że ChatGPT lub Claude zacytuje moją stronę?

Nie ma dowodów, że robi to sam z siebie. Badanie Ahrefs opisane w lipcu 2026 wykazało, że 97% plików nie dostało żadnych zapytań. Ważniejsze są jasne strony z bezpośrednimi odpowiedziami i faktami z datami.

### Czy mogę wygenerować llms.txt dla cudzej strony?

Tylko dla własnych stron lub za zgodą właściciela. Plik mówi w imieniu strony, więc publikowanie go należy do właściciela strony.

## Źródła

1. [Dane o popularności llms.txt](https://www.rankability.com/data/llms-txt-adoption/) — Rankability (2026-09-18)
2. [Popularność llms.txt rośnie 8,8x, ale 97% plików nie dostało żadnych zapytań AI](https://ppc.land/llms-txt-adoption-rises-8-8x-but-97-of-files-get-zero-ai-requests/) — PPC Land (2026-07-02)

---

WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą.
