NanoSkill
Kirim skill Anda

Keahlian Agen Audit SEO

olehJeffLi1993382bintang GitHubGitHub

Keahlian Agen Audit SEO ringan untuk Kode Claude, Cakar Terbuka, dan Kodeks. Jalankan audit SEO satu halaman cepat, periksa masalah inti on-page dan tingkat situs, dan hasilkan laporan SEO terstruktur dengan perbaikan yang dapat ditindaklanjuti.

audit-seoseoseo-on-pageaudit-situsPemindaian keamanan lulus
Pratinjau hasil

Demo lengkap

Lihat hasil audit SEO nyata yang dihasilkan oleh Keahlian Agen ini.

Mulai

Jalankan tugas pertama Anda

  1. seo-audit-step-1
    01

    Langkah 1:Instal

    Tambahkan keahlian ke agen Anda

  2. seo-audit-step-2
    02

    Langkah 2:Tugas Audit

    Gunakan satu URL dan minta audit yang diprioritaskan.

  3. seo-audit-step-3
    03

    Langkah 3:Tinjau Hasil

    Dapatkan perbaikan SEO yang diprioritaskan yang dapat segera Anda tindaklanjuti.

Perintah instalasi

$ npx skills add JeffLi1993/seo-audit-skill

Tentang

Audit SEO adalah Keahlian Agen Audit SEO ringan untuk agen pengkodean AI seperti Kode Claude, Cakar Terbuka, dan Kodeks. Ini membantu agen memeriksa satu URL, memeriksa masalah inti SEO, dan menghasilkan laporan audit terstruktur dengan bukti, dampak, dan perbaikan yang direkomendasikan.

Keahlian ini berfokus pada pemeriksaan SEO tahap pertama, termasuk tag judul, deskripsi meta, tag H1, tag kanonis, teks alt gambar, penempatan kata kunci, robots.txt, sitemap.xml, penanganan 404, kanonikalisasi URL, halaman kepercayaan E-E-A-T, dan validasi skema JSON-LD.

Gunakan saat Anda memerlukan pemeriksaan kesehatan SEO cepat sebelum menerbitkan halaman, meninjau halaman arahan, mendiagnosis masalah peringkat dasar, atau memutuskan apakah audit SEO teknis yang lebih dalam diperlukan.

Fitur utama

Apa yang membuatnya kuat

  • Audit SEO Halaman Tunggal Cepat

    Jalankan audit SEO cepat untuk URL apa pun dan dapatkan gambaran lintas pertama kesehatan SEO halaman tanpa menyiapkan perayap penuh atau alur kerja analitik.

  • Pemeriksaan SEO On-Page Inti

    Periksa tag judul, deskripsi meta, tag H1, tag kanonis, teks alt gambar, struktur judul, penempatan kata kunci, tautan internal, dan jumlah kata.

  • Dasar-Dasar SEO Tingkat Situs

    Tinjau sinyal SEO dasar seperti robots.txt, sitemap.xml, penanganan 404, kanonikalisasi URL, i18n / hreflang, dan halaman kepercayaan E-E-A-T.

  • Validasi Skema JSON-LD

    Deteksi apakah halaman memiliki data terstruktur yang tepat, validasi jenis skema umum, dan tandai bidang JSON-LD yang hilang atau tidak lengkap.

  • Laporan Audit SEO Terstruktur

    Hasilkan laporan audit SEO yang bersih dengan status lulus, peringatan, dan gagal, serta bukti, dampak, dan perbaikan spesifik untuk setiap masalah penting.

Use case

Kapan menggunakannya

  • Audit Halaman Arahan Sebelum Menerbitkan

    Gunakan keterampilan ini sebelum meluncurkan halaman beranda, halaman produk, halaman alat, atau halaman arahan SEO untuk mendeteksi masalah SEO dasar lebih awal.

  • Jalankan Pemeriksaan Kesehatan SEO Cepat

    Periksa apakah halaman memiliki judul, deskripsi meta, H1, tag kanonis, skema, tautan internal, dan sinyal SEO dasar lainnya yang tepat.

  • Tinjau Halaman yang Ada dengan Masalah Peringkat

    Gunakan ketika halaman terindeks tetapi tidak mendapat peringkat baik, atau saat Anda ingin dengan cepat mengidentifikasi masalah on-page dan tingkat situs yang jelas.

