Gesaan dan konteks
Sebuah laman berbilang bahasa mempunyai halaman awam, halaman yang disahkan (authenticated), dan halaman pratonton sementara. Pasukan menambah laluan pratonton ke robots.txt dengan Disallow, menambah noindex pada halaman, dan menggunakan satu URL canonical untuk setiap bahasa. Selepas pelancaran, URL pratonton masih muncul dalam carian dan beberapa halaman bahasa mempunyai URL terindeks yang salah. Terangkan sempadan ketiga-tiga isyarat ini dan cadangkan pelan migrasi dan pengesahan.
Perkara yang sedang diuji oleh penemu duga
- Sama ada anda memisahkan perayapan (crawling), pengindeksan (indexing), dan pemilihan URL pilihan.
- Sama ada anda tahu bahawa perayap yang disekat oleh robots.txt mungkin tidak dapat melihat noindex.
- Sama ada anda boleh mengendalikan meta robots HTML,
X-Robots-TagHTTP, canonical, pengalihan (redirects), dan percanggahan. - Sama ada anda boleh mereka bentuk semakan berbilang bahasa, cache, rollback, dan Search Console.
Soalan penjelasan untuk ditanya terlebih dahulu
- Adakah matlamatnya untuk menyekat perayapan, menyekat pengindeksan, atau menyatukan URL pendua?
- Adakah perayap carian mesti mengambil (fetch) halaman tersebut untuk menemui noindex atau canonical-nya?
- Adakah halaman pratonton memerlukan pengesahan, dan bolehkah pautan luar atau peta laman merujuknya?
- Adakah halaman bahasa merupakan terjemahan satu-ke-satu dengan canonical dan hreflang tersendiri?
- Di manakah pengepala dan teg ini ditetapkan: CDN, pelayan aplikasi, atau templat HTML?
Rangka jawapan 30 saat
Saya mengasingkan perayapan, pengindeksan, dan pengkanonikan (canonicalization). robots.txt mengawal sama ada perayap boleh meminta sumber; noindex mengawal sama ada halaman yang diambil dimasukkan ke dalam indeks; canonical ialah keutamaan untuk URL pendua atau hampir pendua, bukan pengalihan. Halaman pratonton harus disahkan atau boleh dirayap dengan noindex. Halaman bahasa pengeluaran harus mengkanonikal diri sendiri (self-canonicalize) dan membuat rujukan silang antara satu sama lain dengan hreflang. Saya akan mengesahkan respons yang dirender, akses perayap, tingkah laku cache, dan laporan Search Console.
Jawapan mendalam langkah demi langkah
Langkah 1: Tentukan tiga satah kawalan (control planes)
robots.txt pada punca laman menjawab sama ada perayap boleh meminta sesuatu laluan. Ia tidak memadamkan URL yang diindeks dan tidak menjamin bahawa URL yang ditemui melalui pautan luar akan kekal di luar keputusan carian. noindex ialah arahan pengindeksan peringkat halaman untuk pratonton, hasil carian, atau halaman bukan awam yang lain. canonical ialah isyarat pemilihan URL untuk kandungan pendua atau hampir pendua.
Langkah 2: Jangan sembunyikan noindex di sebalik Disallow
Apabila sesuatu laluan turut di-Disallow, perayap mungkin tidak mengambil halaman tersebut dan oleh itu tidak dapat melihat teg meta robots atau X-Robots-Tag: noindex. Untuk menjadikan noindex boleh diperhatikan, benarkan perayapan dan kembalikan noindex dalam HTML atau pengepala HTTP. Kandungan sensitif memerlukan pengesahan atau pembenaran (authorization), bukan arahan perayap. Semasa migrasi, alih keluar sekatan rayapan dan tunggu perayapan semula serta kemas kini indeks.
Langkah 3: Pilih pembawa noindex peringkat halaman
HTML boleh menggunakan meta name="robots" content="noindex,follow"; sumber bukan HTML dan get laluan boleh menggunakan X-Robots-Tag. Uji templat dan pengepala respons, dan batalkan sah (invalidate) objek CDN lapuk. follow boleh mengekalkan penemuan pautan untuk halaman yang bertujuan untuk kekal di luar indeks, tetapi ia bukan kawalan akses dan tingkah laku perayap masih terpakai.
Langkah 4: Reka bentuk pemetaan canonical dan bahasa
Setiap halaman bahasa yang boleh diindeks secara amnya harus mempunyai canonical mutlak, boleh dicapai, dan merujuk diri sendiri dengan status, skema, hos dan laluan yang konsisten. Jangan kanonikkan setiap terjemahan kepada bahasa lalai atau terjemahan tersebut mungkin disatukan sebagai pendua. Gunakan hreflang untuk versi ganti, dan pastikan peta laman, pautan dalaman, dan canonical menggunakan set URL kanonikal yang sama.
Langkah 5: Kendalikan migrasi, pengalihan, dan cache
Gunakan pengalihan kekal bahagian pelayan untuk migrasi URL; canonical halaman lama tidak menggantikan pengalihan. Sebelum menyerahkan peta laman, sahkan respons 200 halaman baharu, canonical, arahan robots, dan hreflang. Batalkan sah respons CDN mengikut URL dan pengepala supaya bahagian pinggir (edge) sepadan. Rollback mesti mengekalkan dasar pengalihan dan pengindeksan lama dan bukannya mendedahkan versi bercampur.
Langkah 6: Bina laluan diagnosis yang boleh diperhatikan
Semak akses robots.txt terlebih dahulu, kemudian periksa HTML langsung dan pengepala respons untuk membandingkan noindex dan canonical dengan templat. Seterusnya periksa status rayapan dan indeks Search Console, canonical yang dipilih Google, masa rayapan terakhir, dan penemuan peta laman. Log URL, bahasa, status, canonical, arahan robots, usia cache, dan versi keluaran untuk kebolehauditan.
Langkah 7: Tentukan ujian penerimaan dan regresi
Cipta asersi untuk setiap jenis halaman: pratonton boleh dirayap dan noindex; halaman bahasa pengeluaran mengembalikan 200 dan mengkanonikal diri sendiri; URL lama membuat 301 ke URL baharu; halaman yang dilindungi tidak membocorkan kandungan. Uji peraturan robots untuk sempadan huruf besar/kecil dan garis miring penutup, percanggahan HTML/pengepala, pembatalan sah cache berbilang pinggir, dan status Search Console yang disampelkan.
Contoh jawapan berkualiti tinggi
Isyarat-isyarat ini menyelesaikan masalah yang berbeza: robots.txt mengawal permintaan, noindex mengawal kemasukan indeks, dan canonical mencadangkan URL pilihan antara pendua. Halaman pratonton tidak boleh disekat dan pada masa yang sama dijangka mendedahkan noindex; biarkan perayap mengambilnya dengan noindex, dan gunakan pengesahan untuk rahsia. Setiap halaman bahasa pengeluaran harus mengkanonikal diri sendiri dan menggunakan hreflang, manakala peta laman dan pautan dalaman sepadan. Gunakan pengalihan 301 untuk migrasi, kemudian sahkan robots, respons langsung, cache, log rayapan, dan Search Console lapisan demi lapisan.
Kesilapan biasa
- Menganggap robots.txt sebagai mekanisme penyingkiran yang terjamin.
- Menyekat halaman dan mengharapkan perayap membaca noindex-nya.
- Mengkanonikal setiap halaman bahasa kepada satu bahasa sahaja.
- Menyemak sumber HTML sambil mengabaikan pengepala CDN dan objek lapuk.
- Menggunakan canonical dan bukannya pengalihan yang diperlukan atau kawalan akses.
Soalan susulan dan jawapan
Soalan susulan 1: Mengapakah URL yang disekat masih boleh muncul dalam keputusan carian?
Perayap mungkin menemui URL melalui pautan luar tetapi tidak dapat mengambil kandungannya. Enjin carian masih boleh memaparkan URL atau maklumat terhad. Untuk menyekat pengindeksan, jadikan halaman boleh diambil dengan noindex atau wajibkan pengesahan.
Soalan susulan 2: Adakah canonical arahan mandatori?
Ia adalah isyarat yang boleh diabaikan. Kandungan, pengalihan, pautan dalaman, peta laman, dan teg canonical haruslah sepadan; canonical bukan kawalan akses atau jaminan pemadaman.
Soalan susulan 3: Bagaimana jika pratonton mesti kekal boleh ditemui melalui pautan?
Benarkan perayapan dan kembalikan noindex. Jika pratonton itu sensitif, gunakan log masuk, URL bertandatangan, atau mekanisme kawalan akses lain. Jangan bergantung pada robots.txt untuk menyembunyikan rahsia.
Soalan susulan 4: Bagaimanakah anda menyelesaikan percanggahan antara pengepala HTTP dan meta robots?
Jana kedua-duanya daripada satu sumber dasar halaman dan sampel respons asal (origin) serta pinggir (edge). Jangan meneka isyarat mana yang menang; periksa respons sebenar, HTML, dan dokumentasi enjin carian sasaran, kemudian keluarkan satu dasar yang jelas.
Soalan susulan 5: Bagaimanakah anda menguji gelung canonical berbilang bahasa?
Ambil setiap URL bahasa dan sahkan canonical mutlak, boleh dicapai, dan merujuk diri sendiri. Kemudian sahkan timbal balik hreflang dan kod bahasa, serta semak bahawa peta laman dan pautan dalaman tidak menghala ke hos lama atau bahasa yang salah.