Đặt <link> trong <head>
Việc đặt các thẻ <link> trong <head> là một phần của quy cách phù hợp trong việc xây dựng một trang web được tối ưu hóa. Khi một trang tải lần đầu tiên, HTML và CSS được phân tích cú pháp đồng thời; HTML tạo DOM (Mô hình Đối tượng Tài liệu) và CSS tạo CSSOM (Mô hình Đối tượng CSS). Cả hai đều cần thiết để tạo ra các hình ảnh trong một trang web, cho phép thời gian "first meaningful paint" nhanh chóng. Việc hiển thị tăng dần này là một danh mục tối ưu hóa mà các trang web được đo lường trong điểm hiệu suất của chúng. Việc đặt các biểu định kiểu gần cuối tài liệu là điều cản trở việc hiển thị tăng dần trong nhiều trình duyệt. Một số trình duyệt chặn hiển thị để tránh phải vẽ lại các phần tử của trang nếu kiểu của chúng thay đổi. Người dùng sau đó bị mắc kẹt khi xem một trang trắng trống. Những lúc khác có thể có các đoạn nội dung không có kiểu (FOUC), hiển thị một trang web không áp dụng kiểu dáng.
Đặt <script> ngay trước </body>
Các thẻ <script> chặn quá trình phân tích cú pháp HTML trong khi chúng đang được tải xuống và thực thi, điều này có thể làm chậm trang của bạn. Việc đặt các tập lệnh ở cuối sẽ cho phép HTML được phân tích cú pháp và hiển thị cho người dùng trước.
Một trường hợp ngoại lệ để định vị các thẻ <script> ở cuối là khi tập lệnh của bạn chứa document.write(), nhưng ngày nay việc sử dụng document.write() không phải là một thực hành tốt. Ngoài ra, việc đặt các thẻ <script> ở cuối có nghĩa là trình duyệt không thể bắt đầu tải xuống các tập lệnh cho đến khi toàn bộ tài liệu được phân tích cú pháp. Điều này đảm bảo mã của bạn cần thao tác các phần tử DOM sẽ không gây lỗi và dừng toàn bộ tập lệnh. Nếu bạn cần đặt các thẻ <script> trong <head>, hãy sử dụng thuộc tính defer, điều này sẽ đạt được hiệu quả tương tự là chạy tập lệnh chỉ sau khi HTML được phân tích cú pháp nhưng trình duyệt có thể tải xuống tập lệnh sớm hơn.
Hãy nhớ rằng việc đặt các tập lệnh ngay trước thẻ </body> đóng sẽ tạo ra ảo giác rằng trang tải nhanh hơn trên bộ nhớ cache trống (vì các tập lệnh sẽ không chặn việc tải xuống phần còn lại của tài liệu). Tuy nhiên, nếu bạn có một số mã muốn chạy trong quá trình tải trang, nó sẽ chỉ bắt đầu thực thi sau khi toàn bộ trang đã tải. Nếu bạn đặt các tập lệnh đó trong thẻ <head>, chúng sẽ bắt đầu thực thi sớm hơn - vì vậy trên bộ nhớ cache đã được chuẩn bị sẵn, trang thực sự sẽ có vẻ tải nhanh hơn.
Các thẻ <head> và <body> hiện là tùy chọn
Theo đặc tả HTML5, một số thẻ HTML như <head> và <body> là tùy chọn. Hướng dẫn kiểu của Google thậm chí còn khuyến nghị loại bỏ chúng để tiết kiệm byte. Tuy nhiên, thực hành này vẫn chưa được áp dụng rộng rãi và lợi ích hiệu suất có thể là tối thiểu và đối với hầu hết các trang web, nó có thể không quan trọng.