Cara menulis file index.html yang bagus

Cara menulis file index.html yang bagus
[ad_1]
Setiap pengembang web ada di sana: Anda memulai proyek baru dan menonton file kosong yang dipanggil index.html
. Anda mencoba mengingat suar apa yang seharusnya pergi ke again? Which are the meta tags that are best practice, and which ones are deprecated?
Recently, I found myself in this exact situation. My first instinct was to copy the head section from a previous project, but as I reviewed the code, I realized some tags were outdated or simply didn’t apply to my new project. What followed was a deep dive into HTML head tags — which ones are essential, which are optional, and which are just cluttering my code.
If you’re in a hurry and just want the template, you can find my complete starter template on GitHub. The repository contains two main files:
index.html
: Model yang bersih dan minimalis dengan apa yang Anda butuhkan dan tidak ada tambahan yang tidak perlu.index-commented.html
: Model yang sama tetapi dengan komentar terperinci yang menjelaskan bagaimana dan mengapa Anda harus menggunakan setiap tag.
Artikel ini pada dasarnya adalah penyelaman yang mendalam dalam komentar index-commented.html
File, memberikan lebih banyak konteks dan penjelasan untuk setiap keputusan yang dibuat dalam model.
Model ini mewakili pendekatan pendapat saya setelah penelitian tentang praktik terbaik saat ini. Ini bertujuan untuk menjadi basis yang solid untuk sebagian besar proyek web sambil mempertahankan kinerja, aksesibilitas, dan optimalisasi mesin pencari yang baik.
Mari selami komponen penting dari kepala HTML yang terstruktur dengan baik.
Tag yang perlu Anda sertakan
Tag ini harus ada di hampir semua dokumen HTML yang Anda buat. Mereka sangat penting untuk rendering, referensi, dan aksesibilitas yang tepat.
and lang="en"
: Tentukan jenis dokumen dan bahasa
Selalu mulai dokumen HTML Anda dengan deklarasi Doctrype. Ini memberi tahu browser versi HTML mana yang Anda gunakan (dalam hal ini, HTML5) dan membantu menjamin rendering yang koheren. ITU lang
atribut pada tag specifies the language of your page – this is crucial for screen readers, search engines, and browsers. If your content is in a different language, change the code accordingly (e.g.,
lang="es"
untuk bahasa Spanyol).
: Judul halaman
Setiap dokumen HTML harus memiliki tag judul. Teks ini muncul di tab browser, bookmark dan hasil mesin pencari. Buat deskripsi Anda tetapi judul ringkas, idealnya di bawah 60 karakter. Judul yang bagus memberi tahu pengguna konten halaman Anda dan menyertakan kata kunci yang relevan untuk SEO.
: Konfigurasi jendela untuk desain reaktif
Di dunia ponsel saat ini, meta-balise ini tidak dapat dinegosiasikan. Ini menunjukkan kepada browser seluler bagaimana mengontrol dimensi dan skala penskalaan. Mari kita terurai apa yang dilakukan setiap parameter:
viewport-fit=cover
: Memastikan bahwa konten meluas di tepi layar (sangat penting untuk ponsel yang dipotong)width=device-width
: Menentukan lebar halaman untuk mengikuti lebar layar perangkatinitial-scale=1.0
: Mendefinisikan level zoom awal saat halaman dimuat untuk pertama kalinyaminimum-scale=1.0
: Mencegah pengguna terlalu banyakmaximum-scale=5.0
: Memungkinkan pengguna untuk memperbesar hingga 5x (batasi aksesibilitas yang sepenuhnya membahayakan ini)
Tanpa tag ini, perangkat seluler akan membuat halaman ke lebar layar desktop khas, kemudian kurangi, yang menyebabkan teks kecil dan tidak terbaca dan memaksa pengguna untuk memperbesar dan memanoramisasi.
,,
,,
: Meta informasi penting
Meta Beacon ini memberikan informasi penting di halaman Anda:
description
: Ringkasan singkat dari konten halaman Anda (idealnya 150-160 karakter). Ini sering muncul di hasil mesin pencari di bawah judul Anda.keywords
: Kata kunci yang relevan dengan isi halaman Anda. Meskipun kurang penting untuk Google hari ini, mesin pencari dan robot lainnya masih dapat menggunakan informasi ini.author
: Nama individu atau organisasi yang membuat halaman.
Meskipun suar ini tidak secara langsung mempengaruhi rendering halaman, mereka berguna untuk referensi dan kategorisasi konten.
: Hindari pengindeksan ganda
Tag ini membantu mesin pencari menghindari pengindeksan konten yang sama beberapa kali ketika dapat diakses melalui URL yang berbeda. Misalnya, jika halaman Anda dapat diakses melalui beberapa URL (seperti example.com/page
Dan example.com/page/index.html
), tag kanonik menunjukkan kepada mesin pencari mana URL adalah versi “resmi” untuk diindeks, mencegah indeksasi duplikat yang dapat membahayakan klasifikasi penelitian Anda.
Isi href
Atribut dengan URL utama Anda ingin mesin pencari mengaitkan konten ini.
Strategi Pengisian CSS: CSS Inline Kritis vs Gaya Eksternal
Strategi pemuatan CSS ini mengoptimalkan kinerja dalam dua cara:
- Kritik CSS online: Mengintegrasikan gaya penting langsung ke dalam dokumen HTML, Anda menghindari membuat permintaan jaringan tambahan yang akan memblokir rendering. Ini membuat gaya kritis untuk memuat dan mencegah flash dengan konten non -gaya (fouc) yang dapat terjadi ketika gaya mengurus konten.
- Biaya asinkron untuk CSS non -kritis: Teknik preload dengan Onload Manager memungkinkan lembar gaya utama memuat tanpa memblokir rendering. Ini berarti bahwa halaman Anda dapat mulai menampilkan dirinya sendiri sementara sisa gaya masih bertanggung jawab, menciptakan pengalaman pengguna yang lebih baik. Tag Notcript memberikan penarikan untuk pengguna dengan JavaScript yang dinonaktifkan.
Atau, jika situs Anda tidak memiliki kebutuhan gaya penting di atas lipatan, Anda dapat menggunakan pendekatan yang lebih sederhana:
Ini lebih sederhana, tetapi dapat memperlambat rendering awal karena browser harus mengunduh dan menganalisis CSS sebelum menampilkan konten.
:Script loading best practices
For JavaScript,thetype="module"
attribute offers several advantages:- Automatically defers script loading until the DOM is ready
- Enables ECMAScript modules for better code organization
- Runs in strict mode by default
- Allows for cleaner dependency management
async
attribute:Additionally,it’s good practice to register a service worker for offline capabilities:
Skrip ini ditempatkan tanpa defer
Atau async
Atribut untuk dijaga dan dijalankan sesegera mungkin, memungkinkan kapasitas offline pada awal proses pemuatan halaman. Pekerja layanan berjalan di latar belakang, terlepas dari halaman web Anda, yang memungkinkannya untuk mengelola permintaan jaringan dan obrolan bahkan ketika pengguna pindah dari situs Anda.
Tag yang mungkin Anda sertakan
Tag ini tidak diperlukan untuk setiap proyek tetapi dapat berharga dalam situasi tertentu. Sertakan mereka sesuai dengan kebutuhan proyek Anda.
: Pengkodean karakter
Tag meta ini menentukan pengkodean karakter untuk dokumen HTML Anda. UTF-8 sudah merupakan pengkodean karakter default di HTML5, jadi tag ini tidak sepenuhnya diperlukan dalam banyak kasus. Namun, termasuk, secara eksplisit memastikan konsistensi di semua browser dan mencegah masalah rendering karakter potensial, khususnya dengan karakter khusus atau huruf non -latin.
: Tentukan URL dasar
Tag dasar menentukan URL dasar untuk semua URL yang berkaitan dengan dokumen. Jika semua URL di situs Anda sudah berkaitan dengan jalur root (“Anda tidak perlu memasukkan tag ini. Ini terutama berguna ketika situs Anda di-host dalam sub-direktori tetapi Anda ingin jalur terkait dengan root domain atau ketika mengembangkan aplikasi pada halaman dengan rute sisi pelanggan.
: Detail Aplikasi
Jika aplikasi web progresif Anda (PWA) harus memiliki nama yang berbeda dari apa yang ditentukan dalam tag judul Anda, gunakan tag meta ini. Ini mendefinisikan nama yang akan muncul ketika aplikasi web Anda diinstal pada perangkat atau disematkan di menu start -up atau bilah tugas pengguna.
: Warna antarmuka pengguna browser
Tag meta ini mendefinisikan warna yang digunakan oleh agen pengguna dalam elemen antarmuka pengguna di sekitar halaman Anda, seperti bilah alamat browser di browser seluler atau bilah judul di beberapa browser desktop. Pilih warna yang mencerminkan identitas merek Anda untuk menciptakan pengalaman visual yang lebih terintegrasi.
: Dukungan mode terang dan gelap
Tag ini menginformasikan browser jika situs Anda mendukung mode yang jelas, mode gelap atau keduanya. Nilainya "light dark"
berarti bahwa kedua diagram didukung, cahaya lebih disukai. Ini membantu browser untuk membuat kontrol formulir, bilah gulir dan elemen lain dari antarmuka pengguna dalam palet warna yang sesuai, menciptakan pengalaman pengguna yang lebih baik yang menghormati preferensi sistem.
: Integrasi media sosial dengan grafik terbuka
Open Meta Graphics Beacon mengoptimalkan bagaimana konten Anda muncul ketika dibagikan di platform media sosial seperti Facebook, LinkedIn dan X (sebelumnya Twitter). Meskipun tidak penting untuk fitur dasar, mereka sangat meningkatkan penampilan dan komitmen konten Anda saat dibagikan.
Tag grafis terbuka meliputi:
og:title
: Judul halaman / konten Anda (mungkin berbeda dari judul HTML Anda)og:type
: Jenis konten (situs web, artikel, produk, dll.)og:url
: URL kanonik halaman Andaog:image
: URL ke gambar yang mewakili konten Anda
Jika konten situs Anda cenderung dibagikan di platform sosial, pengisian suar ini dengan nilai -nilai yang sesuai dapat sangat meningkatkan tarif klik dan komitmen.
Dan
: Dukungan PWA dan Favicons
Untuk aplikasi web progresif, gunakan tautan manifes untuk menunjuk ke file JSON yang berisi metadata aplikasi Anda, termasuk ikon. Manifesto harus memasukkan ikon aplikasi Anda dalam berbagai ukuran untuk perangkat dan konteks yang berbeda.
Untuk situs web reguler yang bukan PWA, gunakan tautan ikon untuk menentukan favorit situs Anda. Meskipun secara teknis opsional, Favicon berkontribusi pada pengenalan merek dan pengalaman pengguna, sebagian besar situs harus menyertakan satu.
: Jenis konten lainnya untuk situs Anda
Tag penghubung ini digunakan untuk beberapa ujung:
Ini membantu pembaca RSS dan agregator aliran lainnya untuk menemukan umpan RSS di situs Anda. Sertakan jika situs Anda menyediakan umpan RSS (umum untuk blog, situs informasi atau koleksi konten yang diperbarui secara berkala).
Itu juga dapat digunakan untuk menentukan a
llms.txt
file untuk situs Anda sebagaitype="text/markdown"
Tautan alternatif. File ini menyediakan konten situs Anda dalam format mudah -untuk -digigit untuk model bahasa besar untuk memindai situs Anda. Catatan: Saya mencuri ide ini Giles Thomas.
Jika situs Anda tidak menawarkan fitur -fitur ini, Anda dapat dengan aman menghilangkan suar ini.
,,
,,
: Optimalisasi Sumber Daya
Suar penghubung ini membantu mengoptimalkan pemuatan sumber daya:
preload
: Memberitahu navigator untuk mengunduh dan menyimpan sumber daya sesegera mungkin. Berguna untuk sumber daya kritis yang diperlukan pada awal proses rendering, seperti font atau gambar penting.preconnect
: Tetapkan koneksi awal ke area eksternal dari mana Anda akan mencari sumber daya nanti. Ini menghemat waktu dengan koneksi ke pekerjaan jika perlu.prefetch
: Menyarankan kepada browser bahwa sumber daya mungkin diperlukan untuk navigasi di masa depan. Browser akan mengunduhnya ke perlambatan, yang membuat halaman selanjutnya dimuat lebih cepat.
Gunakan secara selektif sesuai dengan kebutuhan kinerja Anda. Sureserver dapat menyia -nyiakan bandwidth, jadi fokuslah pada sumber daya yang sangat kritis.
Kesimpulan
Model ini memberi Anda titik awal yang solid untuk proyek web apa pun. Tentu saja, model ini benar -benar keras kepala dan konfigurasi terbaik untuk kebutuhan Anda dapat bervariasi. Jika saya telah mengesampingkan beberapa tag umum dari model, itu mungkin karena mereka tidak diperlukan, setidaknya untuk kebanyakan kasus.
Saya salut pada komentar Anda! Jika Anda pikir Anda telah melewatkan sesuatu yang penting, buka masalah atau kirimkan permintaan traksi pada Repositori GitHub.
Selain itu, jika Anda menginginkan model start-up yang lebih jauh dari file index.html, Anda mungkin ingin memeriksa Html5 menuangkan. Ini adalah sumber yang bagus untuk memulai dengan sangat cepat saat membuat aplikasi web progresif.
Sumber daya
Jika Anda ingin tahu lebih banyak tentang label kepala HTML, saya sarankan mulai di sini:
Dan sekali lagi, Anda dapat menemukan model index.html saya GitHub.
[ad_2]