Dokumen awam yang tiada sepatutnya memaparkan penjelasan yang jelas dan mengembalikan status HTTP yang sesuai, biasanya 404. Pada Mac, anda boleh menyemak kedua-duanya dalam Chrome, mengenal pasti ketidakpadanan dan memberikan pembetulan yang tepat kepada sistem penerbitan anda.
Aliran kerja ini ditujukan kepada mereka yang menyelenggara halaman dokumen awam: panduan, nota rujukan atau helaian arahan ringkas. Tujuannya adalah untuk memastikan alamat yang diminta, respons pelayan dan mesej yang dipaparkan sepadan. Semua laluan contoh di bawah ialah rekaan.
Apakah respons yang patut dikembalikan untuk dokumen yang tiada?
Tentukan dahulu perkara yang sepatutnya berlaku di alamat dokumen itu. Halaman yang telah dipindahkan memerlukan pengendalian yang berbeza daripada halaman yang sudah tiada. Gunakan jadual keputusan ini sebelum mengubah reka bentuk halaman tiada.
| Keadaan dokumen | Respons yang dimaksudkan | Paparan kepada pembaca |
|---|---|---|
| Dokumen wujud di alamat yang diminta | 200 OK |
Dokumen lengkap |
| Dokumen mempunyai pengganti kekal yang jelas | Pengalihan 301 |
Dokumen pengganti di alamat baharunya |
| Dokumen tidak ditemui dan tiada pengganti yang setara | 404 Not Found |
Penjelasan berguna bahawa dokumen tiada |
| Dokumen sengaja dibuang dan kemungkinan besar tiada lagi secara kekal | 410 Gone adalah sesuai |
Penjelasan jelas tentang pembuangan dan navigasi yang berguna |
HTTP mentakrifkan 404 tanpa menyatakan sama ada ketiadaan itu sementara atau kekal. HTTP mentakrifkan 410 untuk sumber yang kemungkinan besar tidak tersedia secara kekal; jika status kekalnya tidak diketahui, gunakan 404. Maksud ini diterangkan dalam RFC 9110, seksyen 15.5.5 dan 15.5.11.
Google mengesyorkan pengalihan kekal apabila dokumen telah dipindahkan atau mempunyai pengganti yang jelas. Jika dokumen telah dibuang tanpa pengganti yang serupa, Google mengesyorkan 404 atau 410. Lihat panduan Google untuk mengendalikan respons kandungan yang tiada.
Contohnya, anggap /documents/paper-folding-notes telah menjadi /documents/paper-folding-guide, dengan arahan yang pada asasnya setara. Pengalihan kekal sesuai untuk perubahan itu. Jika nota tersebut dibuang tanpa pengganti, kekalkan respons dokumen tiada di alamat lama. Anda boleh menawarkan pautan ke direktori dokumen umum pada halaman itu.
Mengapa reka bentuk halaman tiada yang meyakinkan masih belum mencukupi
Halaman mungkin memaparkan Dokumen tidak ditemui dengan jelas sedangkan pelayannya mengembalikan 200. Google menyifatkan ketidakpadanan seperti ini sebagai 404 lembut; halaman kosong atau halaman tanpa kandungan utama juga boleh diklasifikasikan begitu. Baca penjelasan Google tentang ralat 404 lembut.
Status ialah sebahagian daripada respons HTTP dan berasingan daripada kandungan penjelasan. Oleh itu, mengubah tajuk atau menambah label 404 yang besar tidak dapat menetapkan kod respons. Semak permintaan dokumen sebenar sebelum memutuskan bahawa masalah itu telah selesai. RFC 9110 menerangkan peranan kod status respons.
Bagaimanakah anda menyemak respons dokumen pada Mac?
Gunakan alat terbina dalam Chrome untuk pemeriksaan ini. Sediakan satu alamat dokumen yang diketahui berfungsi dan satu laluan yang sengaja direka supaya tidak wujud di bawah tapak awam yang sama. Contohnya, laluan yang tiada itu mungkin /documents/missing-paper-example-731. Pilih alamat yang anda tahu tiada dokumen diterbitkan padanya.
- Buka halaman awam dalam Chrome.
- Tekan
Command+Option+Iuntuk membuka DevTools. - Pilih panel
Network. - Dengan DevTools terbuka, masukkan alamat ujian dalam bar alamat dan muatkannya.
Chrome mendokumenkan pintasan Mac dalam Buka Chrome DevTools. Aktiviti rangkaian direkodkan semasa DevTools terbuka, seperti yang diterangkan dalam gambaran keseluruhan panel Network.
- Pilih
Disable cachesupaya semakan ini tidak bergantung pada respons yang disimpan dalam cache pelayar. - Aktifkan
Preserve logjika anda perlu menjejaki navigasi melalui pengalihan. - Muat semula alamat ujian.
- Pilih permintaan dokumen utamanya, kemudian buka
Headers. Di bawahGeneral, baca alamat permintaan dan kod status.
Kawalan ini dan lokasi maklumat status didokumenkan dalam rujukan ciri Network Chrome.
Semak permintaan dokumen dengan teliti. Log itu turut mengandungi permintaan untuk skrip, gaya dan sumber lain. Fail sokongan yang tiada tidak membuktikan bahawa dokumen itu sendiri mengembalikan 404. Jadual permintaan Chrome membezakan kod HTTP dalam Status dan kategori sumber dalam Type; lihat Periksa aktiviti rangkaian.
Sekarang bandingkan tiga perkara: alamat yang mula-mula diminta, kod respons untuk dokumen itu dan halaman yang kelihatan selepas dimuatkan. Catatkan semuanya bersama-sama. Jika navigasi mengubah alamat, periksa permintaan asal dan alamat destinasi, bukannya hanya mencatat halaman akhir.
Bagaimanakah pemerhatian itu boleh dijadikan pembetulan?
Jadual diagnostik berikut ialah rumusan praktikal berdasarkan maksud HTTP dan panduan penyelesaian masalah Google. Ini alat bantu membuat keputusan, bukannya hasil pengukuran.
| Hasil yang diperhatikan | Perkara yang perlu disiasat | Pembetulan yang dimaksudkan |
|---|---|---|
200 dengan mesej dokumen tiada |
Pengendali laluan tiada atau pengganti lalai | Kembalikan 404 bersama penjelasan |
404 dengan dokumen yang dijangka dipaparkan |
Respons yang ditetapkan pada laluan sedia ada | Hidangkan dokumen itu dengan jayanya menggunakan 200 |
| Pengalihan ke direktori umum | Sama ada terdapat pengganti yang setara | Alihkan ke dokumen setara atau paparkan halaman tiada |
200 dengan dokumen kosong atau tidak lengkap |
Pemuatan dan pemaparan kandungan | Pulihkan kandungan yang dimaksudkan jika dokumen itu masih wujud |
404 dengan mesej halaman tiada yang berguna |
Sama ada alamat itu benar-benar tiada | Kekalkan tingkah laku itu jika ketiadaan memang dimaksudkan |
Dokumentasi penyelesaian masalah Google membezakan dengan jelas dokumen yang tidak tersedia, dokumen yang telah dipindahkan dan dokumen yang masih wujud tetapi gagal dimuatkan dengan betul. Perbezaan ini mengelakkan halaman berfungsi yang tidak lengkap daripada dianggap sebagai halaman yang sengaja dibuang. Lihat Selesaikan masalah ralat perayapan Google Search.
Untuk serahan kerja yang jelas, tulis: “Bagi laluan rekaan /documents/missing-paper-example-731, kembalikan 404 dan paparkan halaman dokumen tiada tersuai di alamat itu. Pastikan laluan dokumen sedia ada kekal berfungsi. Gunakan pengalihan kekal hanya apabila pengganti setara telah dikenal pasti.” Sertakan status yang diperhatikan dan mesej yang kelihatan daripada semakan anda.
Permintaan itu menerangkan tingkah laku yang diperlukan tanpa meneka nama menu penerbit anda. Pelaksanaan perlu dibuat dalam konfigurasi pengehosan, laluan aplikasi atau sistem penerbitan yang menghasilkan respons tersebut. Google menerangkan bahawa kod status HTTP dijana oleh pelayan pengehosan dalam dokumentasi kod status HTTP.
Bagaimana jika editor hanya membenarkan anda mengubah kandungan halaman?
Editor yang mengubah teks atau metadata dokumen mungkin tidak mengawal respons HTTP. WHATWG HTML Standard mentakrifkan tingkah laku khusus untuk arahan meta menggunakan http-equiv; menetapkan status respons HTTP bukan salah satu daripadanya. Oleh itu, menambah http-equiv="status" bukan cara yang disokong untuk menghasilkan 404. Lihat HTML Standard: Arahan pragma.
Jika kawalan respons tidak tersedia dalam editor, gunakan mekanisme halaman tiada yang didokumenkan pada lapisan pengehosan atau aplikasi. Tanya sama ada mekanisme itu menghidangkan kandungan tersuai dengan 404 di alamat tiada yang diminta. Tetapan yang hanya memilih susun atur halaman ralat tidak menjawab soalan itu; sahkan hasilnya menggunakan aliran kerja pelayar.
Contoh yang didokumenkan untuk halaman statik di Netlify
Untuk tapak statik sedia ada di Netlify, mekanisme yang didokumenkan ialah fail bernama 404.html. Netlify menggunakannya secara automatik untuk laluan gagal yang tidak merujuk kepada fail statik. Ini contoh khusus penyedia dengan prasyarat: akses kepada hasil binaan siap tapak dan binaan halaman statik sedia ada. Netlify mendokumenkan pengendalian 404 tersuai.
- Gunakan templat halaman sedia ada pada tapak untuk menghasilkan halaman dokumen tiada.
- Pastikan hasil akhir mengandungi
404.htmlpada akar direktori penerbitan. - Pastikan tiada peraturan penghalaan terdahulu yang menghantar alamat tidak diketahui ke halaman lain.
- Selepas hasil yang dikemas kini tersedia di alamat awam, periksa laluan yang tiada dan dokumen yang berfungsi.
Semakan penghalaan penting kerana Netlify memproses penghalaan sebelum mengendalikan fail statik dan halaman tiada terakhir. Permintaan yang telah dikendalikan lebih awal tidak akan sampai kepada pengendali terakhir itu. Dokumentasi Rantaian Permintaan menerangkan susunannya. Contoh ini menerangkan langkah pembetulan; ia tidak bermaksud mana-mana tapak telah diubah.
Batasan untuk aplikasi yang penghalaannya dikendalikan pelayar
Sesetengah aplikasi hanya mengesan bahawa dokumen tiada selepas JavaScript dijalankan. Google mengakui bahawa kod status yang bermakna mungkin sukar dilaksanakan dalam penghalaan sisi klien. Alternatif yang didokumenkan ialah pengalihan JavaScript ke alamat yang pelayannya mengembalikan 404, atau menambah metadata noindex pada halaman ralat. Lihat panduan SEO JavaScript Google.
Alternatif itu memberikan hasil yang berbeza. Pengalihan membawa pengguna ke alamat baharu dengan respons halaman tiada yang sebenar. Pendekatan metadata menangani pengindeksan sementara status HTTP asal kekal. Jika keperluannya ialah mengekalkan alamat dokumen asal dan mengembalikan 404 di situ, respons pengehosan atau aplikasi perlu menyokong tingkah laku itu.
Apakah yang patut dinyatakan pada halaman dokumen tiada?
Gunakan mesej yang ringkas dan khusus seperti Dokumen ini tidak dapat ditemui. Kemudian berikan satu tindakan seterusnya yang berguna: pautan ke direktori dokumen atau destinasi navigasi lain yang telah disahkan. Kekalkan navigasi dan penampilan tapak yang biasa. Google mengesyorkan bahasa yang jelas, reka bentuk yang konsisten dan pautan berguna untuk halaman tiada tersuai.
Untuk contoh rekaan panduan lipatan kertas, teks yang sesuai ialah: Kami tidak dapat menemui dokumen lipatan kertas ini. Layari direktori dokumen untuk memilih panduan lain. Nyatakan bahawa dokumen telah dibuang secara kekal hanya jika perkara itu diketahui. Kekalkan penjelasan itu pada halaman dan jangan terus menghantar setiap alamat yang tiada ke tempat lain.
Bagaimanakah anda mengesahkan bahawa respons dan halaman sepadan?
Ulang pemeriksaan dengan set perbandingan yang kecil. Hasil yang dijangka di bawah ialah kriteria penerimaan sebagai contoh; ini bukan laporan keputusan ujian.
| Kes ujian | Respons dan halaman yang dijangka |
|---|---|
| Dokumen yang diketahui berfungsi | 200, dengan dokumen lengkap |
| Laluan yang sengaja direka supaya tidak wujud | 404, dengan penjelasan bahawa dokumen tiada |
| Dokumen yang dibuang tanpa pengganti | 404, atau 410 jika sesuai, dengan penjelasan yang tepat |
| Dokumen yang dipindahkan dengan pengganti setara | Pengalihan kekal, diikuti respons pengganti yang berjaya |
Uji semula dengan memasukkan setiap alamat secara terus dan memuatkannya semula, termasuk dokumen yang biasanya dibuka melalui navigasi dalam halaman. Ini menyemak respons yang diterima oleh permintaan dokumen baharu. Catatkan alamat, kod dan hasil yang kelihatan bersama-sama supaya destinasi yang berjaya tidak menyembunyikan respons terdahulu yang salah dalam navigasi.
Jika hasil lama masih muncul, bezakan cache pelayar daripada cache lain. Menyahdayakan cache Chrome menangani cache pelayarnya. Cache HTTP juga boleh menyimpan respons negatif seperti 404, jadi respons tiada yang lapuk mungkin memerlukan semakan terhadap tingkah laku cache sistem penerbitan yang didokumenkan. RFC 9111 menerangkan hasil negatif yang boleh dicache.
Untuk Google Search, respons tiada yang sebenar membawa akibat yang dimaksudkan: Google tidak mengindeks URL yang mengembalikan 404 atau 410, dan URL yang telah diindeks akan dialih keluar apabila respons tersebut diproses. Respons 200 yang berjaya juga tidak menjamin pengindeksan. Lihat Cara kod status HTTP mempengaruhi perayap Google.
Selesaikan kerja apabila setiap alamat yang diuji memberikan gambaran yang konsisten: dokumen yang tersedia dimuatkan dengan jayanya, dokumen yang dipindahkan membawa pembaca kepada penggantinya, dan dokumen yang tiada mengembalikan respons tiada yang sesuai berserta navigasi berguna. Dengan itu, anda mempunyai semakan penerbitan yang konkrit dan boleh diulang pada Mac anda.
Sumber
- RFC 9110: Semantik HTTP — Editor RFC
- RFC 9111: Cache HTTP — Editor RFC
- HTML Standard: Arahan pragma — WHATWG
- Selesaikan masalah ralat perayapan Google Search — Google Search Central
- Cara kod status HTTP mempengaruhi perayap Google — Google untuk Pembangun
- Fahami asas SEO JavaScript — Google Search Central
- Buka Chrome DevTools — Chrome untuk Pembangun
- Panel Network: Analisis pemuatan dan sumber rangkaian — Chrome untuk Pembangun
- Rujukan ciri Network — Chrome untuk Pembangun
- Periksa aktiviti rangkaian — Chrome untuk Pembangun
- Pilihan pengalihan — Netlify
- Rantaian Permintaan — Netlify