Saya memiliki situs multilanguage dan multidomain. Itu berjalan melalui instalasi CMS unik (Drupal), jadi saya punya direktori root tunggal. Jadi jika saya memiliki robots.txt statis, di sana saya hanya dapat menampilkan file untuk satu domain, sejauh yang saya tahu.
Bisakah saya meletakkan baris di .htaccess
Redirect 301 /robots.txt /robots.php
(atau instruksi yang setara, dan tolong, sebutkan yang mana jika diizinkan)
jadi itu dialihkan ke file php dinamis, di mana saya dapat melayani konten yang berbeda sesuai dengan $_SERVER['HTTP_HOST']
?
Dan pertanyaan yang sama untuk sitemap.xml , jadi saya bisa menyajikan sitemap.php dinamis yang menunjukkan tautan berbeda untuk setiap domain berbeda.
Masalah tanpa menggunakan .txt dan .xml adalah, sebagaimana disebutkan, bahwa semua domain berbagi direktori fisik tunggal di komputer server.
Jawaban:
Anda dapat membuat file apa pun menjadi dinamis. Cara terbaik untuk melakukannya bukan melalui pengalihan, tetapi melalui aturan penulisan ulang.
Dengan begitu, Anda memberi daya dengan skrip dinamis, tetapi URL tidak berubah. Sebagian besar perayap (termasuk Googlebot) akan mengikuti arahan ulang untuk robots.txt , tetapi beberapa perayap akan bingung jika Anda memperkenalkan arahan ulang.
Perhatikan bahwa meskipun Anda menggunakan PHP, robots.txt Anda akan terlihat statis untuk setiap perayap untuk setiap domain. Tidak masalah untuk menyajikan konten yang berbeda untuk domain yang berbeda, atau bahkan untuk agen pengguna yang berbeda. Namun, menyajikan konten yang berbeda secara acak, atau berdasarkan waktu dapat benar-benar membingungkan perayap mesin pencari dan mengacaukan SEO Anda.
Peta Situs tidak masalah untuk nama apa pun yang Anda inginkan. Anda dapat mengarahkan ulang itu, atau menggunakan aturan penulisan ulang untuk memberi daya secara dinamis pada URL yang sama. Anda juga dapat memberi nama mereka seperti
Kemudian lihat di robots.txt :
atau kirimkan ke mesin pencari secara manual melalui alat webmaster atau konsol pencarian mereka.
sumber
RewriteRule ^robots\.txt$ robots.php [L]
tanpa simbol \.^/robots\.txt$
) Akan diperlukan jika arahan ini ada di konfigurasi server, tapi ya, itu tidak akan cocok dengan per-direktori file .htaccess. Awalan garis miring pada substitusi (mis./robots.php
) Adalah opsional dalam kasus ini.Ya, dengan cara yang sama permintaan apa pun bisa "dinamis".
Namun, Anda tidak akan mengalihkan (seperti pada contoh kode Anda), Anda harus menulis ulang secara internal menggunakan mod_rewrite. (Sama seperti apa yang Drupal mungkin sudah lakukan.)
Misalnya, di file .htaccess root Anda:
RewriteEngine
seharusnya hanya terjadi sekali (walaupun tidak terlalu penting jika terjadi beberapa kali).Anda hanya perlu memastikan bahwa itu tidak bertentangan dengan arahan lain dalam file .htaccess Anda. Jadi, ini mungkin harus di dekat awal file, tentunya sebelum pengontrol depan Anda .
sumber
Membuat file sitemap menjadi dinamis - ini adalah cara yang baik untuk memperbarui secara otomatis peta situs Anda.
Membuat file robots.txt menjadi dinamis (untuk host yang sama! Melakukan ini untuk host terpisah pada dasarnya hanyalah file robots.txt yang normal untuk masing-masingnya). Kemungkinan akan menimbulkan masalah: itu tidak dirayapi setiap kali URL dirayapi dari situs , sehingga dapat terjadi bahwa versi "salah" di-cache. Misalnya, jika Anda membuat blok file robots.txt merayapi selama jam kerja, ada kemungkinan bahwa itu di-cache lalu, dan diikuti selama sehari - artinya tidak ada yang dirayapi (atau bergantian, di-cache ketika perayapan diizinkan). Google merayapi file robots.txt sekali sehari untuk sebagian besar situs, misalnya.
sumber
Tidak perlu membuat sitemap.php karena: 1. Untuk setiap bahasa Anda dapat menjalankan file sitemap.xml terpisah dan menentukan masing-masing di konsol mesin pencari. 2. File sitemap standar dapat ditulis ulang secara berkala untuk memasukkan konten terkini dan membuatnya menjadi dinamis - untuk itu .php tidak diperlukan. Terserah mekanisme pembaruan internal dan cron untuk membuat ulang file yang sama dengan ekstensi standar .xml
File Sitemap.xml bersifat statis dan hanya pembaruan yang membuatnya dinamis - tidak diperbarui secara real time. Mungkin ada alasan untuk membuat mereka menulis ulang setiap menit, tetapi tidak perlu karena: 1. Google tidak akan memeriksanya dalam waktu kurang dari 1 jam sejak pengiriman terakhir 2. Ketika file sitemap besar, menulis ulang mereka sering kali akan membuat kinerja server kaput.
Ketika ada volume data yang besar dan itu membuat file sitemap lebih besar dari 50mb, sebuah sistem dengan banyak peta situs diperlukan. Ini berarti bahwa sitemap2,3 ... .xml akan menambahkan hingga ke daftar file utama, tetapi konten dalam file-file ini tetap juga sampai file-file ini dibuat kembali (dengan cron misalnya).
Juga untuk menyebutkan, bahwa sekali mesin pencari mengakses file, ia tidak akan kembali lagi dengan sangat cepat (kecuali jika dilakukan secara manual). Ini menegaskan bahwa tidak perlu dalam hal apa pun membuat pembaruan real-time dari sitemap.php, karena sitemap.xml normal dengan sendirinya bisa dinamis, memperbarui dengan konten baru sepanjang hari atau seminggu.
Saya tidak bisa memikirkan pro menggunakan sitemap.php. Tidak ada gunanya, karena ada cara lain yang lebih baik / tepat untuk menggunakan file-file ini.
sumber