Hướng dẫn khắc phục lỗi 404 Not Found trong WordPress

Trong quá trình sử dụng WordPress, bạn sẽ phải đối mặt với nhiều lỗi tiềm ẩn có thể phát sinh. Và lỗi 404 Not Found là một trong số đó. Lỗi này gây khó chịu cho độc giả của bạn khi họ truy cập vào một bài viết nhưng chỉ thấy thông báo lỗi 404 Not Found. Đó là điều cuối cùng độc giả tiềm năng của bạn có thể nhìn thấy. Và rất có thể là họ sẽ không bao giờ quay trở lại. Lỗi 404 Not Found có thể là một dấu hiệu cho thấy bạn đã thay đổi cấu trúc permalinks và bạn cần phải chuyển hướng 301 để không làm ảnh hưởng đến kết quả SEO. Trong bài viết này tôi sẽ chia sẻ cách khắc phục lỗi 404 Not Found.

Lỗi 404 Not Found là gì?

404 not found errors

Khi bạn hoặc độc giả của bạn sử dụng trình duyệt web để truy cập blog/website, trình duyệt sẽ gửi một truy vấn đến máy chủ web. Sau đó máy chủ web truy cập cơ sở dữ liệu và trả nội dung để trình duyệt web hiển thị cho người đọc.

Dữ liệu nhận lại có một thành phần là HTTP header. HTTP header chứa các mã trạng thái HTTP với mục đích cho bạn biết điều gì đã xảy ra với truy vấn từ trình duyệt.

Thường thì các truy vấn hoạt động một cách chính xác và bạn sẽ không nhìn thấy mã trạng thái HTTP. Nhưng nếu có lỗi xảy ra, trình duyệt web của bạn sẽ hiển thị các thông báo với mã trạng thái HTTP để chỉ ra chính xác vấn đề mà bạn đang gặp phải.

Cũng giống như các thông báo lỗi khác (Lỗi 500, lỗi 502, lỗi 504…), lỗi 404 Not Found cũng là kết quả  của quá trình này.

Ý nghĩa của lỗi 404 Not Found

Chính xác nó có nghĩa là trình máy khách (bạn, độc giả của bạn, trình duyệt web) kết nối thành công đến máy chủ web nhưng không thể tìm thấy tài nguyên được yêu cầu.

Ví dụ: Nếu một người truy cập vào địa chỉ https://yoursite.com/ten-bai-viet, nhưng trên blog/website của bạn không có bất kỳ bài viết/trang nào có slug là ten-bai-viet, thì khách truy cập sẽ nhận được thông báo lỗi 404 Not Found cho dù máy chủ của bạn vẫn hoạt động bình thường nhưng tài nguyên cần tìm lại không tồn tại.

Không riêng gì bài viết/trang mà nếu các tài nguyên khác như hình ảnh, tập tin CSS, tập tin JavaScript không tồn tại bạn cũng vẫn nhận được thông báo lỗi 404 Not Found.

Nguyên nhân gây ra lỗi 404 Not Found trong WordPress

Nếu lỗi này xảy ra với tất cả các nội dung trên blog/website của bạn, thì nguyên nhân chính là do bạn đã cấu hình sai cấu trúc permalinks. Tuy nhiên nếu bạn chỉ thấy nó xảy ra đối với một số bài viết/trang nào đó thì nguyên nhân rất có thể là bạn đã thay đổi slug bài viết/trang nhưng không thực hiện việc chuyển hướng.

Ngoài ra, lỗi 404 Not Found không hoàn toàn xấu. Nó chỉ xấu khi làm ảnh hưởng đến trải nghiệm của người dùng, kết quả SEO trên trang của bạn. Nhưng đôi khi mọi thứ có thể sẽ nằm ngoài tầm kiểm soát của bạn. Vì vậy dù bạn muốn hay không, lỗi 404 Not Found vẫn sẽ xảy ra.

Ví dụ: Đôi khi có thể một người sẽ nhập sai địa chỉ URL trong thành địa chỉ của trình duyệt. Trong trường hợp này chúng ta vẫn thấy lỗi 404 Not Found, nhưng không có vấn đề gì đối với việc cấu hình permalinks trên trang của bạn. Đây thật sự là một phản hồi hồi ích, và bạn có thể  tạo trang 404 Not Found tùy chỉnh để điều hướng khách truy cập.

