Làm thế nào để đối phó với Nội dung / URL trùng lặp trong Joomla?


11

Tôi chỉ phát hiện ra một vấn đề SEO lớn và trong khi tôi đã giải quyết nó trong thời điểm hiện tại; Tôi đang cố gắng tìm hiểu tại sao nó có thể xảy ra ở nơi đầu tiên và nếu có sai sót hoặc đó là một cái gì đó để làm với chính Joomla. Vấn đề đầu tiên:

Khi tôi thu thập dữ liệu một trang web với Moz, nó hiển thị bốn nội dung trùng lặp cho trang chủ không mong muốn. Vì vậy, ví dụ cho trang chủ http://www.foo.com, nó đã hiển thị các URL nội dung trùng lặp như sau:

foo.com/2-uncategorised/1-offers (canonical = foo.com/2-uncategorised/1-offers)
foo.com/2-uncategorised/2-enquiry (canonical = foo.com/2-uncategorised/2-enquiry) 
foo.com/2-uncategorised/3-products (canonical = foo.com/2-uncategorised/3-products) 

Và tất cả các liên kết này chỉ đơn giản là tải nội dung trang chủ nhưng chi tiết meta là từ bài viết. Điều này rõ ràng chỉ ra rằng Joomla đã tự động tạo các liên kết và tôi thấy điều tương tự cho 4 liên kết. Các liên kết trong bài viết là như thế này:

index.php?option=com_content&view=article&id=1&catid=2&Itemid=1
index.php?option=com_content&view=article&id=2&catid=2&Itemid=1
index.php?option=com_content&view=article&id=3&catid=2&Itemid=1

Các Itemid = 1tương ứng với mục menu trang chủ giải thích lý do tại sao trang chủ đang tải. Tôi đã thử tạo lại vấn đề nhưng không được. Theo những người đã thêm nội dung, đây là các bước họ đã làm khi tạo các bài viết và liên kết trong đó:

  1. Tạo bài viết
  2. Thêm liên kết đến các bài viết khác bằng cách sử dụng tab 'Bài viết' trong trình chỉnh sửa nội dung.
  3. Tạo mục menu cho bài viết

Vì vậy, tôi đã tự hỏi nếu có một cái gì đó rõ ràng sai ở đây. Tôi bối rối vì có hơn 100 bài viết nhưng điều này chỉ xảy ra trong khoảng 5 bài viết. Cảm ơn.

Câu trả lời:


15

TOC của câu trả lời này:

  1. Nội dung dưới cùng Id Mục
  2. Cách tạo nội dung trùng lặp / Trang động / URL
  3. Quan điểm SEO
  4. Xử lý nội dung trùng lặp trong Joomla
  5. Tài liệu tham khảo và liên kết

1. Tại sao các bài viết đang được hiển thị dưới cùng một mục

Trước hết, đây không phải là vấn đề tại sao bạn nhận được các url trùng lặp. Các bài viết đang sử dụng id mục của trang chủ, bởi vì không có id mục nào khác được gán cho chúng.

Đọc thêm về điều này:

Và điều này cũng có thể sâu sắc:



2. Cách "nội dung trùng lặp" được tạo / Trang động / URL động

Đây thực sự là một hành vi tiêu chuẩn cho các trang web động tạo các trang của chúng bằng cách sử dụng các tham số URL để xây dựng Chuỗi truy vấn dưới dạng các cặp Giá trị trường . Máy chủ / ứng dụng sẽ nhận được truy vấn, xử lý nó và trả lại nội dung liên kết cho trình duyệt.

Để hiểu rõ hơn về điều này, bạn có thể muốn tắt Url SEF trong trang web Joomla và nghiên cứu một chút Url không SEF của một trang:

Thí dụ:

index.php? tùy chọn = com_content & view = article & id = 3 & catid = 9 & Itemid = 101

Chia các truy vấn trên thành các cặp giá trị trường chúng ta thấy:

  • tùy chọn = com_content
  • xem = bài viết
  • id = 3
  • catid = 9
  • Vật phẩm = 101

Đây là các giá trị trường mà Joomla hiểu và sẽ cố gắng trả về nội dung sau dưới dạng:

Nó sẽ truy vấn trong thành phần com_content và sử dụng chế độ xem bài viết để hiển thị mục nội dung (bài viết) với id 3, của danh mục id 9, sử dụng Mục menu với id 101.


