Bagaimana Anda memberi tahu mesin pencari untuk tidak mengindeks halaman ini dulu, tapi mungkin di masa depan?

8

Perusahaan tempat saya bekerja memiliki sistem manajemen konten yang membuat halaman secara otomatis untuk konten tertentu.

Misalnya, Ada halaman di sistem kami yang memiliki kemampuan untuk menunjukkan kepada Anda informasi tentang komposer dalam database kami, tergantung pada parameter input dan informasi apa yang kami miliki tentang mereka. Namun, kadang-kadang, ada komposer yang tidak mendapat informasi, sehingga halaman tersebut membuat halaman kosong. Bagaimana kami dapat memberitahu Google untuk tidak mengindeks halaman pada saat itu, tetapi mungkin di masa mendatang?

Karena kontennya dibuat secara otomatis, kami tidak dapat hanya memblokir halaman agar tidak terlihat, karena informasi tentang komposer itu dapat muncul kapan saja.

Edit

Harap perhatikan bahwa sistem CMS kami yang melakukan pengambilan sangat rumit dan dalam. Bagian konten halaman AKAN mengembalikan semacam data, jadi menjalankan empty($content) ? xx : yyseperti yang disarankan bukanlah perbaikan cepat. Jika komposer tidak ada, sistem tidak akan memiliki halaman untuk komposer itu, jika komposer itu ada, sistem akan. Ketika halaman komposer itu ditampilkan, sistem mencari setiap jenis yang mengacu pada komposer, seperti karya, untuk membuat halaman yang dinamis.

Luke Madhanga
sumber
2
Apa yang sebenarnya Anda maksud dengan "halaman kosong"? Apakah maksud Anda benar-benar tidak ada HTML yang dikirim? Atau Anda memiliki desain 'shell' dasar tetapi tanpa konten?
DisgruntledGoat

Jawaban:

13

Jika tidak ada konten untuk komposer tertentu, gunakan tag meta:

<meta name="robots" content="noindex, follow">

Segera setelah konten ditambahkan dan tag meta dihapus, Google akan mengindeksnya.

Contoh:

<?php if(empty($composerInfoArray)): ?>
    <meta name="robots" content="noindex, follow">
<?php endif; ?>
Wexford
sumber
1
FWIW "follow" adalah perilaku default, Anda dapat membatalkannya jika Anda mau (itu tidak menyebabkan masalah, dan mungkin itu lebih berarti bagi manusia yang membacanya, sehingga Anda dapat meninggalkannya juga).
John Mueller
4

Jika halaman "hilang" memang tidak mengandung informasi aktual, tetapi hanya placeholder untuk "mungkin ada halaman di sini di masa depan", maka saya akan merekomendasikan mengkonfigurasi server web Anda untuk mengembalikan kode status 404 Tidak Ditemukan untuk mereka.

Browser masih akan menampilkan halaman seperti itu kepada pengguna, sama seperti mereka menunjukkan 404 halaman kesalahan normal (setidaknya selama cukup lama ), tetapi mesin pencari hanya akan memperlakukan halaman seolah-olah itu tidak ada sama sekali.

Ini adalah metode yang digunakan misalnya oleh Wikipedia untuk halaman yang tidak ada seperti ini . Salah satu kelebihannya (selain itu, bisa dibilang, benar secara semantik) adalah menjamin bahwa mesin pencari akan memperlakukan halaman tersebut dengan cara yang sama persis seperti biasanya mereka memperlakukan halaman yang hilang yang mengembalikan kode status 404.

Salah satu kelemahan potensial adalah bahwa, jika Anda memiliki tautan ke halaman yang mengembalikan kode status 404, mereka akan ditampilkan sebagai "404 kesalahan" misalnya di Alat Webmaster Google. Namun, ini sangat normal, dan bukan sesuatu yang perlu dikhawatirkan .


