Skip to content
Carian

robots.txt untuk SEO: kawal perayapan dengan cekap

Pelajari cara menggunakan robots.txt untuk mengarahkan perayap dengan selamat, elakkan kesilapan pengindeksan, sahkan kelakuan dengan curl dan log, serta terapkan contoh praktikal untuk laman produksi.

Robots.txt SEO: Control Crawling Efficiently

Apa yang robots.txt lakukan — dan apa yang ia tidak lakukan

Robots.txt ialah fail teks biasa yang diletakkan di akar laman (https://example.com/robots.txt). Peranannya terhad: ia memberi arahan perayapan kepada perayap yang mematuhi. Gunakannya untuk mengurangkan permintaan yang tidak perlu pada kawasan bernilai rendah dan untuk meningkatkan kecekapan perayapan; jangan bergantung padanya untuk mengawal pengindeksan atau menyembunyikan kandungan sensitif.

Mengawal perayapan, bukan pengindeksan

Arahan Disallow menghalang perayap yang mematuhi daripada mengakses laluan URL. Jika satu halaman dihalang daripada perayapan, enjin carian mungkin masih mengindeks URLnya berdasarkan isyarat luar (contohnya, pautan) tetapi mereka tidak akan melihat HTML halaman atau tag meta robots. Untuk mencegah pengindeksan dengan yakin, benarkan perayapan supaya perayap boleh membaca tag meta robots noindex atau menggunakan header respons X-Robots-Tag dengan noindex pada sumber itu sendiri.

Terbuka, bersifat nasihat, dan bukan kawalan keselamatan

Robots.txt boleh diakses secara terbuka dan bersifat nasihat: mana-mana pengguna boleh membacanya di /robots.txt, dan perayap berniat jahat mungkin mengabaikan arahan di dalamnya. Jangan senaraikan rahsia atau laluan peribadi dalam robots.txt; anggap ia sebagai dokumen kawalan perayapan, bukan mekanisme kawalan akses.

Sintaks teras dan arahan biasa

Kebanyakan laman akan menggunakan set arahan kecil. Spesifikasi dan peluasan praktikal yang digunakan oleh enjin carian utama menyokong corak asas, wildcard dan penunjuk sitemap. Kekalkan peraturan ringkas dan dokumentasikan niat dalam komen bila boleh.

Arahan utama (contoh dipaparkan sebagai baris literal):

  • User-agent: <bot-name> — sasar satu perayap; gunakan User-agent: * untuk semua perayap.
  • Disallow: /path/ — cegah perayap mengakses laluan di bawah /path/.
  • Allow: /path/file.js — benarkan secara jelas laluan di bawah induk yang di-Disallow (disokong oleh enjin utama).
  • Sitemap: https://example.com/sitemap.xml — menunjuk perayap ke sitemap XML(atau lebih).
  • Wildcard: * (padanan sebarang urutan) dan $ (hujung-rentetan) disokong dalam praktik oleh enjin utama; gunakan dengan berhati-hati untuk corak parameter pertanyaan.
  • Arahan bukan standard: Crawl-delay dan Host diiktiraf oleh sesetengah perayap tetapi bukan sebahagian daripada standard asal — uji tingkah laku untuk user-agents yang anda pentingkan.

Bagaimana robots.txt berinteraksi dengan pengindeksan dan kedudukan

Pisahkan perayapan, pengindeksan dan kedudukan: robots.txt memberi kesan pada peringkat perayapan (sama ada perayap mengambil URL). Pengindeksan memerlukan perayap membaca kandungan halaman atau menggunakan meta/X-Robots-Tag. Kedudukan adalah proses seterusnya yang bergantung pada isyarat, sebahagiannya datang dari kandungan halaman; jika perayap tidak dapat mengambil halaman, isyarat yang berasal daripada kandungan itu tidak tersedia.

Kesan praktikal:

  • Menghalang halaman dalam robots.txt bermakna enjin carian tidak dapat mengambil halaman untuk membaca tag meta robots noindex atau data berstruktur.
  • Jika sumber penting (CSS/JS) dihalang, pengindeksan mobile-first dan rendering boleh gagal melihat halaman dengan betul; memandangkan Google menggunakan versi mudah alih sebagai asas utama untuk perayapan dan pengindeksan, dan memandangkan Googlebot Smartphone adalah perayap lalai sejak July 2024, benarkan sumber yang diperlukan untuk rendering pada mudah alih.

Pengesahan: cara menguji apa yang sebenarnya dilihat perayap

Sahkan kebolehcapaian dan kandungan robots.txt dari luar dan pastikan bagaimana laman anda bertindak balas terhadap permintaan perayap sebenar. Gunakan log pelayan, permintaan terus dan alat Search Console untuk halaman yang anda kawal.

Semakan pantas dengan curl

Untuk mengambil header respons HTTP bagi robots.txt (hanya header):

  • curl -I https://example.com/robots.txt — mengembalikan hanya header respons; sahkan kod status dan Content-Type.

Untuk mendapatkan fail penuh sebagai user-agent tertentu (HTML dan arahan):

  • curl -A "Googlebot" https://example.com/robots.txt — mengembalikan badan fail menggunakan rentetan user-agent yang ditetapkan.

Log pelayan dan bukti perayapan sebenar

Periksa log pelayan untuk permintaan ke /robots.txt dan untuk user-agent perayap seperti Googlebot atau Bingbot. Log menunjukkan kekerapan pengambilan, kod respons, dan sama ada perayap cuba akses URL yang dihalang. Untuk halaman yang anda miliki, gunakan URL Inspection dalam Search Console untuk melihat isyarat perayapan dan pengindeksan; untuk halaman pihak ketiga, carian site: memberikan petunjuk tetapi tidak muktamad.

Kesilapan biasa dan cara membetulkannya

Elakkan ralat kerap ini semasa mengurus robots.txt.

  • Menghalang CSS/JS yang diperlukan untuk rendering: penyelesaian — benarkan laluan bagi aset yang diperlukan oleh aliran rendering mudah alih supaya Googlebot Smartphone dapat merender halaman dengan tepat.
  • Mengharapkan robots.txt untuk noindex URL: pembetulan — alih keluar Disallow bagi halaman dan gunakan tag meta robots noindex atau header X-Robots-Tag supaya enjin carian dapat melihat arahan itu.
  • Menyenaraikan URL sensitif dalam robots.txt: pembetulan — jangan dedahkan laluan peribadi dalam robots.txt; lindungi dengan pengesahan dan kawalan akses sisi-pelayan yang betul.
  • Peraturan wildcard yang terlalu kompleks yang secara tidak sengaja memadankan halaman sah: pembetulan — uji setiap corak dengan URL contoh dan dokumentasikan niat dalam komen, kekalkan peraturan se-spesifik mungkin.

Strategi robots.txt yang disyorkan

Amalkan pendekatan konservatif dan boleh diuji: kekalkan robots.txt minimal, tunjukkan perayap kepada sitemap, dan utamakan kawalan pada peringkat halaman seperti meta/X-Robots-Tag untuk pengurusan indeks.

Corak praktikal:

  • Benarkan lalai dan sitemap: sertakan User-agent: * dan arahan Sitemap supaya perayap dapat menemui struktur anda dengan cepat.
  • Disallow halaman kueri bernilai rendah atau hasil carian dalaman, tetapi elakkan menghalang corak parameter yang juga memadankan kandungan kanonik; utamakan pengendalian parameter dalam sitemap anda atau melalui tag kanonik.
  • Staging atau pembangunan: blok perayap semasa staging terbuka kepada umum, tetapi alih keluar atau ubah blok sebelum pelancaran; jangan bergantung kepada robots.txt sebagai satu-satunya perlindungan untuk aset pra-produksi.

Contoh yang boleh anda sesuaikan

Tapak ringkas dengan sitemap

User-agent: *
Disallow:
Sitemap: https://example.com/sitemap.xml

CMS biasa (benarkan admin-ajax)

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap_index.xml

Blok staging (pelayan awam tetapi belum hidup)

User-agent: *
Disallow: /

Amaran: blok staging mesti dialih keluar sebelum pelancaran; juga selamatkan staging dengan pengesahan supaya enjin carian dan pihak ketiga tidak secara tidak sengaja mengindeksnya jika fail robots diubah.

Mengekalkan robots.txt pada skala besar

Untuk laman besar, anggap robots.txt sebagai artifak konfigurasi: simpan dalam kawalan sumber, semak perubahan melalui pull request, dan gunakan deploy bersama laman supaya staging dan produksi mempunyai fail spesifik persekitaran yang betul. Automasikan ujian yang mengambil robots.txt yang telah dideploy dan sahkan sintaks peraturan terhadap URL wakil.

Jika anda mengendalikan beberapa subdomain, ingat bahawa robots.txt khusus hos: peraturan di example.com/robots.txt tidak terpakai kepada sub.example.com.

Soalan Lazim

Bolehkah robots.txt menghalang halaman muncul dalam hasil carian?

Tidak boleh diharap. Robots.txt boleh menghentikan perayap daripada mengambil halaman, tetapi enjin carian mungkin masih mengindeks URL berdasarkan pautan luar atau isyarat lain. Untuk mencegah pengindeksan, benarkan perayapan dan gunakan tag meta robots noindex pada halaman atau header respons X-Robots-Tag: noindex supaya perayap boleh membaca arahan itu.

Bagaimana saya periksa bahawa Google mematuhi robots.txt saya?

Dari luar, dapatkan https://example.com/robots.txt dengan curl untuk mengesahkan fail dan kod status, periksa log pelayan untuk permintaan Googlebot ke fail dan ke halaman yang anda jangka akan diperayap, dan gunakan URL Inspection dalam Search Console untuk halaman yang anda miliki untuk melihat percubaan perayapan dan status indeks. Carian site: boleh memberi petunjuk awam tetapi tidak muktamad.

Patutkah saya menghalang parameter URL dalam robots.txt?

Bersikap berhati-hati. Menghalang URL ber-parameter boleh menjimatkan bajet perayapan tetapi berisiko menyembunyikan kandungan yang dikanonkan atau diindeks jika corak terlalu luas. Utamakan tag kanonik, pengendalian parameter dalam sitemap, atau pengalihan sisi-pelayan di mana sesuai; uji sebarang corak dengan teliti sebelum dideploy.

Adakah Crawl-delay boleh dipercayai?

Crawl-delay adalah arahan bukan standard dan sokongannya berbeza mengikut perayap. Untuk laman yang memerlukan kawalan kadar perayapan, utamakan had kadar sisi-pelayan, robots tag meta untuk halaman terpilih, atau tetapan khusus perayap yang tersedia dalam perkhidmatan seperti Bing Webmaster Tools. Sentiasa uji tingkah laku untuk user-agent khusus yang anda sasarkan.

Artikel berkaitan