WordPress와 Onebox 도메인 변경

WordPress와 Discourse를 WP-Discourse를 사용하여 연결해 두었습니다. WordPress 도메인이 katiska.info에서 katiska.eu로 변경되었습니다. 따라서 WP-Discourse가 생성한 모든 OneBox의 도메인을 변경해야 했습니다.

링크가 500개 이상이라 WordPress에서 수동으로 업데이트하는 것은 최선의 방법이 아니었습니다.

다음과 같이 실행했습니다.

rake posts:remap[".katiska.info",".katiska.eu"]
rake posts:rebake_match[".katiska.eu"]

대부분은 잘 작동했습니다. 하지만 더 나은 방법이 있을까요?

다만, 두 가지 사소한 문제가 하나 있습니다.

핀란드어로 '뇌 정지(brain fart)'라고 부르는 실수…

외부 링크의 태그 유사 URL 텍스트를 새 도메인으로 변경할 수 없었습니다. 링크 자체는 변경되었지만요. 따라서 이것은 단순히 외형적인 문제이며 저만 신경 쓰이는 부분입니다. 글 자체에서 Discourse 연결을 업데이트하면 Discourse 쪽에서는 변경됩니다.

  • katiska.info는 katiska.eu여야 합니다.

그리고… 그걸 쓰던 중에 .katiska.info를 교체한 이유가 어딘가에 유지되어야 할 이메일이 있는지 확실하지 않아서였다는 걸 깨달았습니다. 하지만 앞에 쉼표가 없었네요. 제가 얼마나 멍청한지 보여드리려고 이 부분은 남겨두겠습니다 :man_facepalming:

수정: 아니요, "외부 아이콘"도 katiska.info에서 katiska.eu로 변경할 수 없습니다.

하지만 이것이 진짜 문제입니다:

그 링크가 옛날 도메인으로 가리키고 있습니다. WordPress에서 연결을 업데이트했음에도 새 도메인으로 변경되지 않습니다. 포럼에서 글을 읽은 후 꽤 많은 사람들이 이 링크를 클릭할 텐데, 잘못된 링크를 보여줄 뿐만 아니라 언젠가는 죽은 링크가 되어 Google로 연결될 것입니다.

이것은 사소한 문제인데도 Discourse에서 변경할 수 있어야 한다고 생각해서 WordPress 카테고리가 아닌 지원(Support) 카테고리에 올렸습니다. 하지만 제가 무엇을 하고 있는지(했는지) 전혀 모르기 때문에, 정말로 제가 이 일을 해낼 수 없을지도 모른다는 큰 위험이 있습니다.

올바른 방향으로 진행 중입니다. Change the domain name or rename my Discourse? 문서에는 주로 사용자가 수행한 내용들이 설명되어 있습니다.

정확히 어떤 링크가 업데이트되지 않았는지 잘 모르겠습니다. Discourse 쪽 문제인지, WordPress 쪽 문제인지 확인해 주실 수 있나요?

아주 어린아이처럼, 혹은 멍청하게 들릴 수도 있겠지만, 제 쪽에서 언어 장벽을 낮추려고 노력하고 있습니다 :wink:

  • WordPress의 게시글이 WP-Discourse를 통해 Discourse에 연결되어 있습니다.
  • WordPress가 새로운 도메인(.info → .eu)을 사용하게 되었습니다.
  • Discourse의 OneBoxes가 WordPress의 새 도메인(.info → .eu)을 가리키도록 변경이 필요합니다.
  • .info → .eu로 변경하기 위해 rake 작업을 수행했습니다.
  • Discourse에서는 다른 모든 것이 변경되었지만, “This is companion discussion topic…” 링크만 변경되지 않았습니다.
  • WordPress에서 Discourse 연결을 업데이트할 때에도 이 링크를 변경할 수 없습니다.

아하! 그래서 이것이 유일한 문제군요. Discourse가 새로운 WordPress 사이트로 링크를 걸지 않는 것이네요. 그리고 도메인이 동일하게 변경된 건가요?

".katiska.info"--> ".katiska.eu"

해당 게시글을 수동으로 편집하면 단순히 링크를 변경할 수 있을까요?

이전 리맵이 이 경우를 포괄하지 못하게 만드는 요인이 있을까요?

해당 게시글이 실제로 재구축(rebake)되었는지 확인해 보셨나요? UX에서 HTML을 재구축해 볼 수 있나요? (… 버튼을 클릭하고, :wrench: 아이콘을 클릭한 후 "rebuild html"을 선택하세요)

사실… 문제는 좀 더 사소한 거예요 :wink:

문제는 "This is a companion discussion topic for the original entry at…"라는 문장에 있는 링크일 뿐입니다. 그 링크는 변하지 않아요. WordPress를 통해서도, remap/rebake_match를 사용해도, HTML을 다시 빌드해도 마찬가지입니다. 그 외에는 모두 잘 작동하며, WordPress 도메인을 Discourse 전체에서 변경할 수 있었습니다. 하지만 그 링크만은 안 되네요.

그리고 그 한 개의 게시물뿐 아니라, WordPress에서 Discourse로 연결된 모든 게시물이 그렇습니다. 그 후 다른 WordPress 도메인을 변경했는데도 같은 문제가 발생했어요. 다른 모든 인스턴스는 교체할 수 있지만, 그 “companion discuss” 링크만은 교체할 수 없습니다.

아니요, 순수한 rebake는 수행하지 않았습니다. 시간이 너무 오래 걸리기 때문이죠 — 그리고 rebake_match가 이 문제를 해결할 수 있을 거라고 생각했어요.

결국 그 줄을 아예 숨기는 쪽으로 기울고 있습니다 :smile:

태그 뒤에 외부 URL로 생성된 주제임을 나타내는 아이콘과 도메인이 표시되는데, 그 도메인은 Discourse에서 변경되지 않습니다. 하지만 WordPress에서 연결된 기사를 업데이트할 때(WP-Discourse 사용)는 변경되긴 해요. 다만 링크 자체는 정상적으로 작동하므로, 도메인 이름만 그대로 남아 있다는 점은 큰 문제가 아닙니다.