Các dạng thông báo của lỗi 404 Not Found trên các trình duyệt khác nhau

Bởi vì các trình duyệt khác nhau sẽ hiển thị thông báo lỗi khác nhau nên bạn có thể sẽ nhìn thấy các dạng thông báo khác nhau của lỗi 404 Not Found, tùy vào trình duyệt mà mình đang sử dụng. Các thông báo lỗi 404 Not Found trên các trình duyệt khác nhau gồm:

  • “Error 404”
  • “404 Not Found”
  • “HTTP Error 404”
  • “Not Found”
  • “Page Not Found”
  • “The requested URL was not found on this server.”
  • “The page cannot be found”
  • “We can’t find the page you’re looking for.”
  • “The requested URL /~ was not found on this server. That’s all we know.

Lỗi 404 trên trình duyệt Chrome

Có một số trang web sử dụng trang tùy chỉnh để tạo trang thông báo lỗi 404 Not Found rất độc đáo và vui nhộn. Theo mặc định có một số WordPress Theme tích hợp trang thông báo lỗi 404 Not Found tùy chỉnh. Do đó có thể bạn sẽ không nhìn thấy thông báo lỗi, thay vào đó bạn sẽ nhìn thấy một trang đầy hài hước và sáng tạo.

funny 404 not found page

Lỗi 404 Not Found có làm ảnh hưởng xấu đến SEO?

Lỗi 404 Not Found có ảnh hưởng gì xấu đến SEO hay không? Câu trả lời là còn tùy vào nguyên nhân gây ra lỗi.

Ví dụ: Nếu khách truy cập nhập sai địa chỉ URL của bài viết/trang gây ra lỗi 404 thì trường hợp này không ảnh hưởng gì đến SEO. Nhưng nếu lỗi 404 Not Found xảy ra do lỗi gãy liên kết thì sẽ làm hạn chế khả năng thu thập dữ liệu của các con bọ của công cụ tìm kiếm, dẫn đến ảnh hưởng xấu đến SEO.

Ngoài ra nếu lỗi 404 Not Found xảy ra là do cấu hình sai permalinks, Google sẽ không thể thu thập bất kỳ dữ liệu nào trên website của bạn. Vì vậy bạn cần khắc phục lỗi 404 Not Found càng sớm càng tốt.

Lỗi 404 có làm ảnh hưởng xấu đến hiệu suất của website?

Nhiều người không nhận ra điều này, nhưng nếu xuất hiện nhiều lỗi 404 Not Found thì nó sẽ ảnh hưởng xấu đến hiệu suất đối với trang web của bạn, vì các phản hồi này được lưu trong bộ nhớ đệm. Đặc biệt là trong trường hợp bạn quảng cáo hoặc mua lưu lượng truy cập cho trang bị lỗi 404 Not Found.

Bạn có thể sử dụng Google Search Console để kiểm tra lỗi 404 Not Found. Những lỗi này ảnh hưởng rất xấu đến hiệu suất trang web vì nó ngốn rất nhiều tài nguyên. Nếu có thể bạn hãy tạo một trang 404 Not Found để tránh việc truy vấn cơ sở dữ liệu.

Cách khắc phục lỗi 404 Not Found trong WordPress

Dưới đây là các cách dùng để khắc phục lỗi 404 Not Found trong WordPress. Tùy thuộc vào nó xảy ra ở diện rộng hay cục bộ mà bạn có thể áp dụng cho phù hợp.

Cập nhật Permalinks trên WordPress site của bạn

Nếu bạn gặp phải lỗi 404 Not Found khi truy cập nội dung, nguyên nhân có thể là do bạn cấu hình sai permalinks trên WordPress site của mình hoặc do tập tin .htaccess nếu bạn sử dụng máy chủ Apache.

Cách đơn giản nhất để khắc phục trong trường hợp này là cập nhật lại cấu trúc permalinks trong WordPress Dashboard.

Bạn cần truy cập vào trang Settings » Permalinks sau đó nhấp vào nút Save Changes. (Lưu ý là bạn không cần thực hiện bất kỳ thay đổi nào cả, chỉ cần nhấp vào Save Changes là được).

