Random Post

Thứ Hai, 8 tháng 7, 2013

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

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.
HTML5, SEO onpage

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

<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è
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3uxQXx_7QeQn5IortfvTSkPlDLDkRd2JGyrcVkzf9J_YSXkXGhyphenhyphenxQ4HtUpMB8TDaDU1Lps9lj60WZUdmnRgB7UC28Y3R9961IE6huUgC_jTh6ORI0EWdbSgPTRjiYxS2r9aN8rg7q8Rmt/s295-no/phong-vu.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="72" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3uxQXx_7QeQn5IortfvTSkPlDLDkRd2JGyrcVkzf9J_YSXkXGhyphenhyphenxQ4HtUpMB8TDaDU1Lps9lj60WZUdmnRgB7UC28Y3R9961IE6huUgC_jTh6ORI0EWdbSgPTRjiYxS2r9aN8rg7q8Rmt/s295-no/phong-vu.jpg" width="320" /></a></div>
Đ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ò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ư:

</video></audio>
<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ỉ.
<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:

<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">Tác giả</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 Tác giả.
</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.

Tác động của thuộc tính rel trong link đến SEO

Đã từ lâu, Google đã đưa một số giá trị trong thuộc tính trong thẻ <a href=""> để tác động đến các yếu tố SEO Onpage hoặc cũng có thể tác động đến SEO Offpage (đi bắn backlink mà toàn lựa link rel="dofollow" không đó thây), và gần đây nhất là họ đã bổ sung thêm giá trị author vào thuộc tính rel này để hiển thị avatar tác giả lên máy tìm kiếm.

Nhưng bạn có biết rằng, HTML5 còn bổ sung rất nhiều giá trị mới khác cho thuộc tính rel mà mục đích của họ là phân loại các đường link ra rõ ràng hơn. Mình xin liệt kê một số giá trị của thuộc tính này như:

rel="bookmark": Nếu bạn có dùng theme mặc định của WordPress hay các theme được tải trên thư viện theme của WordPress thì có thể thấy cuối mỗi bài nó đều chèn một title tên là Permalink với đường dẫn trỏ tới link bài viết đó kèm theo thuộc tính rel="bookmark". Theo giải thích của W3C, thì giá trị này được dùng để khai báo đường dẫn chính cho trang hiện tại bạn xem để tránh nhầm lẫn với các liên kết tạp khác.
rel="help": Được dùng để xác định một link trỏ tới một trang hướng dẫn hay documentation trên trang web.
rel="next" và rel="prev" : Cái này WordPress cũng đã đưa thuộc tính này vào hàm hiển thị các nút phân trang trên WordPress, nó thường xác định trong một link mà mình muốn chỉ định nó làm bài viết tiếp theo hoặc trước đó cho bài viết hiện tại.
Bạn có thể thấy các giá trị đó đều mang một ý nghĩa rất đặc trưng mà nếu các máy tìm kiếm dựa vào đó để phân loại các liên kết trong trang nhằm lọc ra được những liên kết có giá trị liên quan đến nội dung trong trang đó để tránh phân tích và chia sẻ thứ hạng với các liên kết khác mặc dù là dofollow. Nếu Google thật sự áp dụng nó vào thì cộng đồng SEO chúng ta sẽ có thêm một việc khá thú vị khi SEO Onpage đó là phân tích để đặt thẻ rel thích hợp nhằm tăng sức mạnh liên kết nội bộ, bản thân người tiêu dùng cũng có lợi.

Đó là một số giá trị của thuộc tính rel mà mình nghĩ nó góp phần rất quan trọng trong SEO. Nếu bạn muốn tìm hiểu thêm các giá trị khác thì có thể xem thêm tại đây.

Lời kết

Bài viết này được viết hoàn toàn dựa trên phỏng đoán và cách nhìn nhận của mình nên mình không chắc chắn là nó có ảnh hưởng tới SEO thật không nhưng dù gì mình cũng mong điều đó trở thành sự thật, khi mà HTML5 đã cải tiến vượt trội nhằm xác minh lại chuẩn thiết kế website cũng như cấu trúc của trang. Điều đó sẽ giúp trang web sẽ có một cấu trúc khoa học hơn rất nhiều.

Còn bạn thì sao, bạn có tin rằng HTML5 sẽ ảnh hưởng tới thứ hạng của website trên máy tìm kiếm không? Và hiện tại bạn đã áp dụng HTML5 vào dự án của bạn chưa?
By: Thachpham

Không có nhận xét nào:

Đăng nhận xét