Tầm quan trọng của HTML5 và SEO Onpage

Ảnh hưởng của HTML5 trong SEO

Từ lúc HTML5 ra đời tới bây giờ đã hơn 2 năm nhưng dù vậy tính đến thời điểm hiện tại mình viết bài này thì HTML5 vẫn chưa hoàn thiện hẳn mà mình có nghe ngóng được là nó sẽ được hoàn thiện vào năm 2014, tức là năm sau. Mặc dù vậy, hiện tại các trình duyệt mới lẫn các phiên bản nâng cấp của các trình duyệt cũ đã hỗ trợ khá tốt HTML5 và nó cũng được nhiều nhà phát triển web đưa vào sử dụng rộng rãi trong các dự án ở thời điểm này. Điều đó cho thấy rằng HTML5 đã thực sự phổ biến và được dự đoán trong tương lai sẽ là một chuẩn thiết kế web thay thế chuẩn HTML4 hiện tại.

Nếu như bạn để ý, thì Google cũng đã bắt đầu để ý đến các chuẩn HTML5 và bổ sung nhiều thuật toán để tận dụng được sức mạnh của HTML5 trong việc crawl và index nội dung. Mà điển hình nhất là họ đã bắt đầu hỗ trợ đọc hiểu thuộc tính rel với các giá trị như author, help, next, prefetch và prev. Nếu như thế, thì tại sao chúng ta lại không dựa vào chuẩn HTML5 đó để tối ưu SEO Onpage để Google dễ dàng hiểu nội dung trên web để crawl nội dung tốt hơn nhỉ? Mặc dù chưa có thông tin nào xác thực điều này, nhưng mình tin chắc chắn sẽ là có, ít nhất là trong tương lai rất gần. Vì vậy ở bài này, mình xin đưa ra một số phân tích của mình đối với một số thẻ quan trọng của HTML5 mà mình nghĩ rằng ngoài việc nó hỗ trợ người phát triển web làm việc dễ dàng hơn mà nó còn giúp máy tìm kiếm crawl và index nội dung tốt hơn.

 

Google không đọc Javascript, Flash, nhưng sẽ đọc HTML5?

Như từ trước tới nay, chúng ta hay dùng Flash hay Javascript để đính kèm thêm nhiều hiệu ứng đẹp mắt vào website để nó trông chuyên nghiệp hơn. Nhưng kể từ khi SEO phổ biến, hầu như phong trào này mình thấy không còn được sử dụng rộng rãi nữa vì nó không chỉ làm website trở nên nặng hơn mà các bot tìm kiếm sẽ bỏ qua những phần đó.

Các bạn cũng thừa sức biết rằng, HTML5 có thể chèn các định dạng media (audio, video) vào website mà không cần dùng bất cứ tác động nào của một chương trình của bên thứ 3 (ví dụ như player bằng flash để đọc video). Vậy thì nếu chúng ta chèn media vào website mà sử dụng HTML5 thì có được Google hiểu không? Câu trả lời chắc chắn là CÓ. Vì sao?

Bởi vì đa phần các Rich Snippets mà Google hỗ trợ hiện tại hoàn toàn sử dụng HTML5, điều đó không loại trừ việc chèn media vào website bởi vì hiện tại Google đã hỗ trợ hiểu nội dung video thông qua Video Schema Markup. Hãy cùng mình phân tích qua schema này để biết vì sao Google hỗ trợ nó nhé.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
 <h2>Video: <span itemprop="name">Title</span></h2>
 <meta itemprop="duration" content="T1M33S" />
 <meta itemprop="thumbnailUrl" content="thumbnail.jpg" />
 <meta itemprop="contentURL" content="http://www.example.com/video123.flv" />
 <meta itemprop="embedURL" content="http://www.example.com/videoplayer.swf?video=123" />
 <meta itemprop="uploadDate" content="2011-07-05T08:00:00+08:00" />
 <meta itemprop="expires" content="2012-01-30T19:00:00+08:00" />
 <object ...>
 <param ...>
 <embed type="application/x-shockwave-flash" ...>
 </object>
 <span itemprop="description">Video description</span>
</div>

Nhìn vào thì chắc chắn các bạn sẽ hiểu ngay đoạn schema này đang nói gì chứ đừng nói đến một cỗ máy chuyên dụng như bot Google. Nhờ vào schema này, bot Google sẽ hiểu được:

  • Định dạng của nội dung này là video.
  • Video này có tên gì.
  • Độ dài của video này là bao lâu.
  • Ảnh đại diện hiển thị cho video này là tấm nào.
  • Link của video là gì.
  • Nếu có dùng embed thì nó cũng hiểu được đang dùng trình embed gì.
  • Ngày upload video lên với công chúng.
  • Nội dung này có thời hạn là bao lâu.

Bằng chứng đâu hả? Đây nè

Hiển thị video trên Google

Điều này có nghĩa là Google có thể phân tích được và hiểu rằng nội dung trên web của bạn thật sự là gì để rồi sau đó nó sẽ cho hiển thị ra ngoài kết quả tìm kiếm đúng với định dạng nội dung đó. Hình ảnh cũng không ngoại lệ.

