llms.txt Deep Dive
Format llms.txt memberi AI peta ringkas website Anda dalam hitungan kilobyte. Panduan ini menjelaskan sejarah, spesifikasi exact, validation, dan menyediakan template lengkap untuk perusahaan Indonesia yang siap dipakai sebagai starting point.
Sejarah singkat
Pada September 2024, Jeremy Howard dari Answer.AI mempublikasikan proposal format llms.txt di llmstxt.org. Latar belakangnya sederhana. LLM punya context window terbatas (puluhan ribu token), sementara website bisa ratusan halaman. Tanpa panduan, LLM harus menebak mana konten yang penting. llms.txt memberi jawaban eksplisit.
Proposal ini mirip spirit robots.txt dari 1994: file sederhana di root domain yang memberi mesin informasi struktur. Bedanya, robots.txt memberi tahu crawler apa yang boleh di-fetch, llms.txt memberi tahu LLM apa yang penting untuk dipahami.
Struktur format exact
Format llms.txt adalah Markdown subset dengan aturan ketat:
- Baris pertama wajib H1:
# Nama Website atau Brand. Hanya satu H1, di paling atas. - Blockquote opsional (tapi highly recommended):
> Deskripsi singkat tentang website. Satu paragraf pendek. - Prose opsional: paragraf biasa untuk konteks tambahan. Tidak wajib, tapi membantu.
- H2 sections:
## Docs,## Products,## Optional. Section "Optional" khusus untuk konten yang boleh dilewati kalau context sempit. - Bulleted links di bawah setiap H2:
- [Judul Halaman](url): deskripsi opsional.
Contoh lengkap untuk PT fiktif Indonesia
Berikut adalah sample llms.txt lengkap untuk perusahaan fiktif PT Sumber Cahaya Nusantara (solar panel manufacturer di Bekasi). Pakai sebagai template starting point, ganti data dengan milik Anda sendiri.
Perhatikan beberapa hal penting di template di atas:
- H1 persis nama resmi perusahaan. Tidak pakai tagline, tidak pakai slogan.
- Blockquote langsung memberi lokasi, tahun berdiri, dan ukuran produk. LLM bisa menjawab "siapa SCN" dari satu paragraf ini.
- Setiap H2 adalah kategori yang jelas. Tidak ada H3 (spec melarang).
- Setiap link punya deskripsi setelah titik dua. Deskripsi pendek, langsung ke inti.
- Section "Optional" berisi konten yang bisa di-skip kalau LLM kehabisan context. Blog dan press release masuk sini.
Struktur dua file: llms.txt + llms-full.txt
llms-full.txt adalah extended version yang berisi konten penuh dari halaman-halaman kunci, bukan sekadar link. Strategi pakainya: kalau LLM punya banyak context window tersedia, dia bisa memuat llms-full.txt langsung tanpa harus fetch satu-satu halaman. Lebih efisien untuk LLM, lebih baik juga untuk brand karena semua info ada di satu tempat.
Rumus praktisnya: llms.txt adalah daftar isi, llms-full.txt adalah buku. Kedua file harus konsisten. Jangan ada section di llms.txt yang tidak ada di llms-full.txt.
Best practices
- Keep llms.txt di bawah 10KB. Kalau lebih besar, banyak content pindahkan ke llms-full.txt.
- Fokus pada halaman yang matter untuk pemahaman LLM. Skip halaman admin, halaman login, cart, checkout.
- Gunakan absolute URL (https://...), jangan relative URL.
- Setiap link harus live dan live 200 OK. Broken link di llms.txt adalah sinyal brand tidak maintained.
- Tambahkan deskripsi setelah titik dua untuk setiap link. LLM pakai deskripsi ini sebagai hint konten.
- Jangan pakai H3 atau header lebih dalam. Spec hanya mendukung H1 dan H2.
- Jangan masukkan kode JavaScript atau HTML. llms.txt adalah pure Markdown.
- Jangan pakai emoji berlebihan. Satu-dua oke, parade emoji membuat parsing error.
- Jangan link ke halaman yang di-noindex atau di-robots Disallow. Konsistensi matter.
- Jangan pakai relative path. LLM kadang tidak bisa resolve.
Validation
Belum ada validator otomatis resmi untuk llms.txt. Tapi ada beberapa cara manual untuk memastikan file Anda benar:
Workflow validation 5-langkah
- 1
Cek spec di llmstxt.org
Buka llmstxt.org/llms.txt dan bandingkan struktur file Anda dengan contoh resmi. Ini sumber truth paling up-to-date.
- 2
Parse dengan Markdown viewer
Buka llms.txt Anda di GitHub gist atau Markdown preview. Harus render dengan rapih: satu H1, list yang terformat, tanpa error.
- 3
Validate URL dengan curl
Loop semua URL di file pakai curl -I untuk cek HTTP status. Semua harus 200 OK. Broken link langsung fix.
- 4
Test MIME type deployment
curl -I https://yourdomain.com/llms.txt. Content-Type harus text/plain atau text/markdown. Kalau application/octet-stream, ada salah config server.
- 5
Load di Claude.ai manual
Copy-paste isi llms.txt ke Claude, tanya "Apa yang kamu pahami tentang website ini?". Kalau Claude bisa jawab akurat, format Anda bagus.
Deployment di Rumahweb cPanel
Untuk subdomain (misal services.yourdomain.com), file harus di-deploy di root masing-masing subdomain, bukan di root domain utama. Setiap subdomain yang berdiri sendiri butuh llms.txt sendiri.
Maintenance schedule
Set reminder kalender quarterly untuk review llms.txt. Cek: apakah semua link masih live, apakah ada halaman penting baru yang belum ter-list, apakah deskripsi masih akurat. Ini pekerjaan 30 menit per kuartal yang berdampak besar pada akurasi AI citation.
Pertanyaan Umum
Siapa yang mengusulkan format llms.txt?
Apakah llms.txt sudah didukung semua LLM?
Apa bedanya llms.txt dengan llms-full.txt?
Di mana file llms.txt harus di-deploy?
https://yourdomain.com/llms.txt. Tidak di subfolder, tidak di subdomain (kecuali memang subdomain-nya terpisah brand). MIME type harus text/plain atau text/markdown.Berapa sering llms.txt harus di-update?
Butuh bantuan deploy llms.txt?
GEO Package kami include drafting llms.txt + llms-full.txt yang sesuai spec, quarterly review, dan monitoring apakah content kami sudah muncul di Claude dan LLM lain.