Thẻ neo bên trong <h1> hoặc <h1> bên trong thẻ neo: cái nào tốt hơn?


52

Tôi đang cố gắng sử dụng <h1>các thẻ trên blog của mình cho tiêu đề bài viết và gặp một vấn đề. Tiêu đề là siêu liên kết.

Trường hợp 1:

<h1> <a href=""> xyz </a> </h1>

trường hợp 2:

<a href=""> <h1> xyz</h1> </a> 

Cái nào tốt hơn về SEO?

Câu trả lời:


57

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.].


Tôi có một câu hỏi: <h1> xin chào <h1> // 5 ký tự <h1> <a> xin chào </a> </ h1> // 5 ký tự hoặc google đọc nó dưới dạng 12 ký tự?
hfarazm

11

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).


3
Trên thực tế các phần tử nội tuyến không được chứa các phần tử khối theo thông số HTML.
DisgruntledGoat

3
@DisgruntledGoat Không hẳn. Doctype cần phải được tính toán.
Su '

@Su 'những loại tài liệu nào cho phép các thành phần khối bên trong các thành phần nội tuyến?
DisgruntledGoat

4
@DisgruntledGoat HTML5 cho phép các liên kết (trước đây chỉ là các yếu tố nội tuyến) bao quanh các thành phần khối như tiêu đề và thẻ đoạn văn. Đây là nơi doctype là quan trọng. Nếu bạn đang sử dụng HTML5, bằng mọi cách, hãy sử dụng mẫu <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).
Tina Bell Vance

Vì vậy, ở trên sẽ áp dụng cho các thẻ neo được đặt tên quá. phải không thật tốt khi có <h1> <a name='intro'> Giới thiệu </a> </ h1> ngoài <a name='intro'> <h1> Giới thiệu </ h1> </a>.
Jayapal Chandran

6

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ị.

Đây không phải là sự lựa chọn hợp lệ, mà là một ưu tiên trong Giao diện người dùng:

  • Nếu bạn bọc tiêu đề xung quanh neo, bạn tạo một neo lớn, chỉ có văn bản sẽ có thể nhấp được.
  • Khi bạn quấn neo quanh tiêu đề, toàn bộ dòng có thể nhấp được.

Tôi đã làm cho bạn một ví dụ trên jsFiddle.net


4

Tôi thấy rằng với Trường hợp 2, phần hrefchè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.


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



0

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.


Với hy vọng bạn sẽ cập nhật câu trả lời của mình, điều đó cho thấy, một phần, tại sao cả hai ví dụ KHÔNG tương đương như những người khác đã nói.
Cướp

-1

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:pointervào css của phần tử cha để hoàn thành thủ thuật.


1
Nội tuyến javascript? Chúng tôi có trở lại vào năm 1999 không? ;)
Martijn

Tại sao bạn thậm chí sẽ làm điều này? Chỉ cần bọc tiêu đề trong neo. Đây chỉ là thực tế tồi tệ
Martijn

Đọc bình luận cẩn thận, bạn sẽ thấy câu trả lời của mình được đánh vần ngay tại đó;) Html 4.01 thực sự đã cũ bằng năm 1999. Khi bạn cố gắng xác thực đề xuất của mình theo tài liệu đó, bạn sẽ gặp phải lỗi sau: không cho phép phần tử "H1" ở đây (...) Một nguyên nhân có thể cho thông báo này là bạn đã cố gắng đặt phần tử cấp khối (chẳng hạn như "<p>" hoặc "<bảng>") bên trong một phần tử nội tuyến ( chẳng hạn như "<a>", "<span>" hoặc "<font>"). " Tất nhiên, người ta không nhất thiết phải quan tâm đến những gì các trình xác nhận nói, do đó "nếu" ở phần đầu của nhận xét.
Lucian Davidescu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.