SKILL.md

seo-audit — Audit SEO Dasar

Agen keterampilan SEO ringan yang dirancang untuk audit halaman tunggal default yang cepat. Didukung oleh OpenClaw. Cocok untuk pemeriksaan halaman pertama kali atau ketika penilaian cepat diperlukan tanpa kedalaman teknis penuh.


Kapan Menggunakan Keterampilan Ini

Gunakan seo-audit ketika:

  • Pengguna mengatakan: "audit halaman ini", "periksa SEO", "analisis URL saya", "pemeriksaan SEO cepat", "apa yang salah dengan halamanku"
  • Tidak ada kedalaman spesifik yang diminta — ini adalah titik masuk default
  • Pengguna membutuhkan ringkasan yang cepat dan mudah dibaca daripada uraian teknis yang komprehensif

Jika pengguna menginginkan lebih mendalam, upgrade ke seo-audit-full:

Tip: Untuk audit teknis mendalam, SEO on-page tingkat lanjut, atau laporan lengkap, gunakan keterampilan seo-audit-full.


Masukan yang Diharapkan

MasukanWajibCatatan
URL HalamanYaHalaman yang akan diaudit
HTML mentah atau konten halamanOpsionalMemungkinkan analisis on-page yang lebih akurat
Data GSC / analitikOpsionalTidak diperlukan untuk audit dasar

Jika hanya URL yang diberikan dan tidak ada kode sumber atau data crawler yang tersedia, nyatakan dengan jelas:

Keterbatasan: Audit ini hanya didasarkan pada konten halaman yang terlihat dan sinyal yang tersedia secara publik. Kode sumber, data GSC, log crawl, dan metrik kinerja tidak tersedia untuk audit ini.


Keluaran

Hasilkan Laporan Audit SEO Dasar dengan mengisi template di assets/report-template.html, kemudian simpan ke file — jangan pernah cetak HTML mentah ke terminal.

Penamaan file: reports/<hostname>-<slug>-audit.html

https://example.com/blog/best-tools → reports/example-com-blog-best-tools-audit.html
https://example.com/                → reports/example-com-audit.html

Setelah disimpan, beri tahu pengguna:

✅ Laporan disimpan → reports/example-com-audit.html
   Buka sekarang? (ya / tidak)

Jika ya → jalankan: open reports/example-com-audit.html


Placeholder template — isi masing-masing secara independen:

PlaceholderKonten
{{summary_verdict}}Satu kalimat: total pemeriksaan dijalankan, berapa banyak yang gagal/peringatan/lulus
{{summary_critical_html}}<li> per item kritis (gagal), atau <li class="summary-empty">Tidak ada</li>
{{summary_warnings_html}}<li> per item peringatan, atau <li class="summary-empty">Tidak ada</li>
{{summary_passing_html}}<li> per pemeriksaan lulus, atau <li class="summary-empty">Tidak ada</li>

Skrip

Jalankan skrip ini sebelum menulis temuan apa pun. Mereka mengeluarkan JSON terstruktur — gunakan JSON langsung sebagai bukti; jangan ambil ulang URL yang sama secara manual.

Dependensi: pip install requests (parsing html menggunakan pustaka standar Python)

# Langkah 1: pemeriksaan tingkat situs (robots.txt + sitemap.xml)
python scripts/check-site.py https://example.com

# Langkah 2: pemeriksaan tingkat halaman (H1, title, meta description, canonical)
python scripts/check-page.py https://example.com
# Dengan kata kunci utama (disarankan — mengaktifkan pemeriksaan keberadaan kata kunci H1)
python scripts/check-page.py https://example.com --keyword "sepatu lari"