update pemalinks

Thao tác này sẽ cập nhật permalinks trên trang của bạn. Trong hầu hết các trường hợp nó sẽ giúp bạn khắc phục được lỗi 404 Not Found. Tuy nhiên nếu cách này vẫn không giúp bạn khắc phục được sự cố bạn cần cập nhật tập tin .htaccess một cách thủ công.

Đăng nhập vào tài khoản hosting của bạn. Sau đó tìm đến tập tin .htaccess (nó nằm chung với thư mục /wp-contentwp-includes). Cách đơn giản nhất để có thể ghi đè nội dung lên tập tin .htaccess là thay đổi phân quyền cho nó thành 666. (Sau khi sửa xong nhớ thay đổi lại phân quyền là 660).

Bạn cũng có thể thêm đoạn code bên dưới vào tập tin .htaccess để cập nhật permalinks một cách thủ công:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END>WordPress

Thiết lập chuyển hướng 301 để chuyển hoặc đổi tên nội dung

Nếu lỗi 404 Not Found chỉ xảy ra đối với một số bài viết/trang thì nguyên nhân có thể là slug URL của nội dung đã được thay đổi. Vì thế khi người dùng truy cập vào bài viết cũ, họ sẽ nhìn thấy lỗi 404 Not Found thay vì tài nguyên mà họ mong muốn.

Cách tốt nhất để khắc phục tự động trong trường hợp này là chuyển hướng người dùng từ vị trí cũ đến vị trí mới. Với cách này, độc giả của bạn sẽ được chuyển đến đúng vị trí mà không là phát sinh lỗi 404 Not Found. Điều này cũng tốt cho SEO. Nếu bạn di chuyển hoặc đổi tên bài viết mà không chuyển hướng, bạn sẽ mất một lưu lượng truy cập vào các bài viết này.

Theo mặc định, WordPress cố gắng chuyển hướng nội dung đã thay đổi hoặc xóa. Nhưng không phải lúc nào nó cũng hoạt động hiệu quả và bạn cũng không nên quá phụ thuộc vào tính năng này. Nhưng cũng đừng quá lo lắng vài có một số cách giúp bạn dễ dàng thực hiện việc chuyển hướng.

Việc đầu tiên bạn cần làm là cài đặt và kích hoạt plugin Redirection. Nếu bạn chưa biết cách cài đặt và kích hoạt plugin, bạn có thể xem lại bài viết Hướng dẫn cài đặt và quản lý plugin trong WordPress.

Sau khi kích hoạt, bạn cần truy cập vào trang Tools » Redirection.

Redirection

Tìm đến phần Add New Redirection:

  • Source URL: Nhập vào địa chỉ của trang bị lỗi 404 Not Found.
  • Target URL: Nhập vào địa chỉ mới của nội dung.

Sau đó nhấp vào nút Add Redirect.

Cách tạo trang thông báo lỗi 404 Not Found tùy chỉnh

Mặc dù với những cách tôi đã trình bày ở trên, bạn có thể hạn chế thấp nhất khả năng phát sinh lỗi 404 Not Found. Tuy nhiên bạn không thể loại bỏ hoàn toàn khả năng tiềm ẩn gây ra lỗi, vì có một số thứ nằm ngoài tầm kiểm soát của chúng ta. Việc một trang web nhỏ nhưng xảy ra hàng ngàn lỗi 404 Not Found/tháng cũng không phải là hiếm gặp.

Ví dụ: nếu khách truy cập nhập sai địa chỉ URL hoặc một trang web nào đó liên kết đến một bài viết không tồn tại, mọi người sẽ gặp lỗi 404 Not Found.

Bạn có thể sử dụng plugin 404page để tạo các trang thông báo lỗi thân thiện hơn với người dùng. Plugin ngày có thể giúp bạn tạo ra một trang thông báo lỗi tùy chỉnh gồm các tính năng: Hộp tìm kiếm, các liên kết quan trọng, thông tin liên hệ.

Bằng cách sử dụng các tính năng đã nêu, bạn có thể cung cấp cho khách truy cập các công cụ cần thiết để họ có thể tìm đúng địa chỉ của trang. Tuy nhiên hãy sử dụng các tính năng trên một cách hợp lý. Cái nào cần thiết, quan trọng thì mới đưa vào để đảm bảo hiệu suất cho website.

