Embedding a list of Discourse Topics in another site

여러 카테고리를 지정하려면 무엇을 수정해야 할까요?

2개의 좋아요

"다른 사이트"가 http://localhost:8000에서 로컬로 실행되고 있고, Discourse 사이트는 https 서브도메인에서 로컬이 아닌 환경에서 실행되는 경우, 이 기능이 정상적으로 작동할 것으로 기대해야 하나요? 아니면 "다른 사이트"도 “실제” 도메인에 있어야 하나요?

스크립트 파일은 정상적으로 가져와지는 것 같고, JS 콘솔에서도 오류가 보이지 않습니다. "다른 사이트"는 Gatsby/React 사이트이며, useEffect를 통해 브라우저에서 페이지가 렌더링된 후에 <d-topics-list> 요소를 추가하고 있습니다. 라이브 DOM에서도 올바르게 표시되는 것 같습니다(스크린샷 참고)…

2개의 좋아요

https에서 http로 전환하면 일반적으로 문제가 발생하지만, 브라우저 콘솔(F12)을 열어 확인할 수 있습니다.

4개의 좋아요

아하, 제 문제는 React가 클라이언트 사이드 DOM을 조작하여 embed-topics.js 스크립트가 iframe을 삽입한 직후 서버 렌더링된 DOM(원래의 <d-topics-list> 요소)과 일치하도록 초기화하는 것 같습니다.

5개의 좋아요

이 오류가 무엇인지 아시는 분 계신가요??

최신 Discourse 빌드
최신 Chrome 브라우저

Content Security Policy 지시문 "frame-ancestors ‘self’"을 위반하는 조상이 있어 'https://vapingcommunity.co.uk/'의 프레임을 거부했습니다.

3개의 좋아요

이 변경 사항과 가장 관련이 있을 가능성이 높습니다: (cc @falco)

관리자 > 사용자 지정 > 임베딩에서 메인 사이트를 등록해 두셨나요?

7개의 좋아요

빙고! 그 변경 사항을 못 봤네요. 이제 완벽하게 다시 작동합니다. 정말 감사합니다 :wink:

5개의 좋아요

누군가 “Refused to frame”(프레임에 포함 거부) 오류를 겪고 있나요?

임베드 토픽을 활성화했는데 다음과 같은 오류가 발생합니다.

Refused to frame 'https://myforumurl.com/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self'".
1개의 좋아요

다른 사이트에 포럼 전체를 임베드하려고 하는 건가요? 그렇게는 작동하지 않습니다.

OP(원문 작성자)는 다른 사이트에 주제 목록을 임베드하는 방법을 설명하고 있지만, OP가 언급한 이유들로 인해 Discourse를 iframe에서 실행할 수 없습니다.

3개의 좋아요

아니요, 최신 주제만 표시됩니다. 설정에서 임베드 주제를 활성화하는 방법을 따랐고, 스크립트를 호스트 사이트의 헤더와 본문에 복사했습니다. 테스트 중인 개발 사이트에 SSL이 없어서 발생하는 오류인지 확실하지 않습니다.

3개의 좋아요

이것은 Discourse 측이 아니라 여러분의 사이트 보안 설정 때문입니다.

4개의 좋아요

동작하게 만들었어요. 그냥 설명서를 충분히 꼼꼼히 읽지 않았을 뿐이죠 :slight_smile:

4개의 좋아요

이렇게 하면 잘 작동하는데, 제가 겪는 유일한 문제는 Google이 iframe URL 자체를 인덱싱한다는 점입니다.

예를 들어, 저는 이 페이지에 Discourse 토픽을 임베드해 두었습니다.

Google은 위의 페이지를 정상적으로 인덱싱하는 것 같습니다… 하지만 아래 URL도 함께 인덱싱하고 있는데, 이 부분은 수정하고 싶습니다.

https://discuss.flynumber.com/embed/topics?discourse_embed_id=de-zse3f2nh3&template=complete&search=Romania&per_page=5

위 페이지에 meta noindex를 적용할 수 있는 방법이 있을까요? 아니면 더 좋은 방법으로, 위 페이지에 이 새로운 Google 태그를 적용할 수 있을까요?

5개의 좋아요

흥미롭네요, 팁 감사합니다 @nader.. 이 새 태그를 기본적으로 <iframe>에 추가할까요, 아니면 설정으로 만들까요 @falco?

4개의 좋아요

이렇게 하면 될 것 같습니다

6개의 좋아요

이것이 구글 외의 크롤러에게도 noindex, indexifembedded를 전달하고 있다는 점을 지적하고 싶었습니다. 사실 새로운 indexifembedded를 지원하는 것은 구글뿐이거든요.

이 부분은 x-robots-tag: googlebot:noindex, indexifembedded로 변경하는 것이 적절할 것입니다.

아니면, noindex가 다른 검색 엔진에 예상치 못한 결과를 초래할 수 있으므로 아예 제거하는 것이 좋겠습니다.

1개의 좋아요

추가된 단어가 다른 크롤러에 특히 해가 될 것이라고는 생각하지 않습니다. 실제로 그런 경우가 있는지, 예를 들어 다른 크롤러들이 사이트에게 indexifembedded 사용을 하지 말라고 통보하고 있는지에 대한 증거가 있나요?

(이런 코드를 작성할 때는 대부분의 경우 예상하지 못한 HTML 태그를 무시하는 것이 HTML의 기본 동작입니다.)

3개의 좋아요

그것은 보이지 않지만 구글 페이지에는 이렇게 나와 있습니다.

현재 indexifembedded 태그는 구글만 지원합니다.

indexifembedded 태그가 무시된다는 점에는 동의합니다. 다만 제 우려는 noindex가 해당 페이지의 SEO에 문제를 일으킬 수 있다는 것입니다.

토픽 임베드가 포함된 URL을 빙(Bing)이 크롤링한다고 가정해 보겠습니다. 빙은 해당 URL을 크롤링하는 동시에 임베드 URL도 크롤링합니다.

/embed/topics?discourse_embed_id=XXXXXX....

위 URL에 noindex가 적용되면, 토픽 임베드가 포함된 페이지의 SEO에 해가 될까 봐 걱정됩니다.

이 문제는 x-robots-tag: googlebot:noindex, indexifembedded를 사용하면 모두 해결되지만, 디스코urses(Discourse)가 특정 검색엔진에 유리하게 작용하는 것을 원하지 않을 수 있다는 점은 이해할 수 있습니다. 이 태그가 표준이 되면 좋겠지만, 현재로서는 구글에서만 지원하는 것으로 보입니다.

3개의 좋아요

안녕하세요! 임베디드 토픽이 target="_parent" 대신 target="_blank"으로 열리도록 하는 내장 기능이 여전히 없는지 여쭤보고 싶었습니다.

3개의 좋아요

단순히 궁금한 건데, 왜 주제 1개만 표시되나요? 아시는 분 계신가요?

여기 카테고리(주제가 많이 있는)입니다: Amazon Specific - eCommerce Sellers Forum

그리고 임베드 코드:
<d-topics-list discourse-url="https://forum.flowster.app" template="complete" top_period="all" category="17" per-page="5"></d-topics-list>

하지만 주제 1개만 표시됩니다:

:thinking:

2개의 좋아요