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è
Đ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ư:
<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:
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.
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> để 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 linkrel="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ínhrel="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.
Tầm quan trọng của HTML5 và SEO Onpage
Đăng ký:
Đăng Nhận xét (Atom)






0 nhận xét:
Đăng nhận xét