Nhiều biến thể URL cho 1 trang

Tuy nhiên, cùng một bài viết có thể được hiển thị với sự kết hợp nhiều giá trị trường hơn:

Một số kết hợp có thể là:

  • index.php? tùy chọn = com_content & view = article & id = 3 & catid = 9
  • index.php? tùy chọn = com_content & view = article & id = 3 & Itemid = 101
  • index.php? tùy chọn = com_content & view = article & id = 3 & Itemid = 102
  • index.php? tùy chọn = com_content & view = article & id = 3 & Itemid = 103
  • index.php? tùy chọn = com_content & view = article & id = 3
  • index.php? tùy chọn = com_content & view = article & id = 3 & lang = en
  • index.php? tùy chọn = com_content & view = article & id = 3 & catid = 9 & Itemid = 101 & lang = en

  • index.php? tùy chọn = com_content & view = article & id = 3 & catid = 9 & Itemid = 101 & lang = en & print = 1

  • index.php? tùy chọn = com_content & view = article & id = 3 & catid = 9 & Itemid = 101 & lang = en & tmpl = thành phần

Như bạn có thể thấy, tất cả những điều trên đang yêu cầu cùng một dữ liệu từ hệ thống, đó là bài viết có id = 3. Điều này dẫn đến thực tế là cùng một nội dung / trang có thể được truy cập thông qua các url khác nhau và trong một số trường hợp có thể hiển thị trong các bố cục khác nhau.

* Với các URL SEF được bật trong Joomla, các khả năng trên có thể dịch sang hơn 1 URL SEF cho cùng một bài viết / nội dung.



3. Quan điểm SEO

Công cụ tìm kiếm hiện đại và đặc biệt là Google , nhận thức được hành vi này. Thông thường, họ sẽ cố gắng hết sức để lập chỉ mục và giữ cho kết quả tìm kiếm của họ URL phù hợp nhất cho một trang. Ngoài ra, Google đã tiết lộ rằng không có " hình phạt " thực sự nào cho nội dung trùng lặp do điều này.

Tuy nhiên, vấn đề chính trong trường hợp cùng một nội dung / trang đã được lập chỉ mục nhiều lần, là bạn có thể mất thứ hạng tranghiệu suất SEO tốt nhất có thể , bởi vì xếp hạng trang sẽ được chia thành nhiều hơn 1 trang thay vì 1 trang .

Với suy nghĩ này, sẽ là khôn ngoan khi giải quyết vấn đề này, thay vì để Công cụ tìm kiếm lập chỉ mục các url trong khi cố gắng đoán xem các url khác nhau có hiển thị cùng một nội dung hay không.
Hơn nữa, việc kiểm soát các url của bạn và SE nên lập chỉ mục gì, có thể giúp bạn tạo ra trải nghiệm người dùng tốt hơn, vì người dùng trang web sẽ tìm thấy cùng một trang dưới 1 url tiêu chuẩn và nó có thể tạo ra cấu trúc vững chắc hơn cho trang web và quản lý trang web .



