카테고리의 주제에 "meta robots noindex"를 추가하는 방법을 찾습니다

SEO for Thin Content or Modify Meta Tags에서 이어서 토론을 진행합니다.

저도 여기서 같은 문제로 고생하고 있습니다.

WP-Discourse를 사용하고 있는데 정말 좋습니다! 하지만 새로운 블로그 포스트를 작성할 때마다 커뮤니티에 동일한 제목의 토픽이 생성됩니다. 동일한 제목을 가진 두 개의 URL은 검색 결과에서 서로의 중요도를 빼앗아 좋지 않은 현상입니다.

또한, 해당 토픽의 댓글이 블로그 포스트 아래에도 출력되어 중복 콘텐츠(여러 URL에 걸쳐 동일한 콘텐츠)가 생성됩니다.

이 둘 모두 도메인 패널티로 이어질 수 있는 심각한 SEO 문제입니다.

해결 방법은?

해결책은 카테고리 설정 상자에 간단한 체크박스를 추가하는 것입니다:

[ ] 이 카테고리의 토픽을 검색 결과에서 숨기기.

이 체크박스가 선택되면, 해당 카테고리 자체, 토픽, 페이지네이션 등 관련 페이지의 헤더에 noindex 태그가 삽입됩니다:

<meta name=“robots” content=“noindex, dofollow”>

이렇게 하면 사용자에게는 모든 것이 그대로 보이지만, 검색 엔진은 이를 무시하게 됩니다.


문제를 해결하지 못하는 방법들

몇 단계 앞서가서 몇 가지 일반적인 답변에 대해 언급하겠습니다. 이 문제에 관한 몇 가지 토픽을 보았는데, 모두 실제로 문제를 해결하지 못하는 제안들이었습니다.

Robots.txt

가장 일반적으로 제시되는 해결책은 robots.txt에 "disallow: /c/category/id"를 추가하는 것입니다. 하지만 이는 카테고리 자체만 검색 결과에서 제거할 뿐, 여기에서 주요 문제인 토픽은 제거하지 못합니다.

토픽의 URL 구조는 모두 동일하므로, robots.txt에 “disavow” 줄을 단순히 추가해서 이를 차단할 수 없습니다.

예:

Login | HSTS Redirection Community

토픽 비공개 설정(Unlist topics)

비공개로 설정된 토픽도 검색 엔진에는 여전히 보입니다. 커뮤니티 목록에서는 숨겨지지만, 직접 링크가 있으면 여전히 토픽에 접근할 수 있습니다. 그리고 우리는 사용자를 토픽으로 유도해야 하므로, 블로그 포스트에 해당 링크를 추가합니다. 따라서 검색 엔진은 모든 비공개 토픽도 발견하게 됩니다.

참고로, 이 링크에 nofollow를 적용한다고 해서 googlebot이 이를 무시하지는 않습니다: https://webmasters.googleblog.com/2019/09/evolving-nofollow-new-ways-to-identify.html

동시에, 토픽을 비공개로 설정하면 사용자가 커뮤니티 내에서 한 토픽에서 다른 토픽으로 이동할 수 없게 되어 사용자 참여도가 감소합니다.

따라서 이 아이디어는 아무것도 해결하지 못합니다. 참여도를 감소시킬 뿐, 검색 엔진에서 토픽을 전혀 숨기지 못합니다.

해당 카테고리의 토픽을 보기 위해 로그인 요구

새로운 사용자가 댓글 버튼을 클릭하면, 토픽 대신 "이 페이지는 존재하지 않습니다"라는 메시지를 봅니다. 사용자는 뭔가 고장 났다고 생각하고 사이트를 떠납니다. 따라서 댓글도 없고 새로운 사용자 가입도 없습니다. 참여도와 사용성 측면에서 매우 나쁩니다.


결론적으로, 이 옵션이 Discourse에 추가되거나 누군가가 간단한 플러그인을 개발해 주면 매우 유용할 것입니다.

이는 코어에 추가되어야 하며, 그렇지 않으면 googlebot이 자바스크립트를 무시할 것입니다.

SEO 담당자들이 이 기능을 매우 원할 것입니다!

4개의 좋아요

이 답변이 질문을 직접적으로 해결하지는 않지만, Discourse에는 도움이 될 수 있는 새로운 embed set canonical url 사이트 설정이 있습니다. 이 설정이 활성화되면, WP Discourse 플러그인 또는 Discourse JavaScript 임베드 코드를 통해 생성된 Discourse 주제의 canonical URL이 관련 블로그 게시물의 URL로 설정됩니다.

4개의 좋아요

도와주셔서 감사합니다!

이 새로운 기능에 대해 몰랐습니다.

하나만 여쭤볼게요:

wp-discourse를 제외하고는 임베드가 어떻게 작동하는지 잘 모릅니다. 사용자가 다른 내부 링크를 가리키도록 주제를 생성하면, 이것이 canonical로 설정되나요?

1개의 좋아요

아니요. 사용자가 작성기(composer)의 제목 필드에 URL을 붙여넣어 주제를 생성하면, featured link(대표 링크)가 생성됩니다. 이 경우 featured link의 URL이 canonical URL로 설정되지 않습니다.

embed set canonical url 사이트 설정이 활성화되어 있으면, topic_embed이 연결된 주제의 canonical URL은 해당 topic_embed의 URL로 설정됩니다. Discourse 자바스크립트 임베드 코드가 이를 자동으로 처리합니다. API를 통해 주제를 생성하고 embed_url 속성을 전달하는 방식으로 수도작 수행할 수도 있습니다. 저희 WordPress 플러그인이 이 방식으로 작동합니다.

3개의 좋아요

@simon 님과 팀 여러분 - 좋은 글이네요! 제 커뮤니티(https://community.americanradioclub.com/)에서도 동일한 문제를 겪고 있습니다. Discourse에 자동으로 게시글을 올리고 싶은데, WordPress에서 가져온 일부(혹은 모든) 게시글에 대해서는 중복 콘텐츠와 SEO 패널티를 피하기 위해 Discourse 토론 페이지에 no-index를 설정하고 싶습니다. 이 문제를 해결하는 좋은 방법을 찾으신 분이 계신가요? 감사합니다!

3개의 좋아요

@James_Cribbs 이 문제를 해결할 수 있었나요?

해결할 문제가 없습니다. SEO 관련 질문도 전혀 없습니다. Discourse는 원래 항목이 WordPress 주소에 있다고 알려줍니다.

누군가 SER를 조작하여 동일한 검색 결과가 두 개 나오게 하려면 전체 콘텐츠가 달라야 합니다.

이 주제는 닫아야 합니다.