# Cara mengubah halaman web menjadi Markdown untuk LLM

> Cara mengubah halaman web menjadi Markdown untuk LLM pada 2026: tiga metode, cara membatasi token, dan kode Python yang mem-chunk-nya.

- URL: https://webreaderapi.com/id/guides/convert-web-page-to-markdown/
- Terakhir diperbarui: 2026-10-22
- Penerbit: WebReaderAPI (https://webreaderapi.com)

Copy dan paste berfungsi untuk satu halaman. Library berfungsi jika Anda menjalankan crawler sendiri. API berfungsi saat Anda ingin satu permintaan per halaman. Berikut cara memilih, seperti apa output yang baik, dan kode yang dapat Anda gunakan kembali.

**Jawaban singkat — Bagaimana cara mengubah halaman web menjadi Markdown untuk LLM?**

Ambil halaman, pertahankan hanya konten utamanya, lalu ubah heading, daftar, tabel, dan tautan menjadi Markdown dan batasi panjangnya sesuai batas model Anda. Anda dapat melakukannya secara manual, dengan library open-source, atau dengan satu panggilan API: **WebReaderAPI** mengembalikan Markdown dan metadata untuk satu kredit per halaman, mulai dari US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto.

## Tiga cara mendapatkan Markdown dari halaman web

| Atribut | Nilai |
| --- | --- |
| Secara manual | Copy teks dari browser atau reader view-nya; cukup untuk beberapa halaman |
| Library open-source | Readability, Trafilatura, MarkItDown atau Crawl4AI di dalam fetcher Anda sendiri |
| Web reader API | `GET https://webreaderapi.com/api/v1/read?url=…` mengembalikan Markdown, judul, penulis, dan tanggal |
| Kontrol panjang | `max_chars` pada WebReaderAPI, atau potong teksnya sendiri setelah konversi |
| Halaman JavaScript | Perlu browser headless; WebReaderAPI merendernya saat diperlukan, dengan 2 kredit |

## Metode mana yang harus saya pakai?

Pilih berdasarkan volume dan seberapa besar infrastruktur yang ingin Anda jalankan.

| Metode | Cocok untuk | Yang Anda tangani |
|---|---|---|
| Salin dan tempel | Beberapa halaman, prompt sekali pakai | Membersihkan secara manual |
| Library di kode Anda | Volume tetap, kontrol penuh | Fetching, browser, robots.txt, PDF, retry |
| Web reader API | Agen dan pipeline yang membaca banyak situs | Hanya request dan hasilnya |

Library memberi Anda kontrol tanpa biaya per halaman. Biayanya bersifat operasional: browser headless untuk halaman JavaScript, pengecekan robots.txt, penanganan character set dan redirect, serta jalur terpisah untuk PDF. API melipat semua itu menjadi satu panggilan HTTP.

## Apa yang harus dipertahankan Markdown yang baik, dan apa yang harus dibuang?

Markdown yang baik mempertahankan setiap elemen yang membawa makna dan membuang semua yang hanya ada untuk tata letak atau pemasaran.

- **Pertahankan heading** sebagai `#`, `##`, dan `###`: heading memberi tahu model, dan chunker Anda, di mana setiap topik dimulai.
- **Pertahankan list dan tabel** sebagai list Markdown dan pipe table, agar langkah dan angka tetap terbaca.
- **Pertahankan link** sebagai `[text](url)`: link memungkinkan asisten mengutip dan mengikuti sumbernya.
- **Pertahankan code block** dengan fence, beserta bahasanya jika halaman menampilkannya.
- **Buang menu, notifikasi cookie, iklan, widget related-post, dan footer**: semuanya berulang di setiap halaman dan mengotori retrieval.

Periksa hasilnya pada beberapa halaman asli Anda. Alat ekstraksi paling sering berbeda pendapat pada forum, tabel panjang, dan halaman dengan beberapa artikel.

## Seberapa lebih kecil Markdown dibandingkan HTML?

Biasanya jauh lebih kecil, karena perabot halaman dan markup hilang. Saat Cloudflare meluncurkan fitur Markdown for Agents pada 12 Februari 2026, halaman contohnya turun dari 16.180 token sebagai HTML menjadi 3.150 token sebagai Markdown, sekitar 80% lebih sedikit.

Rasio Anda sendiri bergantung pada situsnya. Artikel panjang menyusut lebih sedikit, secara persentase, dibandingkan halaman pendek yang dibungkus template berat. Ukur pada sumber Anda sebelum menentukan anggaran.

## Bagaimana cara menjaga halaman tetap dalam anggaran token model saya?

Batasi teks sebelum mencapai model, lalu bagi sisanya berdasarkan heading. Dengan WebReaderAPI, parameter `max_chars` memotong Markdown pada panjang tertentu, antara 1.000 dan 500.000 karakter. Field `word_count` memberi tahu Anda seberapa panjang artikel lengkapnya, sehingga agen dapat memutuskan apakah membaca sisanya sepadan.

Untuk retrieval, bagi berdasarkan heading terlebih dahulu, baru potong bagian yang panjang. Chunk yang dimulai dengan heading-nya sendiri mempertahankan topiknya; chunk yang dipotong di tengah kalimat dari halaman panjang tidak.

*Python: baca halaman sebagai Markdown dan bagi menjadi chunk berbasis heading*

```python
import os
import re

import requests

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


def page_to_chunks(url, max_chars=60000, chunk_len=1500):
    params = {"url": url, "format": "markdown", "max_chars": max_chars}
    resp = requests.get(API, headers=HEADERS, params=params, timeout=90)
    data = resp.json()
    if resp.status_code != 200:
        print("not read:", data["error"]["code"])
        return []
    chunks = []
    for section in re.split(r"\n(?=#{1,3} )", data["markdown"]):
        section = section.strip()
        while section:
            chunks.append(section[:chunk_len])
            section = section[chunk_len:]
    return [{"text": c, "source": data["final_url"], "title": data["title"]} for c in chunks]


if __name__ == "__main__":
    for chunk in page_to_chunks("https://example.com/guides/compost")[:3]:
        print(chunk["title"], "|", chunk["text"][:80])

```

## Apa yang biasanya salah, dan bagaimana cara mengenalinya?

Empat masalah menyebabkan sebagian besar konversi yang buruk:

- **Output kosong.** Halaman membangun kontennya dengan JavaScript. Cari `word_count` yang rendah; render halaman di browser, atau set `render=true`.
- **Teks cookie atau consent di hasil.** Ekstraktor mempertahankan banner. Utamakan ekstraksi konten utama dan periksa baris pertama setiap hasil.
- **Tabel hilang.** Sebagian situs menggambar tabel sebagai gambar atau elemen canvas; tidak ada ekstraktor teks yang bisa membacanya.
- **Penolakan, bukan halaman.** Situs melarang robots di robots.txt atau menolak request. Hormati itu: minta akses ke pemiliknya, atau gunakan API resmi atau feed jika situs menyediakannya.

Tidak satu pun dari ini diperbaiki dengan retry lebih cepat. Baca error-nya, lalu ubah metode atau sumbernya.

## Halaman web ke Markdown: pertanyaan umum

### Apakah Markdown lebih baik daripada plain text untuk LLM?

Untuk sebagian besar halaman, ya. Markdown mempertahankan heading, list, tabel, dan link dengan biaya token yang kecil, sehingga model dapat melihat struktur dan mengutip sumber. Plain text sedikit lebih pendek tetapi kehilangan struktur itu.

### Bisakah saya mengonversi seluruh situs web, bukan hanya satu halaman?

Bisa. Crawl situsnya dan konversi setiap halaman. [Crawl API](https://webreaderapi.com/id/crawl-api/) milik WebReaderAPI melakukan keduanya dalam satu job: Crawl satu situs web per job, hingga 10.000 halaman, mengikuti sitemap, robots.txt dan Crawl-delay-nya.

### Bisakah saya mengonversi PDF dengan cara yang sama?

Bisa, dengan mengirim URL PDF ke endpoint yang sama. File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai.

### Bagaimana dengan halaman di balik login?

Jangan konversi halaman itu melalui layanan pihak ketiga kecuali halaman itu milik Anda sendiri dan Anda telah mengekspornya sendiri. WebReaderAPI hanya membaca halaman publik dan tidak pernah login ke akun.

### Apakah ada cara gratis untuk melakukan ini?

Library open-source gratis digunakan dan berjalan di mesin Anda sendiri. WebReaderAPI tidak memiliki tier gratis; paket terkecilnya 10.000 halaman untuk US$3,75, dibayar dengan kripto tanpa KYC.

## Sumber

1. [Memperkenalkan Markdown for Agents](https://blog.cloudflare.com/markdown-for-agents/) — Cloudflare (2026-02-12)

---

WebReaderAPI: WebReaderAPI adalah API pembaca web untuk AI agent yang mengubah halaman web publik apa pun menjadi Markdown bersih, dibayar dengan kripto tanpa unggah identitas. Kredit prabayar mulai dari US$0,07/1K halaman tidak pernah kedaluwarsa, dan robots.txt dihormati. Tanpa KYC — tanpa identitas, tanpa selfie, tanpa dokumen. Bayar dengan kripto.
