Hỗ trợ Forumotion
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

You are not connected. Please login or register

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

avatar
  • Member

Tim rơi lệ

Member


Tim rơi lệ
[Code] Việt hóa URL Empty

[Code] Việt hóa URL

on 10/12/2013


Tim rơi lệ
loading...

Mặc dù forumtion đã câp nhật URL theo tiêu đề từ rất lâu, tuy nhiên đến nay vẫn không hỗ trợ Tiếng Việt.
Cách thường dùng nhất hiện nay là cài đặt ngôn ngữ hệ thống về Tiếng Anh, cách này không tiện với những diễn đàn mà thành viên ít dùng Tiếng Anh, hơn nữa URL cũng không hiển thị tốt với Tiếng Việt có dấu.

Bài viết này, mình sẽ hướng dẫn cách tạo URL theo tiêu đề mà không phụ thuộc vào ngôn ngữ diễn đàn.
[Code] Việt hóa URL Url10
Phần 1: Sửa URL trang web

PunBB + PhpBB2:

ACP >> Display >> Templates >> QLTT >> overall_header
Tìm:

Code:
<title>{SITENAME_TITLE}{PAGE_TITLE}</title>
Thêm vào bên dưới:
Code:
<script type="text/javascript">
  //<![CDATA[
  function lang_vi(a) {
      a = a.toLowerCase();
      a = a.replace(/\u00e0|\u00e1|\u1ea1|\u1ea3|\u00e3|\u00e2|\u1ea7|\u1ea5|\u1ead|\u1ea9|\u1eab|\u0103|\u1eb1|\u1eaf|\u1eb7|\u1eb3|\u1eb5/g, "a");
      a = a.replace(/\u00e8|\u00e9|\u1eb9|\u1ebb|\u1ebd|\u00ea|\u1ec1|\u1ebf|\u1ec7|\u1ec3|\u1ec5/g, "e");
      a = a.replace(/\u00ec|\u00ed|\u1ecb|\u1ec9|\u0129/g, "i");
      a = a.replace(/\u00f2|\u00f3|\u1ecd|\u1ecf|\u00f5|\u00f4|\u1ed3|\u1ed1|\u1ed9|\u1ed5|\u1ed7|\u01a1|\u1edd|\u1edb|\u1ee3|\u1edf|\u1ee1/g, "o");
      a = a.replace(/\u00f9|\u00fa|\u1ee5|\u1ee7|\u0169|\u01b0|\u1eeb|\u1ee9|\u1ef1|\u1eed|\u1eef/g,
        "u");
      a = a.replace(/\u1ef3|\u00fd|\u1ef5|\u1ef7|\u1ef9/g, "y");
      a = a.replace(/\u0111/g, "d");
      a = a.replace(/\W+/g, "-");
      a = a.replace(/^\-+|\-+$/g, "");
      a = a.replace(/(-group)$/, "");
      return a.replace(/(-page-\d+)$/, "")
  }
  var path = location.pathname,
      canonical = path + location.search + location.hash;
  /(\-category|\-forum|\-topic|\-group)/.test(path) && history.replaceState(null, null, canonical.slice(1).replace(/(\-category|\-forum|\-topic|\-group)/, "-" + lang_vi(document.title)));
  //]]>
</script>
Invision + PhpBB3:

Bước 1: ACP >> Modules >> HTML & JAVASCRIPT >> Javascript Codes >> Create a new javascript:
Javascript Code *
Code:
function lang_vi(a) {
  a = a.toLowerCase();
  a = a.replace(/\u00e0|\u00e1|\u1ea1|\u1ea3|\u00e3|\u00e2|\u1ea7|\u1ea5|\u1ead|\u1ea9|\u1eab|\u0103|\u1eb1|\u1eaf|\u1eb7|\u1eb3|\u1eb5/g, "a");
  a = a.replace(/\u00e8|\u00e9|\u1eb9|\u1ebb|\u1ebd|\u00ea|\u1ec1|\u1ebf|\u1ec7|\u1ec3|\u1ec5/g, "e");
  a = a.replace(/\u00ec|\u00ed|\u1ecb|\u1ec9|\u0129/g, "i");
  a = a.replace(/\u00f2|\u00f3|\u1ecd|\u1ecf|\u00f5|\u00f4|\u1ed3|\u1ed1|\u1ed9|\u1ed5|\u1ed7|\u01a1|\u1edd|\u1edb|\u1ee3|\u1edf|\u1ee1/g, "o");
  a = a.replace(/\u00f9|\u00fa|\u1ee5|\u1ee7|\u0169|\u01b0|\u1eeb|\u1ee9|\u1ef1|\u1eed|\u1eef/g,
      "u");
  a = a.replace(/\u1ef3|\u00fd|\u1ef5|\u1ef7|\u1ef9/g, "y");
  a = a.replace(/\u0111/g, "d");
  a = a.replace(/\W+/g, "-");
  a = a.replace(/^\-+|\-+$/g, "");
  a = a.replace(/(-group)$/, "");
  return a.replace(/(-page-\d+)$/, "")
}
var path = location.pathname,
  canonical = path + location.search + location.hash;
/(\-category|\-forum|\-topic|\-group)/.test(path) && history.replaceState(null, null, canonical.slice(1).replace(/(\-category|\-forum|\-topic|\-group)/, "-" + lang_vi(document.title)));
Đến bước này, bạn có thể dừng lại, và chọn In all the pages trong mục Placement.
Tuy nhiên, mục đích của chúng ta là thay đổi URL càng nhanh càng tốt, nên bạn cần bỏ chọn trong mục Placement, lấy URL của file javascript vừa tạo, và làm tiếp bước 2.


Bước 2: ACP >> QLTT >> Forum promotion >> Search engines >> Other Meta Tags :
Metatags Administration >> Add type : Link javascript
Referencing : metatags >> "src" attribute : Dùng URL của file javascript đã tạo ở bước 1.
Với cách này code sửa URL sẽ được chạy sớm nhất, trước cả CSS và Javascript của diễn đàn, nếu để ý, bạn chỉ thấy URL trang web nháy nhẹ khi thay đổi. Có thể áp dụng cách này với PunBB + PhpBB2 nếu bạn không thích sửa Temp


Phần 2: Sửa URL liên kết

Tạo file javascript, đặt In all the pages.
Code:
$(function () {
  $("a[href^='/c'], a[href^='/f'], a[href^='/t']").attr({
      href: function () {
        var a = $.trim($(this).text());
        if ("" != a) return this.href.replace(location.origin, "").replace(/(\-category|\-forum|\-topic)/, "-" + lang_vi(a.replace(/Re:\s/i, "")))
      }
  });
});
Kết thúc! Chúc thành công.

Ghi chú:
ligerv từng bàn về Việt hóa URL có tốt cho SEO không, vì ở đây là dùng javascript, mình cũng không chắc về vụ SEO nhưng xem trên Google analytics thì nó hiển thị URL Tiếng Việt, có vẻ là chỉ cần chạy trước mã theo dõi của Google là được.

Nguồn: devs
Zzbaivong

Trả lời nhanh

Message reputation : 100% (1 vote)

    No Comment.

    Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang Thông điệp [Trang 1 trong tổng số 1 trang]

    Permissions in this forum:
    Bạn không có quyền trả lời bài viết