네, 해당 항목을 목록에서 제외하고 인덱싱되지 않도록 막고 싶습니다.
이 작업은 한 번만 수행할 예정이며, 크롤링 문제를 일으키는 향후 “잘못된” 주제/게시물은 수동으로 조정할 수 있기 때문입니다.
저희 포럼은 매우 오래된 포럼(1996년 시작)으로, 여러 번 마이그레이션을 거치면서 원시 텍스트 등에 이상하거나 구식 구문이 남아 있는 상태입니다. 2015년 이전의 것으로, 조회수가 1,000회 미만이며 Google 검색 콘솔에서 “잘못된” 항목으로 표시되는 모든 주제를 수집했습니다.
저희 입장에서는 이러한 주제들이 단순히 삭제된 것으로 표시되어도 괜찮지만, deleted_at을 직접 설정하는 것이 좋은 방법인지, 아니면 주의해야 할 종속성이 있는지 확실하지 않았습니다. 따라서 프로그래밍 방식으로 진행해야 하는지 여부에 대해 조언을 구합니다.
자문을 감사드립니다! 해당 주제들을 완전히 삭제하기로 결정하는 경우, SQL 쿼리를 통해 deleted_at과 visible=false를 설정하겠습니다. 이 주제들은 30일 후 sidekiq 작업에 의해 삭제됩니다.
하지만 이 주제들을 유지해야 한다면, topic.delete를 사용하는 작은 ruby 스니펫으로 "삭제"하는 방식으로 제안해 주신 대로 진행하겠습니다.
따라서 두 경우 모두 결국 discourse 자체가 이 주제들을 처리하게 되며, 이는 가능한 의존성 문제를 관리하게 될 것입니다.