Hướng dẫn Việt hóa Label khi đã đặt tên không dấu
vào
04 thg 6, 2018
Bạn muốn tạo liên kết đẹp, chuẩn SEO cho label bắt buộc phải đặt tên không dấu và ngăn cách nhau bằng dấu "-" ví dụ bạn muốn tạo nhãn Thủ thuật blogspot thì muốn có liên kết đẹp bạn phải đặt tên label là thu-thuat-blogspot để ra đường link /search/label/thu-thuat-blogspot.
Tuy nhiên khi hiển thị sẽ ra tên tiếng Việt không dấu mà bạn đã tạo như vậy làm mất thẩm mỹ đôi khi còn gây nhầm lẫn cho người đọc và không dễ gì dễ nhớ tên. Như vậy bạn cần chuyển tên label này từ tiếng Việt không dấu thành tiếng Việt có dấu và bỏ dấu "-" chính giữa.
Bạn có thể sử dụng javascript chuyển đổi text như một số bài viết ở các trang khác hướng dẫn. Tuy nhiên trong bài này mình không sử dụng cách đó mà sử dụng cố định như cách bạn tạo menu. Tức là bạn sẽ chuyển dữ liệu gọi tên label từ tự động sang tên cố định mà bạn đặt hiển thị.
Mình lấy ví dụ trong cấu trúc HTML gọi tên label thường có dạng sau:
Bây giờ bạn sẽ chuyển hóa liên kết này sang cố định như sau
Nhưng với điều kiện trong thẻ if label đó tên gì, mình lấy ví dụ với label có tên thu-thuat-blogspot
Như vậy liên kết này phải bắt buộc nằm trong thẻ if với tên label không dấu mà bạn đã đặt và mấu chốt là chuyển hóa thẻ <data:label.name/> tự động sang tên cố định.
Bây giờ bạn cần biết tên label này nó hiển thị ở những trang nào đó là những trang như trang chủ, trang tìm kiếm, trang label, trang lưu trữ gọi chung là trang index và trang bài viết
Với trường hợp hiển thị trong bài viết thì nó lại liên quan đến Breadcrumb mà mình đã viết bài cách đây ít hôm. Nếu bạn chưa đọc có thể đọc bài viết Hướng dẫn tối ưu cho Nhãn hiển thị tiếng Việt có dấu và tạo link không dấu
Còn lại những trang index thì tên label sẽ được hiển thị ở hai nơi dưới mỗi bài đăng và breadcrumb ở trang tìm kiếm label
Mình lấy ví dụ với trang chủ thì tên label sẽ hiển thị dưới mỗi post và phần này sẽ được đặt trong đoạn <b:includable id='post' var='post'>...</b:includable>, mở rộng đoạn này ra bạn tìm cấu trúc của HTML bên trong, do mối theme được thiết kế khác nhau trong cách bố trí nhưng cách nhận biết thẻ <data:label.name/> nó phải được đặt trong vòng lặp <b:loop values='data:post.labels' var='label'>...</b:loop>cụ thể
Thông thường người ta vẫn đặt label cuối nếu trong trường hợp bài viết có từ 2 label trở lên nên trong vòng lặp có thêm thẻ điều kiện như sau:
Bây giờ bạn cần sửa lại như sau:
Cụ thể trong đoạn bên dưới
Trong // Đặt tên label bạn sử dụng đoạn mẫu để thêm tên cố định cho lable
Với trường hợp hiển thị tại trang tìm kiếm label do breadcrumb thì mục này bạn sử trong đoạn <b:includable id='breadcrumb' var='posts'>...</b:includable>. Mình không biết trong breadcrumb của theme bạn như thế nào nhưng nếu bạn đã áp dụng theo bài viết của mình Hướng dẫn thêm dữ liệu cấu trúc Breadcrumb cho bài viết thì bạn tìm nội dung bên trong có thẻ điều kiện <b:if cond='data:view.isMultipleItems'> cụ thể như sau:
Bạn sửa thành như sau:
Bạn lưu ý chỗ mình đánh dấu màu đỏ với điều kiện <b:if cond='data:blog.searchLabel == "ten-label"'>, cứ mỗi thẻ <b:if bạn lại thêm một thẻ <b:else/> và kết thúc bằng một thẻ </b:if> dưới cùng.
Qua bài này bạn cần nắm được điều kiện của hai thẻ điều kiện như sau:
Hiển thị tên nhãn dưới mỗi post
Hiển thị tên nhãn trong Breadcrumb ở trang tìm kiếm label
Bạn chịu khó thay thế để Blog của mình được SEO tốt hơn tuy chỉ là một điểm nhỏ nhưng cũng nâng được điểm SEO, quan trong hơn giúp người đọc dễ dàng đọc và nhớ tên Label.
Tuy nhiên khi hiển thị sẽ ra tên tiếng Việt không dấu mà bạn đã tạo như vậy làm mất thẩm mỹ đôi khi còn gây nhầm lẫn cho người đọc và không dễ gì dễ nhớ tên. Như vậy bạn cần chuyển tên label này từ tiếng Việt không dấu thành tiếng Việt có dấu và bỏ dấu "-" chính giữa.
Bạn có thể sử dụng javascript chuyển đổi text như một số bài viết ở các trang khác hướng dẫn. Tuy nhiên trong bài này mình không sử dụng cách đó mà sử dụng cố định như cách bạn tạo menu. Tức là bạn sẽ chuyển dữ liệu gọi tên label từ tự động sang tên cố định mà bạn đặt hiển thị.
Mình lấy ví dụ trong cấu trúc HTML gọi tên label thường có dạng sau:
Copy
<a expr:href='data:label.url' expr:title='data:label.name'><data:label.name/></a>
Bây giờ bạn sẽ chuyển hóa liên kết này sang cố định như sau
Copy
<a expr:href='data:label.url' title='Tên label'>Tên label</a>
Nhưng với điều kiện trong thẻ if label đó tên gì, mình lấy ví dụ với label có tên thu-thuat-blogspot
Copy
<b:if cond='data:label.name == "thu-thuat-blogspot"'>
<a expr:href='data:label.url' title='Thủ thuật blogspot'>Thủ thuật blogspot</a>
</b:if>
Như vậy liên kết này phải bắt buộc nằm trong thẻ if với tên label không dấu mà bạn đã đặt và mấu chốt là chuyển hóa thẻ <data:label.name/> tự động sang tên cố định.
Bây giờ bạn cần biết tên label này nó hiển thị ở những trang nào đó là những trang như trang chủ, trang tìm kiếm, trang label, trang lưu trữ gọi chung là trang index và trang bài viết
Với trường hợp hiển thị trong bài viết thì nó lại liên quan đến Breadcrumb mà mình đã viết bài cách đây ít hôm. Nếu bạn chưa đọc có thể đọc bài viết Hướng dẫn tối ưu cho Nhãn hiển thị tiếng Việt có dấu và tạo link không dấu
Còn lại những trang index thì tên label sẽ được hiển thị ở hai nơi dưới mỗi bài đăng và breadcrumb ở trang tìm kiếm label
Mình lấy ví dụ với trang chủ thì tên label sẽ hiển thị dưới mỗi post và phần này sẽ được đặt trong đoạn <b:includable id='post' var='post'>...</b:includable>, mở rộng đoạn này ra bạn tìm cấu trúc của HTML bên trong, do mối theme được thiết kế khác nhau trong cách bố trí nhưng cách nhận biết thẻ <data:label.name/> nó phải được đặt trong vòng lặp <b:loop values='data:post.labels' var='label'>...</b:loop>cụ thể
Copy
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' expr:title='data:label.name'><data:label.name/></a>
</b:loop>
Thông thường người ta vẫn đặt label cuối nếu trong trường hợp bài viết có từ 2 label trở lên nên trong vòng lặp có thêm thẻ điều kiện như sau:
Copy
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.isLast == "true"'>
<a expr:href='data:label.url' expr:title='data:label.name'><data:label.name/></a>
</b:if>
</b:loop>
Bây giờ bạn cần sửa lại như sau:
Copy
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.isLast == "true"'>
<b:if cond='data:label.name == "thu-thuat-blogspot"'>
<a expr:href='data:label.url' title='Thủ thuật blogspot'>Thủ thuật blogspot</a>
</b:if>
</b:if>
</b:loop>
Cụ thể trong đoạn bên dưới
Copy
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.isLast == "true"'>
// Đặt tên label
</b:if>
</b:loop>
Trong // Đặt tên label bạn sử dụng đoạn mẫu để thêm tên cố định cho lable
Copy
<b:if cond='data:label.name == "ten-label-1"'>
<a expr:href='data:label.url' title='Tên label 1'>Tên label 1</a>
</b:if>
<b:if cond='data:label.name == "ten-label-2"'>
<a expr:href='data:label.url' title='Tên label 2'>Tên label 2</a>
</b:if>
...
Với trường hợp hiển thị tại trang tìm kiếm label do breadcrumb thì mục này bạn sử trong đoạn <b:includable id='breadcrumb' var='posts'>...</b:includable>. Mình không biết trong breadcrumb của theme bạn như thế nào nhưng nếu bạn đã áp dụng theo bài viết của mình Hướng dẫn thêm dữ liệu cấu trúc Breadcrumb cho bài viết thì bạn tìm nội dung bên trong có thẻ điều kiện <b:if cond='data:view.isMultipleItems'> cụ thể như sau:
Copy
<b:if cond='data:view.isMultipleItems'>
<div class='breadcrumbs'>
<b:if cond='data:blog.pageName == ""'>
<a expr:href='data:blog.homepageUrl' expr:title='data:homeMsg'><data:homeMsg/></a> ›
<a expr:href='data:olderPageUrl' expr:title='data:messages.morePosts'><data:messages.morePosts/></a>
<b:else/>
<a expr:href='data:blog.homepageUrl' expr:title='data:homeMsg'><data:homeMsg/></a> ›
<a expr:href='data:blog.canonicalUrl' expr:title='data:blog.pageName'><data:blog.pageName/></a>
</b:if>
</div>
Bạn sửa thành như sau:
Copy
<b:if cond='data:view.isMultipleItems'>
<div class='breadcrumbs'>
<b:if cond='data:blog.pageName == ""'>
<a expr:href='data:blog.homepageUrl' expr:title='data:homeMsg'><data:homeMsg/></a> ›
<a expr:href='data:olderPageUrl' expr:title='data:messages.morePosts'><data:messages.morePosts/></a>
<b:else/>
<b:if cond='data:blog.searchLabel == "ten-label-1"'>
<a expr:href='data:blog.homepageUrl' expr:title='data:homeMsg'><data:homeMsg/></a> ›
<a expr:href='data:blog.canonicalUrl' title='Tên label 1>Tên label 1</a>
<b:else/>
<b:if cond='data:blog.searchLabel == "ten-label-2"'>
<a expr:href='data:blog.homepageUrl' expr:title='data:homeMsg'><data:homeMsg/></a> ›
<a expr:href='data:blog.canonicalUrl' title='Tên label 2>Tên label 2</a>
<b:else/>
<a expr:href='data:blog.homepageUrl' expr:title='data:homeMsg'><data:homeMsg/></a> ›
<a expr:href='data:blog.canonicalUrl' expr:title='data:blog.pageName'><data:blog.pageName/></a>
</b:if></b:if></b:if>
</div>
Bạn lưu ý chỗ mình đánh dấu màu đỏ với điều kiện <b:if cond='data:blog.searchLabel == "ten-label"'>, cứ mỗi thẻ <b:if bạn lại thêm một thẻ <b:else/> và kết thúc bằng một thẻ </b:if> dưới cùng.
Qua bài này bạn cần nắm được điều kiện của hai thẻ điều kiện như sau:
Hiển thị tên nhãn dưới mỗi post
Copy
<b:if cond='data:label.name == "ten-label"'>
// Đặt tên label
</b:if>
Hiển thị tên nhãn trong Breadcrumb ở trang tìm kiếm label
Copy
<b:if cond='data:blog.searchLabel == "ten-label"'>
// Đặt tên label
</b:if>
Bạn chịu khó thay thế để Blog của mình được SEO tốt hơn tuy chỉ là một điểm nhỏ nhưng cũng nâng được điểm SEO, quan trong hơn giúp người đọc dễ dàng đọc và nhớ tên Label.
Nội dung chính