Câu trả lời:
Nếu bạn đang sử dụng HTML5 , chỉ cần chọn một; chúng tương đương nhau.
HTML5 không cho phép các liên kết cấp khối , nhưng trong trường hợp của bạn không có lý do cụ thể nào để làm điều đó, vì chỉ có một yếu tố cấp khối. Cá nhân, tôi sẽ không làm điều đó ở đây, bởi vì có <h1>
thẻ ở bên ngoài sẽ giúp việc quét mã nguồn dễ dàng hơn.
Bất cứ điều gì khác (XHTML, HTML4, v.v.) và cái thứ hai hoàn toàn sai. Đó sẽ không phải là mã hợp lệ và ở một mức độ nào đó không tốt cho tối ưu hóa tìm kiếm của bạn [Chèn từ chối trách nhiệm tiêu chuẩn về mức độ bất kỳ hành vi phạm tội nào thực sự ảnh hưởng đến bất cứ điều gì, v.v.].
Chúng giống như liên quan đến SEO. (Thông thường các phần tử mức khối chứa các phần tử nội tuyến chứ không phải ngược lại vì vậy bạn nên sử dụng ví dụ đầu tiên nhưng nó sẽ không ảnh hưởng đến SEO).
<a><h1></h1></a>
. Nếu không, sử dụng mô hình truyền thống của <h1><a></a></h1>
. Google sẽ chú ý đến cả hai phương pháp như nhau, nhưng một số trình duyệt có thể không hoạt động tốt với mẫu không chuẩn UNLESS bạn có loại tài liệu chính xác (HTML5).
Cả hai đều đúng trong html5 , html cho phép các phần tử khối trong các phần tử nội tuyến. Điều này cũng không có tác dụng đối với SEO, cả hai trường hợp văn bản được gói trong tiêu đề, vì vậy nó vẫn có cùng giá trị.
Tôi thấy rằng với Trường hợp 2, phần href
chèn thường không phù hợp với phần còn lại của trang của tôi. Nhưng đó có thể là cách tôi đặt lề trong mình .css
. Vì vậy, tôi sẽ ủng hộ trường hợp 1.
Những gì đã nói ở đây là sâu sắc, cảm ơn tất cả các bạn. Chúng ta hãy đưa nó lên một bậc nữa: thêm microdata và như vậy vào phương trình.
Hãy nói rằng chúng ta đã có
<h1 itemprop="name"><a href="http://goldenage.com/maths.html"
itemprop="url">Mathematics in The Muslim Golden Age</a></h1>
cạnh tranh với
<a href="http://goldenage.com/maths.html" itemprop="url"><h1
itemprop="name">Mathematics in The Muslim Golden Age</h1></a>
Đối với tôi, 'bất kể hiệu suất', ví dụ 2 có ý nghĩa hơn. Bởi vì liên kết không bao giờ là một phần của tên. Sự khác biệt nắm rõ sự khác biệt giữa InternalHTML và textContent, DOMwise. Nhìn vào nó thông qua InternalHTML, mỏ neo cản trở. Nếu textContent là cách, các thẻ sẽ bị tước. Vì vậy, điều đó cũng đặt câu hỏi: InternalHTML hoặc textContent.
Vì vậy, tôi sẽ nói, đưa microdata vào tài khoản, có mỏ neo ở bên ngoài là tinh khiết hơn.
dựa trên: http://thenewcode.com/617/How-To-Add-Microdata-To-Your-Blog
Nên tránh các liên kết cấp khối cho mục đích SEO - từ miệng ngựa: https://www.seroundtable.com/block-level-links-google-seo-16369.html
Cập nhật: Takeaways từ liên kết ...
Có một trong hai liên kết xây dựng, như những người khác đã nói, là tốt để liên kết. Tuy nhiên, đối với mục đích SEO, bạn nên giữ sạch văn bản neo để Google có thể diễn giải neo tốt hơn và chỉ định mức độ phù hợp.
John Mueller (Nhà phân tích xu hướng quản trị trang web tại Google) tiếp tục nói ...
Việc sử dụng đó sẽ ổn với chúng tôi (Google) - chúng tôi vẫn chọn liên kết và có thể liên kết văn bản của bạn như một điểm neo với điều đó. Chúng tôi khá linh hoạt với việc phân tích cú pháp HTML, vì vậy bạn thậm chí có thể sử dụng điều này với HTML4. Điều đó nói rằng, bạn tạo văn bản neo càng rõ ràng, chúng ta càng dễ hiểu ngữ cảnh của liên kết, vì vậy tôi không nhất thiết phải luôn sử dụng toàn bộ đoạn làm neo cho tất cả các liên kết nội bộ của bạn.
TL; DR Đối với SEO, không sử dụng liên kết cấp khối.
Nếu mục đích là để có các yếu tố có thể nhấp bổ sung bên trong liên kết (như hình ảnh, v.v.) và vẫn xác thực với html <5, bạn có thể có cả hai cách với javascript:
<div onclick="if (this.getElementsByTagName('a')[0]) location=this.getElementsByTagName('a')[0].href;">
<img src="/foo" alt="" />
<h1>
<a href="#">
linked-heading
</a>
</h1>
</div>
khác, đơn giản là:
<h1 onclick="if (this.getElementsByTagName('a')[0]) location=this.getElementsByTagName('a')[0].href;">
<a href="#">
linked-heading
</a>
</h1>
thêm cursor:pointer
vào css của phần tử cha để hoàn thành thủ thuật.