4. Cách xử lý Nội dung trùng lặp

  • Sử dụng URL Canonical cho các trang của bạn.
    Các Url Canonical sẽ hướng dẫn cho công cụ tìm kiếm về cái được cho là đúng url của một trang mà họ nên thu thập và giữ trong chỉ mục của họ.

  • Sử dụng siêu dữ liệu INDEX / NOINDEX, FOLLOW / NOFOLLOW. Sử dụng siêu dữ liệu như vậy trong các trang của bạn, sẽ hướng dẫn các công cụ tìm kiếm nếu bạn muốn chúng lập chỉ mục hoặc không theo nội dung của trang và theo dõi hoặc không theo các liên kết được tìm thấy trên đó.

  • Sử dụng chuyển hướng 301 / htaccess.
    Bạn có thể chuyển hướng tất cả các URL khác đến URL mà bạn muốn ở chính. Điều này có thể đạt được với Tiện ích mở rộng SEF hoặc htaccess . Cả hai đều cung cấp sức mạnh lớn, tuy nhiên htaccess có tính linh hoạt cao khi xem xét khả năng sử dụng các biểu thức thông thường cho tất cả các loại chuyển hướng / hoặc viết lại bằng cách sử dụng mod_rewrite. Về phần mở rộng J, khi có nhu cầu, tôi thường sử dụng sh404SEF .

    Cập nhật: Như @Neil Robertson đã lưu ý về các nhận xét: một chuyển hướng quan trọng là từ phiên bản không phải www của trang web sang phiên bản www của trang web hoặc ngược lại. Thêm phần này vào tệp .htaccess để chuyển hướng từ www sang www.

        ### Redirect non-www to www
        RewriteCond %{HTTP_HOST} !^www\. [NC]
        RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
        ### Redirect non-www to www - END 
    
  • Sử dụng Công cụ quản trị trang web của Google Công cụ quản trị trang web của
    Google có các tùy chọn để điều chỉnh cách trình thu thập thông tin hoạt động với các tham số URL của bạn .

  • Sử dụng Sơ đồ trang web
    Gửi tới Tìm kiếm Công cụ cấu trúc URL của trang web của bạn.

  • Sử dụng tệp Robots.txt
    Google và các SE lớn khác đang tôn trọng Robots.txt của bạn. Bạn có thể hướng dẫn họ không thu thập dữ liệu đường dẫn / url cụ thể.

Tất cả các tùy chọn trên có thể được kết hợp để tạo ra kết quả mong muốn.

* Giống như mọi nơi, vì vậy trong Joomla, tổ chức nội dung và lập kế hoạch tốt luôn giúp đạt được kết quả tốt hơn. Đặc biệt với Joomla, điều này cũng liên quan đến việc phân loại nội dung sạch và cấu trúc các mục menu.



5. Tài liệu tham khảo và liên kết

Phần mở rộng SEO Joomla

Thông thường trong Joomla nếu bạn muốn giải quyết vấn đề này một cách hiệu quả, cuối cùng bạn sẽ cài đặt tiện ích mở rộng SEO-SEF của bên thứ 3.



Đọc thêm:


1
một trong những câu trả lời tốt nhất trên diễn đàn này :) rất hữu ích. cảm ơn @FFrewin
Joomler

1
Đây là một câu trả lời tuyệt vời. :) Để hoàn thiện, có thể tốt hơn khi thêm một số thông tin về việc chuyển hướng phiên bản không phải www của trang web sang phiên bản www của trang web hoặc ngược lại. Điều này thường bị lãng quên nhưng có lẽ là nguyên nhân chính của nội dung trùng lặp trên tất cả các trang web (không chỉ Joomla).
Neil Robertson

Có vẻ như bộ định tuyến mới cuối cùng sẽ thấy ánh sáng ban ngày trong Joomla 3.8 và điều này sẽ giúp đơn giản hóa các url mà không cần phần mở rộng của bên thứ ba.
Neil Robertson

1
@NeilRobertson: Tôi vẫn nghĩ vẫn còn chỗ để cải thiện và cần nhiều công việc hơn cho giải pháp hoàn chỉnh và hiệu quả này để quản lý URL / bản sao SEF trên Joomla.
FFrewin

@FFrewin Tôi đồng ý. Có vẻ như một số tiện ích mở rộng của bên thứ ba cũng có thể phải được cập nhật để tận dụng lợi thế của bộ định tuyến mới.
Neil Robertson

0

Nếu tôi có nhiều mục menu đi đến cùng một nội dung, tôi sử dụng Bí danh liên kết hệ thống / Mục menu nằm trong Trình quản lý menu. Đây là một bài viết cũ về nó; nhưng phương thức này vẫn tồn tại cho đến ngày hôm nay: https : //magazine.j Joomla.org/issues/su-apr-2016/item/2997-avoid-d repeatate-content-with-a- menu- item-alias

@Neil, tôi đồng ý 100% về nội dung không phải www so với www được đọc dưới dạng trùng lặp. Đây là mã buộc www không phải là www. Đặt nó trong tập tin htaccess của bạn. Ngoài ra, nó cũng thêm giao thức bảo mật https. Mã này không phải là phương pháp duy nhất, nhưng đó là những gì tôi sử dụng thành công trên nhiều trang web.

RewriteCond %{HTTP_HOST} ^www.yourwebsite.com [NC]
RewriteRule ^(.*)$ https://yourwebsite.com/$1 [L,R=301]
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.