# AJAX 활성화 상태에서 댓글 로딩 시 post\_id=undefined 방문자 요청 수천 건 발생

**URL:** https://meta.discourse.org/t/load-comments-w-ajax-enabled-brings-thousands-of-post-id-undefined-visitor-requests/382435
**Category:** WordPress
**Created:** [9월 12, 2025, 1:12오후 UTC](https://meta.discourse.org/t/load-comments-w-ajax-enabled-brings-thousands-of-post-id-undefined-visitor-requests/382435 "2025-09-12T13:12:20Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![Lee\_Ars](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lee_ars/32/1597_2.png) [@Lee\_Ars](https://meta.discourse.org/u/Lee_Ars)
#### Post date: [9월 12, 2025, 1:12오후 UTC](https://meta.discourse.org/t/load-comments-w-ajax-enabled-brings-thousands-of-post-id-undefined-visitor-requests/382435/1 "2025-09-12T13:12:20Z")

</div>

**환경:** AWS EC2에서 자체 호스팅된 Discourse, Ubuntu 24.04 AMI 사용. 호스트는 2개 vCPU와 16GB RAM을 갖춘 r7g.large입니다. Discourse 버전은 3.6.0.beta1-dev (db974047e4)이며 정기적으로 업데이트되고 있습니다. WordPress 버전은 6.8.2, wp-discourse 플러그인 버전은 2.5.9입니다. WordPress와 Discourse 모두 Cloudflare 뒤에서 프록시(‘오렌지 클라우드’)로 설정되어 있습니다.

**현재 wp-discourse 설정:** 모든 주제에 대해 Discourse 댓글을 표시하고 있으며, “Ajax로 댓글 로드” 옵션이 체크되어 있습니다. (독자와 WordPress 사이트 소유자 모두 WP 게시물 아래에 새 댓글이 즉시 표시되기를 원하므로, 소유자의 요구 사항에 따라 “Ajax로 댓글 로드” 옵션을 활성화한 채로 유지하는 것이 좋습니다.)

**관찰되는 현상:** 일반적으로 wp-discourse는 훌륭하게 작동하고 있습니다. 독자가 WP 게시물을 방문하면 브라우저가 `/wp-json/wp-discourse/v1/discourse-comments?post_id=XXXXX`를 요청하며(여기서 XXXXX는 예상 게시물 ID입니다), 댓글이 문제 없이 로드됩니다. 새 댓글은 Discourse에 게시된 후 몇 초 이내에 WordPress 쪽에도 표시됩니다.

그러나 방문자의 브라우저는 사이트의 _모든 WordPress 주소_를 방문할 때 동일한 `discourse-comments` URI에 대한 호출을 내보내고 있습니다. 사이트의 홈페이지만 아니라, 댓글 아카이브, 소개 페이지, 문의 페이지, 저자 프로필 페이지, 정적 페이지, 검색 페이지 등 모든 페이지에서요. 이러한 요청은 모두 `/wp-json/wp-discourse/v1/discourse-comments?post_id=undefined`를 대상으로 하며, 24시간 동안 약 20,000건의 요청을 받고 있습니다(대략적으로 제공된 페이지 총 수와 일치합니다).

이것은 큰 문제가 아니지만, 그렇게 많은 추가 요청을 처리하는 것이 WP 오리지널 서버에 눈에 띄는 부하를 주고 있습니다. 지금은 관리 가능하지만, 이 사이트는 걸프 연안 기상 예보 사이트로, 기상 이벤트(특히 허리케인) 기간 동안 일일 조회수 가 정상적인 약 2만 건에서 150만~200만 건까지 급증할 수 있습니다. 하루에 수백만 건의 `post_id=undefined` 요청을 처리하는 것은 어려울 것입니다.

meta에서 이 문제와 관련이 있는 것처럼 보이는 유일한 것은 [2019년 이 스레드](https://meta.discourse.org/t/slow-wp-performance-on-wp-discourse-api-endpoint-discourse-comments/128978)이며, 제시된 답변은 “Ajax로 댓글 로드 기능을 끄라”는 것입니다. 위에서 언급했듯이, 제가 운영 중인 요구 사항에 따라 그렇게 하고 싶지 않습니다.

다음은 대표적인 `undefined` 요청입니다. 이것은 사이트의 홈페이지에 접근할 때 생성된 것입니다:

 ![Page load with undefined post ID](https://global.discourse-cdn.com/meta/original/4X/f/1/6/f165b4b262b4b0d42952b755cc52c9c72d5972ca.png)

**우회 방법:** 이러한 요청이 실제로 _무언가를 수행하는_ 것 같지 않으므로, Cloudflare WAF 규칙을 구현하여 CF 레벨에서 빈 응답 본문으로 응답하도록 설정했습니다. 이로 인해 문제 행동의 영향이 완전히 제거되었습니다—더 이상 오리지널 서버에서 `undefined` 요청을 보지 않으며, 응답 생성에 CPU를 낭비하지도 않습니다.

**질문:** _모든 WP 페이지_에 대해 `discourse-comments?post_id=undefined` Ajax 요청을 보내는 것이 wp-discourse 플러그인의 의도된 동작인가요? 실제로 WP 게시물(또는 wp-discourse 옵션에서 페이지가 활성화된 경우 페이지도 포함)을 로드할 때만 이러한 요청을 보내는 것이 조금 더 안전하거나(적어도 조금 더 결정적일 수 있습니다) 좋아 보입니다.

말했듯이, 수만 건의 잘못된 요청을 처리하는 추가 부하를 제거하는 것처럼 보이는 우회 방법이 있으므로 안정적이고 좋은 상태입니다. 하지만 제가 보고 있는 동작이 의도된 것인지 알아보고 싶습니다.

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [9월 15, 2025, 11:02오전 UTC](https://meta.discourse.org/t/load-comments-w-ajax-enabled-brings-thousands-of-post-id-undefined-visitor-requests/382435/2 "2025-09-15T11:02:10Z")

</div>

안녕하세요 @Lee_Ars, 이 문제를 보고해 주셔서 감사합니다. 실제로 문제가 맞습니다. 수정 작업 중이며, 이번 주 안에 플러그인의 새 버전을 출시하도록 하겠습니다.

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [10월 20, 2025, 10:07오후 UTC](https://meta.discourse.org/t/load-comments-w-ajax-enabled-brings-thousands-of-post-id-undefined-visitor-requests/382435/3 "2025-10-20T22:07:42Z")

</div>

이제 해결되었나요?

---

<div class="post-metadata">

### Author: ![Lee\_Ars](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lee_ars/32/1597_2.png) [@Lee\_Ars](https://meta.discourse.org/u/Lee_Ars)
#### Post date: [10월 24, 2025, 12:18오후 UTC](https://meta.discourse.org/t/load-comments-w-ajax-enabled-brings-thousands-of-post-id-undefined-visitor-requests/382435/4 "2025-10-24T12:18:50Z")

</div>

아니요, 여전히 문제 있는 동작이 확인됩니다. 아직 수정이 배포되지 않은 것 같습니다.

 ![Screenshot 2025-10-24 at 07.17.52](https://global.discourse-cdn.com/meta/original/4X/2/a/e/2aef792b54c9a210a9d3f16dd56ca5db4655b7bf.jpeg)

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [10월 24, 2025, 12:43오후 UTC](https://meta.discourse.org/t/load-comments-w-ajax-enabled-brings-thousands-of-post-id-undefined-visitor-requests/382435/5 "2025-10-24T12:43:31Z")

</div>

다음 버전 `2.6.0`에는 이 문제에 대한 수정이 포함되어 있습니다. 곧 출시될 예정입니다!

---

<div class="post-metadata">

### Author: ![Lee\_Ars](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lee_ars/32/1597_2.png) [@Lee\_Ars](https://meta.discourse.org/u/Lee_Ars)
#### Post date: [10월 27, 2025, 6:07오후 UTC](https://meta.discourse.org/t/load-comments-w-ajax-enabled-brings-thousands-of-post-id-undefined-visitor-requests/382435/6 "2025-10-27T18:07:03Z")

</div>

2.6.0 버전을 설치했는데, 문제 동작이 거의 완전히 사라졌습니다! (위 스크린샷에 따르면) 24시간 동안 32.98k개의 요청이던 것이 1,000개 미만으로 줄었습니다:

 ![Screenshot 2025-10-27 at 13.04.56](https://global.discourse-cdn.com/meta/original/4X/5/2/9/529fa2a39673fa8557bb73154e53c5da477b503f.jpeg)

제 생각에는 해결된 것 같습니다! @angus 님 감사합니다! 🚀

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [11월 26, 2025, 6:07오후 UTC](https://meta.discourse.org/t/load-comments-w-ajax-enabled-brings-thousands-of-post-id-undefined-visitor-requests/382435/7 "2025-11-26T18:07:20Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