# Opsional: ambil HTML halaman mentah untuk inspeksi lebih lanjut
python scripts/fetch-page.py https://example.com --output page.html

# Langkah 3: validasi skema JSON-LD
python scripts/check-schema.py https://example.com
# Atau dari HTML yang diambil sebelumnya (menghindari pengambilan ganda):
python scripts/check-schema.py --file page.html

Setiap skrip keluar dengan kode 0 (semua lulus/peringatan) atau 1 (ada yang gagal/error).

RUANG LINGKUP KETAT — jangan tambahkan pemeriksaan apa pun yang tidak tercantum di bawah. Tidak ada pengecualian.

Pemeriksaan tingkat situs yang diizinkan (dalam {{site_checks_html}}):

  • robots.txt · sitemap.xml · Penanganan 404 · Kanonikalisasi URL · i18n / hreflang

Pemeriksaan E-E-A-T yang diizinkan (dalam {{eeat_checks_html}}):

  • Tentang Kami · Kontak · Kebijakan Privasi · Ketentuan Layanan · Media/Mitra (hanya jika ada)

Pemeriksaan tingkat halaman yang diizinkan (dalam {{page_checks_html}}), keluaran dalam urutan tepat ini: Slug URL · Tag Judul · Deskripsi Meta · Tag H1 · Tag Kanonikal · Teks Alt Gambar · Jumlah Kata · Penempatan Kata Kunci · Struktur Heading · Tautan Internal · Skema (JSON-LD)

Logika Teks Alt Gambar:

  • Parse tag <img> dari HTML statis
  • Lulus: semua gambar memiliki alt non-kosong (gambar dekoratif dengan alt="" OK)
  • Peringatan: gambar konten apa pun kehilangan atribut alt
  • Tidak terverifikasi (status-info): 0 gambar ditemukan di HTML statis → kemungkinan dirender JS, tidak dapat diverifikasi

⛔ ATURAN KERAS — Keluarkan HANYA baris pemeriksaan yang ditentukan di report-template.html. Jika pemeriksaan tidak ada dalam daftar yang diizinkan di atas, JANGAN keluarkan — bahkan jika Anda menemukan masalah. Tidak ada pengecualian. Tidak ada pemeriksaan "bonus". Tidak ada improvisasi. Template adalah satu-satunya sumber kebenaran. Perlakukan sebagai whitelist ketat.

Masih DILARANG (milik seo-audit-full): Tag OG · Kartu Twitter · Tag sosial · Berat Halaman · Core Web Vitals · Robots Meta

Cara menggunakan keluaran JSON:

  • Petakan setiap field statuspass / warn / fail / error langsung ke tabel pemeriksaan laporan
  • Gunakan string detail setiap field sebagai titik awal untuk baris Bukti dalam temuan
  • Jangan bertentangan dengan keluaran skrip kecuali Anda memiliki bukti tambahan yang dapat diamati
  • Pisahkan grup pemeriksaan dengan <div class="subsection-label">Label</div> di dalam {{site_checks_html}}: Crawlability · Kanonikalisasi URL · i18n / hreflang · Skema (JSON-LD) dan <div class="subsection-label">Halaman Kepercayaan E-E-A-T</div> sebelum {{eeat_checks_html}}

Tinjauan LLM — wajib ketika llm_review_required: true:

Skrip menandai field yang memerlukan penilaian semantik atau kualitas yang tidak dapat dilakukan. Jangan biarkan llm_review_required: true tidak terselesaikan — selalu buat panggilan penilaian eksplisit.

H1 — dipicu ketika keyword_match == "partial":

h1_text : (dari h1.values[0])
keyword : (--keyword yang diteruskan ke skrip)

Nilai: Apakah H1 ini secara semantik mencakup maksud pencarian kata kunci?
  - Pertimbangkan sinonim, varian alami, cakupan topik
  - ya → turunkan ke "pass", catat variannya
  - tidak → pertahankan "warn" atau tingkatkan ke "fail", jelaskan kesenjangannya

Judul — dipicu ketika keyword_match == "partial" ATAU keyword_position != "start":

