SEO URL Tiếng Việt không dấu cho XenForo, Tạo URL tiếng Việt không đấu chuẩn SEO Xenforo 100% thành công. Mặc định xenforo url lọc dấu tiếng Việt sẽ bị lỗi không lọc đúng. Để chỉnh lọc dấu URL tiếng Việt đạt chuẩn cho các phiên bản xenforo và không gây lỗi trên các phiên bản PHP như PHP 5.6, 7.0, 7.1, 7.2,.... các bạn làm như sau: Cách 1: áp dụng cho VPS/Hosting xài phiên bản PHP 5.6 trở xuống (5.6, 5.4, 5.2,...) Mở file /library/XenForo/Link.php trên hosting của diễn đàn, tải file này về máy. Sau đó mở file Link.php lên bằng Notepad++, trên menu của Notepad++, bạn chỉnh Encoding > Encode in UTF-8 without BOM để khi mình lưu xuống không mất định dạng của file mà xenforo có thể chạy được. Nếu bạn không chỉnh thì lúc tải lên sẽ bị lỗi web ngay. Tiếp theo tìm tới đoạn code sau trong file Link.php Mã: if ($romanize) { $title = utf8_romanize(utf8_deaccent($title)); } Thêm ở dưới code sau: Mã: $aPattern = array("a" => "á|à|ạ|ả|ã|ă|ắ|ằ|ặ|ẳ|ẵ|â|ấ|ầ|ậ|ẩ|ẫ|Á|À|Ạ|Ả|Ã|Ă|Ắ|Ằ|Ặ|Ẳ|Ẵ|Â|Ấ|Ầ|Ậ|Ẩ|Ẫ", "o" => "ó|ò|ọ|ỏ|õ|ô|ố|ồ|ộ|ổ|ỗ|ơ|ớ|ờ|ợ|ở|ỡ|Ó|Ò|Ọ|Ỏ|Õ|Ô|Ố|Ồ|Ộ|Ổ|Ỗ|Ơ|Ớ|Ờ|Ợ|Ở|Ỡ", "e" => "é|è|ẹ|ẻ|ẽ|ê|ế|ề|ệ|ể|ễ|É|È|Ẹ|Ẻ|Ẽ|Ê|Ế|Ề|Ệ|Ể|Ễ", "u" => "ú|ù|ụ|ủ|ũ|ư|ứ|ừ|ự|ử|ữ|Ú|Ù|Ụ|Ủ|Ũ|Ư|Ứ|Ừ|Ự|Ử|Ữ", "i" => "í|ì|ị|ỉ|ĩ|Í|Ì|Ị|Ỉ|Ĩ", "y" => "ý|ỳ|ỵ|ỷ|ỹ|Ý|Ỳ|Ỵ|Ỷ|Ỹ", "d" => "đ|Đ",); while(list($key,$value) = each($aPattern)){ $title = @ereg_replace($value, $key, $title); } Save lại tải lên và hưởng kết quả nhé. Cách 2: áp dụng cho VPS/Hosting xài phiên bản PHP 7.0 trở xuống (7.0, 7.1, 7.2,...) Mở file /library/XenForo/Link.php trên hosting của diễn đàn, tải file này về máy. Sau đó mở file Link.php lên bằng Notepad++, trên menu của Notepad++, bạn chỉnh Encoding > Encode in UTF-8 without BOM để khi mình lưu xuống không mất định dạng của file mà xenforo có thể chạy được. Nếu bạn không chỉnh thì lúc tải lên sẽ bị lỗi web ngay. Tiếp theo tìm tới đoạn code sau trong file Link.php Mã: if ($romanize) { $title = utf8_romanize(utf8_deaccent($title)); } Thêm ở dưới code sau: Mã: $aPattern = array("a" => "á|à|ạ|ả|ã|ă|ắ|ằ|ặ|ẳ|ẵ|â|ấ|ầ|ậ|ẩ|ẫ|Á|À|Ạ|Ả|Ã|Ă|Ắ|Ằ|Ặ|Ẳ|Ẵ|Â|Ấ|Ầ|Ậ|Ẩ|Ẫ", "o" => "ó|ò|ọ|ỏ|õ|ô|ố|ồ|ộ|ổ|ỗ|ơ|ớ|ờ|ợ|ở|ỡ|Ó|Ò|Ọ|Ỏ|Õ|Ô|Ố|Ồ|Ộ|Ổ|Ỗ|Ơ|Ớ|Ờ|Ợ|Ở|Ỡ", "e" => "é|è|ẹ|ẻ|ẽ|ê|ế|ề|ệ|ể|ễ|É|È|Ẹ|Ẻ|Ẽ|Ê|Ế|Ề|Ệ|Ể|Ễ", "u" => "ú|ù|ụ|ủ|ũ|ư|ứ|ừ|ự|ử|ữ|Ú|Ù|Ụ|Ủ|Ũ|Ư|Ứ|Ừ|Ự|Ử|Ữ", "i" => "í|ì|ị|ỉ|ĩ|Í|Ì|Ị|Ỉ|Ĩ", "y" => "ý|ỳ|ỵ|ỷ|ỹ|Ý|Ỳ|Ỵ|Ỷ|Ỹ", "d" => "đ|Đ",); while(list($key,$value) = each($aPattern)){ $title = preg_replace('/'.$value.'/i', $key, $title); } Save lại tải lên và hưởng kết quả nhé. Nếu khi bạn chuyển từ PHP 5.6 sang 7.2 bị lỗi: Fatal error: Cannot 'break' 2 levels in /public_html/library/WidgetFramework/Helper/Index.php on line 90 Để Fix lỗi trên bạn truy cập vào đường dẫn trên hosting: library/WidgetFramework/Helper/Index.php Mở file này lên tìm tới đoạn code: Mã: // try with $extraTabs now foreach ($extraTabs as &$tabs) { $tab['selected'] = true; $selected = true; break 2;// <<<<<<<<<<<<<<<<<<< } Thay thế break 2; Thành break; Sau đó lưu lại và tải lên sẽ hết lỗi ngay nhé.
bác này nói chuẩn này, cái chính là mình có tối ưu dc từ khóa hay không và nội dung trang ra sao chứ mấy cái lông lá này có cũng dc k có cũng chả vấn đề lắm đâu