Một số mẹo regex Redirect 301 hữu ích khi bạn tiến hành fix các lỗi website.
Một số mẹo regex redirect 301 hữu ích trong bài viết này là sau khi mình fix lỗi một số website từ khách hàng và nhận thấy một số kinh nghiệm để lên đây chia sẻ với các bạn.
Khi có hàng nghìn link bị lỗi 404 và bạn cần phải fix các lỗi này, một phương pháp sau mình áp dụng sẽ truyền đạt lại trong bài viết này.
- Bước 1. Xuất các link 404 thành file Excel về máy
- Bước 2. Sắp xếp các loại 404 (Giả sử sắp xếp theo kiểu link ví dụ /tag/xxx hoặc /category/xxx bằng Filter trong excel)
- Bước 3. Xử lý từng loại đã sắp xếp
- Bước 4. Những link còn lại sẽ dùng code hoặc rankmath seo để redirect những link 404 còn lại chưa xử lý về trang chủ
- Bước 5. Triển khai xác thực lại trên Google Search Console
Các website đã từng cài plugin AMP
Các website đã từng cài plugin AMP theo hướng dẫn từ Google Adsense, và sau đó họ nhận ra plugin này là không cần thiết và gỡ bỏ.
Việc gỡ bỏ plugin AMP sau một thời gian cài đặt sẽ phát sinh ra lỗi 404 cho những trang AMP, vì trước đó sau khi bạn cài plugin AMP, website sẽ tạo ra các link AMP
Giả sử tôi có bài viết : https://thoigianranh.com/kich-hoat-ban-quyen-windows.html
Sau khi cài plugin AMP sẽ phát sinh ra thêm một link có /amp đằng sau : https://thoigianranh.com/kich-hoat-ban-quyen-windows.html/amp
Sau khi gỡ bỏ plugin AMP, các link có /amp phía sau sẽ trở nên bơ vơ và trả về lỗi 404
Việc của bạn là chuyển tất cả các link có /amp về link không có /amp
Triển khai mã sau vào file .htaccess
Tìm đến RewriteEngine On trong .htaccess và dán dòng sau phía dưới
RewriteRule ^(.*)/amp$ $1 [R=301,L]
- Đoạn mã trên sẽ chuyển hướng 301 đối với các link có hậu tố /amp về link không có /amp
- Làm tương tự đối với các trường hợp gần giống như vậy
Các website đã từng cài đặt plugin đa ngôn ngữ
Một số khách hàng của mình đã từng cài đặt plugin đa ngôn ngữ trước đó, và không hiểu vì lý do gì họ hủy bỏ tính năng này.
Trong khi plugin đa ngôn ngữ hoạt động, mình sẽ chỉ điểm plugin Polylang trong ví dụ này, nó sẽ sinh ra các đường dẫn có mã ngôn ngữ trong url của bài viết
ex: domain.com/en/slug.html hoặc domain.com/vi/slug.html
Việc hủy kích hoạt plugin này sẽ bẻ gãy toàn bộ link có chứa mã quốc gia trong URL
Việc của bạn là redirect về link đúng
Triển khai code vào file .htaccess
RewriteRule ^vi(/.*)?$ /$1 [R=301,L]
- Sau khi triển khai code trên bạn sẽ redirect tất cả link có chứa /vi/ về link không có chứa /vi/
- Áp dụng với các trường hợp tương tự từ khác hoặc mã khác như /en/
Đối với các link cụ thể
Sử dụng redirect 301 bình thường ví dụ : RewriteRule ^tag/2016/page/2 /tag/2016 [R=301,L]
Cú pháp : RewriteRule [link cũ] [link mới] [R=301,L]
Sau khi triển khai fix các trường hợp 404 bằng các mẹo regex redirect 301 hữu ích bạn sẽ tiến hành xác thực lại với Google trên GG Search Console để thông báo thay đổi với Google nhé.
Đối với các link còn lại
Sử dụng RankMath SEO và bật mục chuyển hướng về trang chủ

Trường hợp không sử dụng RankMath có thể sao chép và dán đoạn code sau vào file functions.php của theme đang sử dụng
function wpcb_redirect_404() { global $wp_query; if ($wp_query->is_404) { wp_redirect(get_bloginfo('wpurl'), 301); exit; } } add_action('template_redirect', 'wpcb_redirect_404', 1);
Xem thêm trường hợp cần chuyển http về https bằng .htaccess tại đây
- Một số mẹo regex redirect 301 hữu ích trong bài viết này hy vọng sẽ hữu ích đối với bạn
- Trong trường hợp bạn có hàng loạt link cùng chung một định dạng có thể để lại bình luận để được giúp đỡ!