title   : (dari title.value)
keyword : (--keyword yang diteruskan)

Nilai:
  1. Apakah judul secara semantik mencakup maksud pencarian kata kunci?
  2. Apakah judul secara tata bahasa benar dan mudah dibaca secara alami?
  3. Posisi kata kunci — terapkan standar yang berbeda berdasarkan jenis halaman:
     - Beranda   : Merek + kata kunci inti adalah benar (mis. "Acme | Otomatisasi Alur Kerja AI")
                    Jangan tandai merek di awal sebagai masalah.
     - Halaman dalam: Kata kunci inti harus memimpin (mis. "Otomatisasi Alur Kerja AI untuk Tim — Acme")
                    Tandai jika kata kunci terkubur di tengah judul tanpa alasan yang baik.

PENTING — jangan tandai ini sebagai negatif:
  - Tahun (mis. "2026") → sinyal kesegaran, meningkatkan RKT — perlakukan sebagai positif kecuali
    halaman adalah konten evergreen eksplisit di mana penanggalan akan merugikan umur panjang.
  - Angka (mis. "5 terbaik", "10 Top", "3 langkah") → menetapkan ekspektasi yang jelas,
    secara konsisten mengungguli judul non-numerik dalam RKT — selalu perlakukan sebagai plus.
  - Kualifikasi spesifik ("Sumber Terbuka", "Self-Hosted", "Gratis") → mempersempit maksud
    dan menarik klik berkualitas lebih tinggi — jangan menghukum.

Slug URL — dipicu ketika keyword_match != "full" or is_homepage == false:

slug    : (dari url_slug.slug)
keyword : (--keyword yang diteruskan)

Nilai:
  1. Apakah slug berisi kata kunci utama atau varian alami?
  2. Apakah hierarki jalur logis? (/kategori/kata-kunci ideal)
  3. Apakah ringkas dan dapat dibaca manusia?
  Beranda (is_homepage: true): lewati — tidak perlu penilaian.

Deskripsi Meta — selalu dipicu ketika konten ada:

meta_description : (dari meta_description.value)
keyword          : (--keyword yang diteruskan)

Nilai keempatnya:
  1. Kalimat lengkap? (1-2 kalimat, tanpa fragmen)
  2. Menyebutkan hasil konkret — bukan omong kosong?
     Baik: "Kurangi waktu desain hingga 60% dengan template bertenaga AI"
     Buruk: "Alat terbaik untuk semua kebutuhan desain Anda"
  3. Kata kunci atau sinonim alami digunakan sekali — tidak terlalu sering?
  4. Lebih spesifik dari yang biasanya ditulis pesaing?

PENTING — jangan tandai ini sebagai negatif:
  - Tahun (mis. "2026") → sinyal kesegaran, meningkatkan RKT untuk kueri sensitif waktu.
    Hanya catat tahun jika halaman adalah konten evergreen eksplisit di mana penanggalan merugikan.
  - Angka (mis. "5 terbaik", "3 langkah") → spesifisitas konkret, sinyal RKT yang kuat.
  - "dan banyak lagi." di akhir → paling banter catatan gaya minor, tidak pernah Peringatan atau Gagal.

Alur Kerja yang Direkomendasikan