Untuk lebih lanjut membantu mesin pencari menemukan halaman baru Anda, ketika mereka mendapatkan beberapa konten aktual dan berhenti mengembalikan 404-an, Anda juga harus memelihara peta situs XML yang diperbarui secara teratur yang mencantumkan semua halaman di situs Anda yang memiliki konten. Ini memungkinkan Google dan mesin pencari lainnya untuk menemukan halaman baru secara langsung melalui peta situs, alih-alih harus menemukan secara acak saat menyusun kembali situs Anda.

Ps. Lihat juga: Bukan halaman indeks yang tidak memiliki konten yang relevan?

Ilmari Karonen
sumber
Karenon, mengembalikan 404 sama dengan tidak melakukan apa-apa, itu perilaku server web biasa; Contoh Wikipedia hanya halaman 404 khusus.
Binarysurf
1
@ Binerurf: Menurut OP, mereka menggunakan skrip khusus untuk menyajikan konten dinamis untuk "halaman virtual" yang dibangun dari informasi yang disimpan dalam database (seperti Wikipedia, SE, dan sebagian besar situs web utama sekarang). Ini berarti bahwa "perilaku server web biasa" tidak berlaku - sejauh menyangkut server web (Apache, IIS, nginx, dll.), Skrip penghasil konten ada dan berjalan, jadi defaultnya adalah " 200 OK "respon, kecuali skrip mengatakan sebaliknya. Saya hanya menyarankan bahwa OP harus membuat naskah mereka mengirim respon 404, jika tidak ada konten yang sebenarnya untuk ditampilkan.
Ilmari Karonen
ada skrip khusus yang mengambil data komposer dari database, bagaimana jika nama seseorang tidak ada di sana? menggunakan logika, skrip tidak akan mendapatkan catatan dari database, apa yang harus dilakukan? mungkin kemudian akan mengirim 404 tidak ditemukan. Jika skrip menemukan sesuatu, mungkin hanya metadata (nama dia) dan tidak ada data lain, itu akan mengirim 200 dan halaman dengan konten kosong. Bahkan jika ia memiliki skrip khusus, ia akan mengikuti perilaku server web default ?, atau akankah ia merespons 200 untuk setiap permintaan tunggal? Ini akan terlihat seperti spam tanpa fokus konten tertentu.
Binarysurf
Setelah Anda menjalankan skrip, skrip bertanggung jawab untuk mengirim kode status, dan kode yang benar untuk dikirim ketika kueri tidak menghasilkan 404.
Wossname
1

Saya pribadi akan membuat pesan ke dalam sistem yang akan memberi tahu pengguna bahwa sementara permintaan mereka selesai, tidak ada komposer yang ditemukan untuk parameter yang diberikan. Ini akan menjaga pengguna dari berpikir bahwa halaman / tautan "rusak".

chaoskreator
sumber
1

Jika halaman tidak memiliki konten, sistem CMS Anda seharusnya tidak terhubung ke sana. Menautkan ke halaman kosong tidak baik bagi pengguna dan mesin pencari.

Saya suka saran Wayne Whitty tentang cara menempatkan tag meta di halaman komposer itu sendiri. Anda harus menemukan cara untuk melakukan sesuatu yang serupa di tempat Anda membuat daftar semua komposer dan menghubungkannya dengan mereka:

<?php foreach ($composers as $composer) {
    if ($composer->countCount > 0)
         print "<li><a href=\"$composer->url\">$composer->name</a></li>";
    } 
} ?>

Jika Anda melakukan ini, mesin pencari tidak akan lagi menemukan halaman kosong.

Stephen Ostermiller
sumber
1
... yaitu, kecuali ada sesuatu yang berarti yang dapat dilakukan pengguna bahkan dengan halaman "kosong", seperti menyediakan informasi untuk itu. (Meski begitu, meskipun demikian, mungkin lebih baik untuk tidak menautkan ke halaman kosong secara langsung, tetapi ke beberapa URL berbeda yang menunjukkan tidak adanya (mungkin) data. Perhatikan bahwa Anda harus berurusan dengan kasing tepi tempat pengguna mengikuti tautan seperti itu setelah halaman baru-baru ini dibuat; lihat misalnya bagaimana Wikipedia melakukannya .)
Ilmari Karonen