Discourse에서 인덱스된 URL 충돌을 해결하는 전략

안녕하세요,
Discourse 포럼을 운영 중이며, 재구축 후 발생한 주요 SEO 및 인덱싱 문제에 도움이 필요합니다.

발생한 상황:

  • 기존 Discourse 포럼이 크래시되어 약 10,000개의 주제를 잃었습니다.

  • 포럼을 처음부터 재구축하되, 동일한 도메인동일한 Google Search Console(GSC) 속성을 유지했습니다.

  • Discourse는 증분 방식의 주제 ID를 사용하므로, 새로 생성된 주제들이 기존 주제 ID를 재사용하고 있습니다 (예: /t/783은 이전에 삭제된 주제에 belonged했으나, 이제 새로운 주제에 할당됨).

현재 문제점:

  1. GSC에 12,000개 이상의 “크롤링됨 - 인덱싱되지 않음” URL이 표시되고 있습니다.

  2. /t/old-topic-title/783과 같은 기존 주제 URL이 여전히 인덱싱되거나 크롤링되고 있습니다.

  3. 이러한 URL은 이제 새로운 콘텐츠를 가리키고 있으며(예: /t/new-topic-title/783), 검색 결과에서 제목 불일치를 일으키고 중복/저품질 콘텐츠 패널티를 유발할 수 있습니다.

  4. 일부 기존 주제 URL은 아직도 제공되고 있으며(404 또는 410 상태가 아님), 동일한 ID를 가진 현재 주제들과 병합되고 있습니다.

  5. 사이트맵에 재사용된 ID가 포함되어 크롤러를 더욱 혼란스럽게 하고 있습니다.

이를 해결하기 위해 어떻게 해야 할까요?

Postgres에서는 토픽 ID 시퀀스를 20000과 같은 높은 값으로 수동으로 설정하여 새로운 토픽이 해당 번호부터 시작하도록 할 수 있습니다:

SELECT setval('topics_id_seq', 20000, false);

서버 자체를 잃어버린 건가요? :cry:

네, 데이터베이스 전체도 그렇습니다.

그래서 새 데이터베이스를 만들었는데, 이미 약 6,000개의 주제가 있습니다. 앞으로는 20,000개로 시작해야 할까요?

이상적으로는 새 사이트를 만들었을 때 바로 그렇게 했어야 하지만, 지금은 늦었습니다.

늦더라도 없는 것보다 낫습니다. 현재 그 시퀀스가 6000이고 20000으로 설정하면, 다음 새 주제는 6000 대신 ID 20000을 갖게 됩니다.

그러면 1~5999, 그리고 2000 이런 식으로 되는 건가요? 맞죠? 그리고 이후 단계에서 문제가 발생하지 않았으면 좋겠네요.

아니면 그냥 이대로 두면 시간이 지나면 새 주제들이 오래된 것들을 덮을까요?

이 조언은 오래된 토픽 ID가 "재사용"되고 있다는 당신의 불만을 다루고 있습니다. 해당 시퀀스를 20000으로 올리면 6000부터 19999 사이의 토픽이 생성되는 것을 방지할 수 있습니다.

네, 6000처럼 시간이 지남에 따라 새 토픽 URL로 덮어쓰기 되는 경우에도 문제가 되지 않는다고 가정해 보겠습니다. 하지만 나중에 무언가를 깨뜨릴 수 있는 가능성은 없을까요?