Ikuti langkah-langkah ini secara berurutan:

  1. Akui ruang lingkup — konfirmasi ini adalah audit dasar; catat data yang hilang

  2. Simpulkan kata kunci utama — ambil halaman dengan fetch-page.py, lalu tentukan kata kunci utama:

    • Jika pengguna secara eksplisit memberikan kata kunci → gunakan langsung
    • Jika tidak → baca H1 halaman, judul, dan paragraf pertama, lalu simpulkan frasa kata kunci target yang paling mungkin (apa yang akan diketik pencari untuk menemukan halaman ini?)
    • Nyatakan kata kunci yang disimpulkan secara eksplisit sebelum menjalankan pemeriksaan:

      "Kata kunci utama yang disimpulkan: alternatif open source claude"

  3. Jalankan check-site.py — parse keluaran JSON untuk robots, sitemap, penanganan 404, dan kanonikalisasi URL

    Pemeriksaan 404: ambil <origin>/halaman-ini-pasti-tidak-ada-audit-seo

    • Mengembalikan 404 → Lulus · Mengembalikan 200 (soft 404) → Gagal · Mengembalikan 301 ke beranda → Peringatan

    Pemeriksaan Kanonikalisasi URL (masing-masing sub-pemeriksaan terpisah):

    • HTTP→HTTPS: ambil http://<host> — harus 301 ke https://. Mengembalikan 200 → Gagal.
    • Konsistensi www: ambil https://www.<host> dan https://<host> — salah satu harus 301 ke yang lain. Keduanya mengembalikan 200 → Peringatan.
    • Slash akhir: bandingkan URL yang sebenarnya disajikan vs tag kanonikal di halaman. Ketidakcocokan → Peringatan.
    • Kecocokan kanonikal: href tag kanonikal harus persis cocok dengan URL akhir setelah semua pengalihan. Ketidakcocokan → Peringatan.
  4. Pemeriksaan infrastruktur E-E-A-T — untuk setiap halaman kepercayaan di bawah, periksa dua lapisan:

    • Lapisan 1 — Ada: ambil URL, periksa status HTTP (200 = ada, 404/pengalihan = hilang)
    • Lapisan 2 — Terjangkau: ambil HTML beranda, periksa apakah footer atau navigasi berisi tautan ke halaman ini
    HalamanWajib
    Tentang KamiYa
    KontakYa
    Kebijakan PrivasiYa
    Ketentuan LayananYa
    Media / MitraTidak — sertakan hanya jika ada

    Aturan status:

    • Halaman hilang (non-200) → Gagal
    • Halaman ada tetapi tidak ditautkan di footer/nav → Peringatan
    • Halaman ada dan ditautkan di footer/nav → Lulus
    • Halaman opsional hilang → lewati, jangan sertakan baris
  5. Jalankan check-page.py --keyword "<kata_kunci_yang_disimpulkan>" — parse keluaran JSON untuk H1, judul, deskripsi meta, kanonikal, dan slug URL

  6. Pemeriksaan i18n / hreflang — hanya jalankan jika halaman berisi tag hreflang atau <html lang> menunjukkan multi-bahasa:

    • Lewati seluruhnya (N/A) jika tidak ada tag hreflang ditemukan dan situs tampaknya satu bahasa
    • Jika tag hreflang ada, periksa:
      • Simetri timbal balik: setiap URL yang dirujuk harus menautkan kembali ke semua varian lainnya — tautan putus = Gagal
      • Kode bahasa: harus BCP 47 yang valid (mis. zh-CN bukan zh, en-US bukan en-us) — kode salah = Peringatan
      • x-default: harus ada untuk halaman pemilih bahasa atau fallback — hilang = Peringatan
      • Atribut html[lang]: harus cocok dengan hreflang utama halaman — ketidakcocokan = Peringatan
      • Struktur URL: pola yang direkomendasikan — bahasa default (biasanya en) di root tanpa awalan, bahasa lain di bawah subpath (/zh/, /es/).
        • /page (en) + /zh/page + /es/page → Lulus
        • /en/page + /zh/page → Peringatan (awalan en redundan, membuang kedalaman crawl)
        • Hanya tandai jika polanya jelas tidak konsisten atau en tidak perlu diberi awalan
  7. Jalankan check-schema.py — parse keluaran JSON untuk jenis skema dan validasi field

    python scripts/check-schema.py https://example.com
    # Atau dari HTML yang diambil sebelumnya:
    python scripts/check-schema.py --file page.html
    

    Skrip mengekstrak blok JSON-LD, memvalidasi @type dan field yang diperlukan sesuai spesifikasi Schema.org. llm_review_required: true selalu disetel — konfirmasi inferred_page_type cocok dengan konten halaman aktual.

    Jenis halaman → referensi @type yang diharapkan:

    Jenis Halaman@type yang DiharapkanField minimum yang diperlukan
    BerandaWebSite + Organizationname, url, logo
    Blog / ArtikelArticle atau BlogPostingheadline, datePublished, author, image
    ProdukProductname, image, offers (price, priceCurrency)
    FAQFAQPagemainEntity[].name, acceptedAnswer.text
    How-toHowToname, step[].text
    Bisnis lokalLocalBusinessname, address, telephone
    Landing generikN/A — lewati, tidak ada tipe yang didukung secara luas
    • Lulus: @type yang benar ada, semua field yang diperlukan valid, tidak ada konflik
    • Peringatan: @type ada tetapi kehilangan field yang direkomendasikan
    • Gagal: @type yang diharapkan hilang seluruhnya
    • N/A: halaman landing generik — jangan menghukum
  8. Ringkas temuan — setiap temuan harus mengikuti format Bukti / Dampak / Perbaikan

  9. Tindakan prioritas — daftar 3 perbaikan dampak tertinggi

  10. Render laporan — simpan ke reports/<hostname>-<slug>-audit.html, lalu tanya pengguna untuk membuka

  11. Prompt upgrade — jika masalah di luar cakupan dasar ditemukan, sarankan seo-audit-full


