RSS 중복 콘텐츠로 인한 SEO 문제

브라우저의 웹 인스펙터로 보는 대신 페이지 소스를 직접 확인해 보세요. 페이지 소스를 볼 때 canonical URL이 RSS 게시물의 URL로 설정되어 있고, 웹 인스펙터로 HTML을 볼 때는 Discourse 토픽의 URL로 설정되어 있는 것을 볼 수 있을 거예요. 만약 그렇다면 RSS 토픽에 대해 중복 콘텐츠 경고가 표시되지 않아야 합니다.

embed set canonical url을 활성화한 상태에서, Discourse의 RSS 피드로 가져온 토픽을 웹 인스펙터로 볼 때 제가 확인하는 내용은 다음과 같습니다:

그리고 페이지 소스를 볼 때(페이지에서 마우스 오른쪽 버튼을 클릭하고 메뉴에서 "페이지 소스 보기"를 선택)의 canonical URL은 다음과 같습니다:

<link rel="canonical" href="https://blog.discourse.org/2023/03/how-discourse-scaled-to-10m-arr-with-only-1-salesperson" />

canonical URL이 올바르게 설정된 페이지 소스 보기 버전이 크롤러가 실제로 보는 것입니다.

차이를 확인할 수 있는 또 다른 방법은 웹 인스펙터를 사용하되 사용자 에이전트로 Googlebot을 선택하는 것입니다:

크롤러가 보는 측면에서 설정은 예상대로 작동하는 것 같지만, 저에게는 혼란스러웠습니다. 문제는 JavaScript가 활성화된 상태로 페이지를 볼 때 Discourse가 JavaScript를 통해 canonical URL 속성을 덮어쓰는 것 같습니다. 참고로, 해당 동작은 여기서 발생한다:

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/instance-initializers/meta-tag-updater.js#L25-L27

RSS 피드로 생성된 토픽에 featured link를 설정하는 것은 (현재로서는) 불가능하다고 생각합니다. SEO 전문가가 아니지만, 설정하든 안 하든 SEO에 영향을 미치지 않을 것 같습니다.