Cách phát hiện lỗi 404 Not Found có thể xảy ra

Bạn cần chủ động đề phòng và phát hiện kịp thời những yếu tố có thể gây ra lỗi 404 Not Found trong tương lai. Điều này có thể giúp bạn:

Tìm kiếm các liên kết bị hỏng điều hướng người dùng đến một trang web không hề tồn tại (đây có thể là các liên kết trong hoặc liên kết ngoài). Tiếp đó bạn cần cố gắng để sửa chữa các liên kết đó.

Xem các trang gặp sự cố khi Google tiến hành thu thập thông tin. Bạn cần tìm hiểu nguyên nhân tại sao Google lại thu thập thông tin của một trang không hề tồn tại và thiết lập chuyển hướng nếu cần.

Khắc phục sự cố có liên quan đến hiệu suất đối với lỗi 404 Not Found.

Tùy chọn 1 – Google Analytics

Nếu bạn đang sử dụng Google Analytics, bạn có thể thiết lập báo cáo tùy chỉnh để theo dõi lỗi 404 từ các liên kết bên ngoài.

  • Truy cập vào Customization > Custom Reports và nhấp vào +New Custom Report.

tạo báo cáo tùy chỉnh trong google analytics

  • Chọn kiểu báo cáo là Flat table.
  • Chọn thứ nguyên là PageFull Referrer và Page Title.
  • Chọn nhóm số liệu là Unique Pageviews.
  • Thêm bộ lọc bao gồm giá trị (entrance) cho thứ nguyên Previous Page Path. 
  • Thêm bộ lọc Regex cho tiêu đề trang giúp bạn xác định lỗi 404.

Giờ nếu bạn lưu lại báo cáo và mở nó bạn sẽ nhìn thấy các cột:

  • Page: URL nào là nguyên nhân gây ra lỗi.
  • Full referrer: Trang trên website khác liên kết đến URL lỗi.
  • Page title: Tiêu đề của trang 404.
  • Unique Pageviews: Số lượng phiên làm việc phát sinh lỗi.

Tùy chọn 2 – WordPress plugin

Nếu bạn muốn sử dụng plugin thì hãy dùng Redirection. Nó có thể giúp bạn theo dõi lỗi 404 từ WordPress Dashboard.

Tùy chọn 3 – Google Search Console

Bạn cũng có thể theo dõi lỗi 404 mà trình thu thập thông tin của Google gặp phải trong Google Search Console.

Sau khi bạn đã xác thực website của mình với Google Search Console, Crawl → Crawl Errors → Not found để xem danh sách các lỗi 404 mà Gooogle đã gặp phải. Cách này đơn giản và tiện lợi vì nó không đòi hỏi phải cài đặt plugin của bên thứ 3. Do đó không làm ảnh hưởng đến hiệu suất trang của bạn.

Các con bọ của Google thường xuyên thu thập thông tin trên website của bạn. Vậy tại sao không tận dụng dữ liệu mà Google đã cung cấp?

google search console crawler erorr report

Lời kết

Thật không may là lỗi 404 Not Found có thể sẽ phát sinh trên blog/website của bạn cho dù bạn có thích hay không.

Khi quy mô website của bạn càng lớn, bạn sẽ càng thấy nhiều lỗi 404 Not Found hơn. Bạn cần có kế hoạch theo dõi và khắc phục lỗi này càng nhanh càng tốt. Lỗi 404 Not Found làm ảnh hưởng đến trải nghiệm của người dùng, sự tin tưởng của độc giả đối với blog/website của bạn. Và quan trọng hơn là nó làm ảnh hưởng xấu đến SEO.

Nếu bạn có bất kỳ kinh nghiệm nào trong việc khắc phục lỗi 404 Not Found, hãy chia sẻ cùng tôi bằng cách để lại bình luận phía bên dưới.

Nếu bạn thấy bài viết này hữu ích đừng quên Like và Share.

Hẹn gặp lại bạn trong bài viết tiếp theo./.

Đăng ký nhận bài viết mới nhất

Hãy đăng ký nhận tin để nhận được những nội dung thú vị và tuyệt vời!

Để lại bình luận