Saya memiliki sejumlah halaman di situs web saya yang hanya dapat diakses oleh administrator dan akses ke halaman-halaman ini diberikan jika nilai querystring jika ditemukan dan ditetapkan dengan benar. Sebagai contoh:
http://www.mydomain.com/show-daily-statistics?key=abc
Tautan di atas akan menampilkan konten halaman tetapi hal lain seperti di bawah tidak akan:
http://www.mydomain.com/show-daily-statistics
Sekarang saya berpikir tentang apa yang harus dilakukan jika mesin pencari dan / atau pengguna non-admin entah bagaimana mendarat di halaman tersembunyi ini.
Tentu saja saya bisa mengubah kode status halaman menjadi 404 atau 301 redirect ke:
http://www.mydomain.com/404-error
Apa solusi terbaik untuk Google dan SEO?
301-redirect
404
WPRookie82
sumber
sumber
Jawaban:
Kode yang benar adalah 401 Tidak Diotorisasi
Sesuai spesifikasi HTTP
10.4.2 401 Tidak Resmi
atau sebagai alternatif
10.4.4 403 Dilarang
Keduanya secara semantik lebih benar daripada
404
. Sumber daya ada sehingga404
tidak benar.401
harus benar, tetapi Anda tidak memerlukan otentikasi. Keamanan oleh ketidakjelasan bukanlah keamanan.403
juga benar karena permintaan dipahami, sumber daya yang ada itu hanya menolak untuk melayani permintaan.404
sesuai jika Anda tidak ingin mengungkapkan mengapa403
ini terjadi.Dalam kasus apa pun
301
pengalihan tidak sesuai, sumber daya tidak bergerak.sumber
Karena ini adalah halaman untuk administrator, dengan atau tanpa parameter "kunci", halaman tidak dapat dan tidak boleh diindeks. Oleh karena itu halaman web untuk non-admin dapat mengirim 404 kode status, dan Anda dapat membiarkan URL yang sama tetap utuh. Jangan mengalihkan, karena Anda memberi tahu Google bahwa halaman telah dipindahkan, tetapi kemudian ke halaman yang tidak ada.
Inilah cara Google melakukannya juga. Lihat apa yang terjadi ketika Anda membuka halaman dummy: http://www.google.com/analytics/asdsas
sumber
http://www.example.com/404-error
ada, itu adalah semacam halaman global 404 dari seluruh situs web sehingga saya tidak akan diarahkan ke halaman yang tidak keluar.Kode respons HTTP yang semantik benar untuk situasi ini adalah 403 Forbidden :
(Meskipun definisi dari respons 403 mengatakan bahwa "otorisasi tidak akan membantu", IMO ini harus dipahami sebagai merujuk secara khusus ke otentikasi HTTP Basic / Digest , di mana kode status 401 yang tidak sah harus digunakan sebagai gantinya. Karena Anda tidak menggunakan salah satu dari metode otentikasi tersebut, 403 adalah kode status yang sesuai dalam kasus Anda.)
Namun, dengan menggunakan kode status 403 mengungkapkan (atau setidaknya sangat menyiratkan) fakta bahwa ada adalah halaman dengan URL yang, meskipun server menolak untuk menyampaikan hal itu. Karena ini adalah sesuatu yang Anda mungkin ingin sembunyikan dari pengganggu potensial, standar HTTP / 1.1 secara eksplisit memungkinkan kode status 404 Tidak Ditemukan dikembalikan sebagai gantinya ( penekanan milik saya):
Tentu saja, untuk membuat penyembunyian seperti itu sama sekali efektif, halaman kesalahan 404 yang Anda kembalikan harus tampak sama dengan apa yang Anda kembalikan untuk halaman yang sebenarnya tidak ada. Kalau tidak, itu hanya akan menipu penyerang paling bodoh dan paling kasual. (Jika tujuan Anda hanya untuk menjaga halaman dari indeks Google, respons 403 juga akan melakukannya.)
Bagaimana dengan kemungkinan tanggapan lain yang disarankan dalam pertanyaan Anda dan jawaban lainnya?
Seperti yang saya sebutkan sebelumnya, saya tidak percaya bahwa respons 401 sesuai di sini. Ini mungkin bekerja dalam praktik, sejauh sebagian besar browser dan mesin pencari akan memperlakukan kode respons 4 xx seri salah format atau tidak dikenal seolah-olah itu adalah 404, tetapi itu masih tidak valid sesuai dengan spesifikasi HTTP, dan tidak ada alasan praktis untuk lebih menyukainya lebih dari 403 atau 404.
Mengenai penggunaan 301 (atau 302) redirect ke halaman "404 error" yang terpisah, itu adalah praktik yang mengerikan yang disebarkan oleh tutorial mod_rewrite yang ceroboh, dan sama sekali tidak memiliki fitur penukaran dibandingkan dengan mengembalikan respons 404 secara langsung:
Ini membingungkan pengunjung, karena URL yang mereka coba kunjungi diganti dengan URL halaman kesalahan. Dengan demikian, mereka melihat pesan yang mengatakan bahwa mereka telah mencapai halaman yang tidak ada, tetapi tidak ada indikasi yang mudah terlihat dari apa halaman yang mereka coba kunjungi, dan karena itu tidak dapat dengan mudah mencoba strategi pemulihan seperti memperbaiki kesalahan ketik yang jelas di URL, atau salin dan tempel ke Google atau Wayback Machine.
Ini dapat membingungkan mesin pencari, terutama jika halaman 404 Anda tidak diijinkan di robots.txt , atau jika itu salah mengembalikan 200 respons OK daripada kode status 404 nyata ( "soft 404" ), berpotensi menyebabkan halaman 404 Anda muncul di pencarian hasil untuk istilah pencarian acak.
Ini menyebabkan (sejumlah kecil) beban tambahan pada server Anda, meningkatkan waktu respons kepada pengunjung dan berpotensi memperlambat mesin pencari merayapi situs Anda, karena setiap permintaan untuk halaman yang tidak ada (atau disembunyikan) sekarang melibatkan putaran HTTP tambahan- perjalanan.
Ini tidak memiliki manfaat SEO, karena "jus tautan" dari halaman yang dialihkan ke halaman 404 tetap hilang.
(Tentu saja, salah satu situasi di mana Anda lakukan ingin menggunakan 301 redirect bukan respon 404 adalah ketika halaman sebenarnya telah pindah, dan Anda dapat mengarahkan pengunjung ke lokasi yang benar. Tapi itu tidak terjadi dibahas di sini.)
Akhirnya, saya ingin menggemakan sentimen, yang diungkapkan dalam banyak komentar di sini, bahwa hanya "menyembunyikan" halaman admin Anda seperti ini bukan pengganti yang memadai untuk otentikasi berbasis kata sandi yang tepat . Yang mengatakan, jika Anda sudah memiliki sistem otentikasi yang aman diatur, menyembunyikan halaman mungkin berguna sebagai lapisan tambahan, meskipun yang cukup lemah, dalam pendekatan pertahanan mendalam .
sumber
Saya akan menggunakan
noindex,nofollow,noarchive
tag di bagian atas halaman yang ingin Anda hilangkan dari pencarian.Saya telah menemukan bahwa
noarchive
tag cenderung mengeluarkan sesuatu dari pencarian dengan sangat cepat, sedangkan tagnoindex
mungkin menghentikannya untuk mencari, tetapi jika sudah ada di luar, maka Anda perlu membuangnya dari hasil pencarian.Adapun pertanyaan akses admin, orang-orang lain di sini telah memberikan beberapa saran tentang keamanan yang saya sarankan untuk check out.
sumber