Nhưng nếu bạn dùng cái này, thì một nhược điểm lớn nhất là không thể sử dụng các video được đăng tải trên các trang lưu trữ video như Youtube, Vimeo, Veoh,…vào website của chính bạn để cho hiển thị Rich Snippet. Đơn giản là nó chỉ hỗ trợ video có link trực tiếp do bạn tự host, điều này cho bạn biết là chỉ nên sử dụng nó cho các video của chính bạn sở hữu trên hosting mà thôi, hạn chế nạn spam Rich Snippet.

Có thể bạn muốn xem:   Những lỗi thường gặp khi làm SEO

Còn các thẻ hỗ trợ media của HTML5 như <audio>, <video> thì mình tin rằng sau này các máy tìm kiếm sẽ có cơ chế lọc kết quả riêng cho các trang sử dụng các cặp thẻ này.

Google hiểu nội dung nhanh hơn nhờ vào cấu trúc chuẩn HTML5

HTML5 cũng có bổ sung thêm một vài thẻ trong việc cố định cấu trúc website như:

  • <section> – Được dùng để khai báo một vùng nội dung của một phần nào đó trên website.
  • <nav> – Khai báo một thành phần có công dụng điều hướng nội dung trong website. Như menu chẳng hạn.
  • <article> – Khai báo một thành phần nội dung độc lập trên website. Ví dụ nếu là blog thì một phần article là một bài viết, ở forum thì phần article là nội dung topic,….
  • <aside> – Khai báo một khu vực nội dung phụ có tính chất chung chung hoặc hơi liên quan đến nội dung chính của website và được đặt gần nội dung chính. Ví dụ như sidebar của website cũng như thành phần aside.
  • <hgroup> – Khai báo một vùng nội dung chứa các tiêu đề trong một section mà nếu bạn dùng trong trường hợp sử dụng nhiều thẻ heading (từ h1 tới h6) thì có thể dùng hgroup để bao quanh phần đó lại. Kiểu như đóng khung phần mục lục của một quyển sách ý.
  • <header> – Nếu đặt nó vào trong một section, thì đoạn này để khai báo phần trên của khu vực section đó.
  • <footer> – Giống như <header> nhưng nó là “hạ bộ” của section. Nói thế chắc hiểu nhỉ.   :haha:
  • <time> – Không biết giải thích sao cho hợp lý, thôi thì cứ bọc nó vào trong phần nào mà hiển thị giờ giấc trong website ấy.
  • <mark> – Để xác định một phần nội dung nhỏ bên trong mà bạn cho là quan trọng, nó sẽ được bôi nền màu vàng lên. Nó cũng giống như bạn highlight một đoạn text nào chẳng hạn.

Ok, vậy nếu Google mà bổ sung các chuẩn ở trên kèm ý nghĩa của chúng bỏ vào thuật toán crawl nội dung thì sao? Google chưa lên tiếng điều này nhưng mình tin rằng trước sau gì họ cũng làm vì nó sẽ hiểu được chính xác từng phần nội dung có trên website, ví dụ nó sẽ hiểu đâu là các thành phần tiêu đề trong trang web, đâu là một nhóm tiêu đề, đâu là nội dung chính để nó tập trung vào đó mà lấy đưa vào cơ sở dữ liệu rồi hiển thị chính xác nó ra ngoài kết quả tìm kiếm, tránh mang những nội dung không đâu vào đâu ra ngoài đó để đun máu người tiêu dùng.

Nói là lấy ví dụ luôn cho nó máu, giả sử mình đặt cấu trúc nội dung một bài viết của mình bằng HTML5 như sau:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<section name="content">
<article>
<header>
<h1>Đây là tiêu đề bài viết</h1>
<section name="content-meta">
Viết bởi <a href="#" rel="author">Thạch Phạm</a> vào ngày <time>6/7/2013</time> trong chuyên mục <a href="#"     rel="search">SEO</a>
</section>
</header>
 <section name="content-body">
<p>Đây là <mark>nội dung</mark> bài viết. Bạn có thể viết bất cứ cái giống gì vào đây, kể cả ném đá.</p>
 </section>
 <footer>
Nội dung này được giữ bản quyền bởi Thạch Phạm.
 </footer>
 </article>
 </section><!--end post-->

Đấy, nếu như bạn trình bày một bài viết theo một cấu trúc như thế thì mình tin rằng Google sẽ dễ xác định được phần này đang nói đến cái gì, có cái gì bên trong nó, nó có thể biết được đây là một phần article nên có thể sẽ tập trung vào crawl đầy đủ hơn. Từ đó nội dung bạn hiển thị ra ngoài description ở kết quả tìm kiếm cũng chính xác hơn với những gì mà người dùng tìm kiếm.

Cũng đừng quên rằng, một số Framework Theme nổi tiếng như Thesis 2, Genesis, Headway đã bắt đầu cải tiến toàn bộ cấu trúc thành HTML5 mà họ đã từng nói rằng sẽ tác động tích cực tới SEO.