Dalam HTML, DOCTYPE
harus didahulukan, diikuti oleh satu <html>
elemen, yang harus berisi <head>
elemen yang mengandung <title>
elemen, diikuti oleh <body>
elemen. Lihat deskripsi struktur global dokumen HTML di HTML 4.01 dan draf HTML5 ; persyaratan sebenarnya kebanyakan sama selain dari DOCTYPE
, tetapi mereka dijelaskan secara berbeda.
Tag yang sebenarnya ( <html>
, </html>
, <head>
, dll) adalah opsional; elemen akan dibuat secara otomatis jika tag tidak ada. <title>
adalah satu-satunya tag yang diperlukan dalam HTML. Dokumen HTML 4.01 valid terpendek (setidaknya, yang dapat saya hasilkan) adalah (memerlukan <p>
karena harus ada sesuatu <body>
agar valid):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><title></title><p>
Dan dokumen HTML5 valid terpendek:
<!DOCTYPE html><title></title>
Perhatikan bahwa di XHTML, semua tag harus ditentukan secara eksplisit; tidak ada elemen yang akan disisipkan secara implisit.
Dalam beberapa situasi, browser melakukan sniffing tipe konten untuk menentukan jenis sumber daya yang belum ditentukan menggunakan Content-Type
header HTTP, dan juga sniffing pengkodean karakter jika Content-Type
header belum disediakan atau tidak menyertakan charset
(Anda biasanya harus mencoba untuk menyertakan tajuk ini, dan memastikan bahwa tajuk itu benar, tetapi ada beberapa situasi yang tidak dapat Anda lakukan, seperti file lokal tidak ditransfer melalui HTTP). Mereka hanya mengendus sejumlah byte di awal dokumen untuk tujuan ini, jadi apa pun yang dimaksudkan untuk mempengaruhi konten sniffing atau karakter encoding sniffing harus mendekati awal dokumen.
Karena alasan ini, HTML5 menetapkan bahwa meta
tag apa pun yang digunakan untuk menentukan kumpulan karakter (baik <meta http-equiv="Content-type" content="text/html; charset=...">
atau sederhana <meta charset=...>
) harus berada dalam 1024 byte pertama dari file agar dapat diterapkan. Jadi, jika Anda akan memasukkan informasi pengkodean karakter dalam dokumen Anda, Anda harus meletakkan tag di awal file, bahkan mungkin sebelum <title>
elemen. Tapi ingat bahwa tag ini tidak diperlukan jika Anda menentukan Content-type
header dengan benar.
Di CSS, deklarasi gaya yang lebih baru lebih diutamakan daripada yang sebelumnya , semuanya sama. Jadi, Anda biasanya harus meletakkan style sheet paling umum yang mungkin diganti sebelumnya, dan style sheet yang lebih spesifik nantinya.
Untuk alasan performa, sebaiknya letakkan skrip di bagian bawah halaman, tepat sebelum </body>
, karena skrip pemuatan memblokir rendering halaman.
Jelasnya, <script>
tag harus diurutkan sehingga skrip yang bergantung pada setiap pesanan memiliki dependensi yang dimuat terlebih dahulu.
Secara keseluruhan, selain batasan yang telah saya tentukan, urutan tag di dalam <head>
seharusnya tidak terlalu menjadi masalah, selain untuk keterbacaan. Saya cenderung ingin melihat bagian <title>
atas, dan meletakkan <meta>
tag lainnya dalam semacam urutan logis.
Sering kali, urutan yang harus Anda masukkan ke dalam badan dokumen HTML haruslah urutan tampilannya, atau urutan aksesnya. Anda dapat menggunakan CSS untuk mengatur ulang berbagai hal, tetapi pembaca layar umumnya akan membaca berbagai hal dalam urutan sumber, indeks penelusuran akan mengekstrak berbagai hal dalam urutan sumber, dan seterusnya.