
Loại bỏ category trong URL của
Wordpress blog
Wordpress luôn là một sự lựa trọn hàng đầu cho các
bạn muốn sở hữu một blog, cấu trúc đơn giản, hệ
thống được tối ưu hóa tốt cho SEO. Các phần trong
wordpress hầu như đều được tối ưu hóa để hướng
đến việc dễ dàng và tiện lợi cho người sử dụng. Đơn
cữ như việc sử dụng plugin, nếu
trong Joomla hoặc Drupal thì các webmaster sẽ mất
khá nhiều công để ngồi chọn lựa trên các thư việc
extension, rôi sau đó download về và tiến hành cài
đặt, trong khi đó với wordpress chỉ cần vào control
panel và search sau đó install là song. Trên hết là
những phần tối ưu hóa cho SEO được các nhà phát
triển wordpress làm khá tốt, đặc biệt là khâu URL và
cấu trúc trang web. Nhưng nó vẫn tồn tại một nhược
điểm là trong url của phần category vẫn luôn xuất
hiện một biến là /category/.

Sự xuất hiện của biến này vô hình dùng làm cho
website của bạn đơn thuần chỉ là một blog, và không
thể tiến lên thành một CMS thực thụ. Vì nếu để tồn tại
biến /category/ này trong url, các bạn sẽ thấy ngay sự
khó chịu đối với người dùng và cả search engine ở
đây. Khi mà url của bài viết sẽ không có
biến /category/, nhưng url của thư mục chứa bài viết
lại xuất hiện biết trên. Điều này dẫn tới cấu trúc
website của bạn trở nên không rõ ràng với cácmáy
tìm kiếm khi bạn muốn phát triển SEO cho thư mục
con, và gây khó khăn cho người dung khi họ muốn
truy cập trực tiếp vào thư mục con mà không cần
thông qua trang chủ.

Trong bài viết này Thư Viện Webmaster sẽ hướng
dẫn các bạn cách để loại bỏ hoàn toàn /category/ ra
khỏi url của website làm bằng wordpress. Hy vọng
rằng nó sẽ giúp nhiều cho các bạn hơn trong việc
phát triển SEO cho webiste của mình.
Cách 1: Can thiệp vào file functions.php
Các bạn vào file functions.php và thêm đoạn code
này vào, hoặc có thể đính kèm nó vào file của 1
plugin nào đó:
function fix_slash( $string, $type )
{
global $wp_rewrite;
if ( $wp_rewrite->use_trailing_slashes == false )
{
if ( $type != 'single' && $type != 'category' )
return trailingslashit( $string );
if ( $type == 'single' && ( strpos( $string, '.html/' )
!== false ) )

return trailingslashit( $string );
if ( $type == 'category' && ( strpos( $string,
'category' ) !== false ) )
{
$aa_g = str_replace( "/category/", "/", $string );
return trailingslashit( $aa_g );
}
if ( $type == 'category' )
return trailingslashit( $string );
}
return $string;
}
add_filter( 'user_trailingslashit', 'fix_slash', 55, 2 );
Cách 2: Sử dụng .htaccess để điều hướng
Bản thân mình luôn sử dụng cách này để sử lý
/category/ vì nếu sử dụng cách 1 có thể sẽ gây một

số ảnh hưởng đến phần code của website. Vả
lại .htaccess sử dụng 301 redirect nên hoàn toàn có
thể áp dụng cho tất cả các website dù là mới hay cũ.
Thêm đoạn code sau vào file .htaccess là song:
RedirectMatch 301 ^/category/(.+)$
http://www.thuvienwebmaster.com/$1
# OR
RewriteRule ^category/(.+)$
http://www.thuvienwebmaster.com/$1 [R=301,L]

