Saya punya cukup banyak masalah yang ingin saya dengar pendapat Anda, jadi saya harap saya bisa menjelaskannya dengan cukup baik. Saya juga harus mencatat bahwa saya pemula hanya dilengkapi dengan pengetahuan tentang HTML dan CSS jadi meskipun saya hampir yakin bahwa ada solusi sederhana menggunakan PHP yang kuat, itu tidak akan membantu saya .
Katakanlah saya memiliki blog pribadi saya di alamatnya example.com/blog.html
dan ada tautan ke beberapa sub-blog example.com/blog/math.html
, example.com/blog/coding.html
dll. Jadi folder root saya berisi blog.html
dan blog
folder, blog
folder itu sendiri berisi file math.html
dan coding.html
.
Pertama-tama, saya belajar (dari Google Webmaster Tools ) bahwa untuk keperluan SEO dan estetika ada baiknya menyatukan example.com.com
dan example.com/index.html
dengan menambahkan _rel="canonical"_
atribut ke dalam sumber index.html
. Dengan menggunakan beberapa trik lain (seperti menautkan ke ../
dan ./
), saya menyingkirkan tampilan jelek index.html
di alamat web saya.
Dan sekarang saya bertanya-tanya apakah trik ini dapat digunakan tidak hanya untuk folder root tetapi untuk folder apa pun ? Maksud saya, saya akan memindahkan folder saya blog.html
ke dalam blog
folder, mengubah nama menjadi folder index.html
dan menambahkan rel="canonical"
untuk menyatukan example.com/blog/index.html
dengan example.com/blog/
.
Trik ini akan mengubah alamat blog saya dari example.com/blog.html
menjadi example.com/blog/
.
Belum selesai! Saya juga mengalami masalah dengan robot google yang mengindeks folder saya. Jadi ketika saya mengetik site:example.com/
di pencarian google, tautan ke folder saya example.com/blog/
dengan file mentah, ikon dll muncul di antara hasil lainnya. Saya kira ada juga cara lain untuk memperbaikinya, tetapi IMHO perubahan yang disebutkan di atas akan melakukan trik juga - index.html di folder blog akan menjaga pengguna dari melihat konten mentah sebenarnya dari folder itu, hanya akan muncul saja tautan yang tepat example.com/blog/
dalam pencarian google dan (saya harap) _rel="canonical"_
akan membuat tautan kedua yang tidak diinginkan example.com/blog/index.html
tidak muncul dalam hasil pencarian.
Jadi pertanyaan saya adalah:
- Apakah ini praktik yang baik untuk memiliki
index.html
file di setiap subfolder atau apakah itu dimaksudkan hanya di folder root? - Apakah ada kelemahan atau masalah yang mungkin terjadi saat menggunakan metode " indeks di setiap folder " yang kedua?
- Salah satu dari dua cara penataan situs web yang dijelaskan di atas yang Anda inginkan?
sumber
Jawaban:
Alasan kami menggunakan
index.html
atauhome.html
atau turunannya, adalah karena perangkat lunak server web itu sendiri benar-benar mencari dan menyajikannya. Sebagai contoh:Ini INVALID: (direktori-www)
Ini sebenarnya akan disajikan sebagai halaman yang mencantumkan folder dan file. (Bukan yang Anda inginkan). Anda dapat mencoba struktur ini, tetapi juga membuat file index.html di sebelah blog.html. Perhatikan bagaimana itu tidak akan melayani blog.html kecuali Anda menentukan
http://www.site.com/blog.html
) Inilah sebabnya mengapahttp://www.google.com/
menunjukkan halaman tanpa Anda harus menentukanhttp://www.google.com/index.html
Ini VALID:
Ini akan melayani
blog.html
file Anda SEBAGAI RUMAH. (Tidak mencantumkan semua folder / file dalam direktori itu)Perangkat lunak server web memiliki (dalam konfigurasi) daftar khusus nama file yang akan disajikan sebagai beranda atau halaman utama folder. (Dalam pengalaman saya,
index.html
lebih diutamakan daripada index.php, jadi jika Anda memilikiindex.html
danindex.php
dalam folder, index.html adalah apa yang akan dilihat publik). Tentu saja itu semua bisa diubah, dan Anda bahkan dapat mengaturblog.html
agar diakui sebagai "indeks".Mengatasi komentar Anda:
Ini akan dilakukan dengan memindahkan
blog.html
seluruhnya ke/blog/
dan mengganti nama ke index.html.Struktur baru Anda adalah:
Ini seharusnya berfungsi dengan benar
http://www.site.com/blog/
untuk menunjukkan isi blog Anda.html yang kami beri nama baruindex.html
agar perangkat lunak dapat mengaturnya sebagai indeks direktori Anda/blog/
Anda juga bebas sekarang untuk meletakkan dan
index.html
mengajukan ke root situs Andahttp://www.site.com/(index.html)
untuk memiliki tautan/blog/
dan apa pun yang Anda inginkan.Secara khusus menjawab pertanyaan Anda dalam pernyataan singkat:
Apakah ini praktik yang baik untuk memiliki file index.html di setiap subfolder atau apakah ini dimaksudkan hanya di folder root?
Ya, karena itu mencegah orang melihat file apa yang ada di direktori Anda. Anda dapat mencegah ini dengan
.htaccess
file yang berisiOptions -Indexes
Apakah ada kelemahan atau masalah yang mungkin terjadi saat menggunakan metode "indeks di setiap folder" yang kedua?
Tidak ada yang bisa saya pikirkan.
Salah satu dari dua cara penataan situs web yang dijelaskan di atas yang Anda inginkan?
Saya biasanya memiliki file
index.html
atauindex.php
di root, subfolder berdasarkan kategori (sepertiforum
ataunews
ataulogin
dll) dan kemudian semacam indeks di dalam masing-masing.sumber
Istilah teknis untuk index.html adalah Indeks Direktori untuk Apache dan Dokumen Default untuk IIS. Arahan Apache lain yang menarik adalah arahan Opsi . Seperti yang ditunjukkan dalam dokumentasi, kapan
Options Indexes
diatur:Ketika saya menyiapkan situs web yang tidak menggunakan sistem manajemen konten, pengaturan pilihan saya adalah memiliki satu halaman konten per direktori. Halaman itu adalah indeks direktori (dokumen default) untuk direktori. Semua tautan di situs hanya tautan ke direktori dan diakhiri dengan garis miring (misalnya,
http://example.com/blog/
alih- alihhttp://example.com/blog/index.html
atau./blog/
bukan./blog/index.html
). Trash slash penting untuk menghindari apa yang biasanya disebut sebagai pengalihan sopan santun . (Jika trailing slash dihilangkan, semuanya masih beres dengan benar, tetapi jumlah permintaan HTTP dan karenanya bandwidth bertambah.)Motivasi utama saya untuk metodologi di atas ada dua. Pertama, ini memfasilitasi pengalihan teknologi yang digunakan di situs web. Misalnya, saya dapat mengubah halaman dari index.html ke index.php tanpa memutus tautan atau daftar mesin pencari. Kedua, ekstensi file halaman konten adalah "noise"; menghapus ekstensi file dari hasil URL dalam URL yang lebih pendek dan mudah-mudahan lebih mudah dibaca.
Adapun jenis file lainnya:
Di server Apache, saya menonaktifkan
Options Indexes
direktori yang disebutkan di atas. Pada server Apache dan IIS, saya tidak menentukan indeks direktori (dokumen default) untuk direktori yang disebutkan di atas. Dengan demikian, permintaan untuk setiap direktori menghasilkan kesalahan HTTP 403.sumber