Aturan Penulisan Detail Laporan

Sel Detail dalam tabel pemeriksaan harus mengikuti aturan ini — tidak ada pengecualian:

Lulus → satu frasa pendek. Tidak ada daftar, tidak ada elaborasi.

Baik: "urlset XML valid · 104 URL · direferensikan di robots.txt."
Buruk: "urlset XML valid dengan 104 URL. Direferensikan dengan benar di robots.txt.
       Posting blog kemungkinan diindeks melalui peta situs ini."

Peringatan → satu <div class="detail-issue"> dengan ≤2 poin peluru. Satu <div class="detail-fix"> dengan perbaikannya.

Baik:
  <div class="detail-issue">· Judul 48 karakter — 2 di bawah minimum. · Tahun "2026" akan memberi tanggal halaman.</div>
  <div class="detail-fix">Perluas menjadi 50–60 karakter; hapus tahun jika evergreen.</div>

Buruk: prosa tiga kalimat menjelaskan apa itu tag judul dan mengapa panjangnya penting.

Gagal → sama seperti Peringatan. Awali dengan kegagalan persis. Tidak ada penjelasan latar belakang.

JANGAN menjelaskan apa itu pemeriksaan, JANGAN mengulangi informasi yang sudah terlihat di lencana status, JANGAN perlakukan pembaca sebagai tidak terbiasa dengan dasar-dasar SEO.


Format Temuan Wajib

Setiap temuan penting harus mengikuti struktur ini:

**Temuan: [Judul Temuan]**

- **Bukti:** [Apa yang diamati — kutipan langsung, referensi tangkapan layar, atau data terukur]
- **Dampak:** [Mengapa ini penting untuk SEO atau UX]
- **Perbaikan:** [Rekomendasi spesifik yang dapat ditindaklanjuti]

Jangan tulis kesimpulan yang tidak jelas. Jika bukti tidak cukup, nyatakan asumsi secara eksplisit.


Prompt Upgrade

Sertakan ini di akhir setiap laporan audit dasar:

Ingin analisis yang lebih dalam? Ini adalah audit SEO dasar yang mencakup sinyal tingkat situs dan pemeriksaan on-page inti. Untuk SEO teknis tingkat lanjut, penilaian kualitas konten, analisis data terstruktur, dan temuan berbasis crawl penuh, gunakan keterampilan seo-audit-full.


File Referensi

  • Cakupan audit terperinci dan definisi field: references/REFERENCE.md
  • Template laporan HTML akhir: assets/report-template.html
  • Skrip pemeriksaan tingkat situs: scripts/check-site.py
  • Skrip pemeriksaan tingkat halaman: scripts/check-page.py
  • Pengambil halaman mentah: scripts/fetch-page.py
  • Skrip validasi skema: scripts/check-schema.py

FAQ