- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Tôi có một site xây dựng bởi mã nguồn không phải wordpress, tôi chuyển website đó sang mã nguồn wordpress. Một trong những vấn đề là tất cả địa chỉ URL có ký tự .html ở cuối, nếu bỏ đi thì mất SEO ở website cũ. Vậy phải làm thế nào?
Với wordpress bạn có thể dễ dàng thực hiện việc thêm hậu tố vào cuối URL bằng cách thêm ký tự bạn muốn (vd: .html) vào custom permalink.
Truy cập Settings >> Permalinks >> Custom Structure.
Chú ý: bỏ “/” ở cuối rewrite tag rồi sau đó mới thêm suffix .html giống như sau:
/%category%/%postname%/
trở thành:
/%category%/%postname%.html
Add Url suffix with plugin
Ở trường hợp trên, chỉ địa chỉ bài viết hậu tố .html mới hoạt động, còn không sinh ra ký tự .html ở trang page. Nếu muốn page có hậu tốt .html thì cần cài plugin “Custom Permalinks“.
Plugin cho phép thay đổi URL tùy ý.
Mình thấy cách này không hay, nếu như muốn bỏ hậu tố hoặc đổi thành hậu tố khác thì phải sửa lại tất cả những trang đã thiết lập trước đây. Tải plugin ở tệp đính kèm, sau khi kích hoạt có phần settings để sửa đổi hậu tố (suffix) cho post và page.
Tất cả các page đều thêm .html vào cuối URL nhưng có một vấn đề là chúng ta không muốn thêm ký tự đó vào địa chỉ sitemap vẫn muốn dữ: /sitemap thay vì /sitemap.html vì mặc định trước đây chúng ta đã sunmit sitemap lên google với địa chỉ cũ là /sitemap.
Để loại trừ trang sitemap ra, bạn mở file html-on-pages.php trong thư mục plugin html-on-page/ tìm dòng:
add_filter ('user_trailingslashit', 'no_page_slash', 66, 2);
Thay bởi đoạn sau:
add_filter ('page_link', 'blog_permalinks_page_link', 10, 2); function blog_permalinks_page_link ($permalink, $page) { $pos = strpos ($permalink, "/sitemap.html"); if ($pos! == false) { $permalink = str_replace ("/sitemap.html", "/sitemap", $permalink); } return $permalink; } add_filter ('user_trailingslashit', 'no_page_slash', 66, 2);
Tiếp tục Tìm tới dòng:
function html_page_permalink () {
Thay thế bởi:
function html_page_permalink () { $string = $_SERVER ['REQUEST_URI']; $pos = strpos ($string, "/sitemap.html"); if ($pos! == false) { switch_to_blog (1); / / We are using WPMU if you are not you won't need this line. wp_redirect(. get_option ('home') str_replace ('/sitemap.html', '/ sitemap', $string), 301); exit(); } else { $pos = strpos ($string, "/ sitemap"); if ($ pos! == false) { $_SERVER ['REQUEST_URI'] = str_replace ("/ sitemap", "/ sitemap.html", $string); global $wp; $wp -> parse_request (); } }
Ngoài plugin trên có thể tham khảo plugin cũng đảm nhiệm công việc tương tự nhưng thêm suffix được vào cả category. Tất cả đều ở files đính kèm rồi nhé.
Chúc bạn thành công.
Hãy cho mình biết suy nghĩ của bạn trong phần bình luận bên dưới bài viết này. Hãy theo dõi kênh chia sẻ kiến thức WordPress của Hoangweb trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype