こんにちは!
記事の下にコメントが表示されなくなったという問題があります。記事が公開されると、ブログのディスコースフォーラムに表示されますが、後でWordPressの記事に手動でリンクする必要があります。そうするとコメントが表示されます。しかし、以前はそのような手順は必要ありませんでした。
すでにここでそのことについて書いています:422 Unprocessable Content response when using ActivityPub with WP Discourse - #5 by Miasanrot
残念ながら、そちらの解決策は私の解決策ではなく、非常に個別的なもののように思えます。そのため、新しいスレッドを開きました。公開するように求められた3つのことは次のとおりです。
- WP Discourseからのログ、メタファイルを含む。
- Discourseからのログ、特にエラーログ。
- Discourseで使用しているプラグインのリスト。
WP Discourseからのログファイル:
これは今日のものです:
[2024-03-14 06:02:59] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13514,"http_code":403}
[2024-03-14 07:14:26] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13651,"http_code":403}
[2024-03-14 08:22:19] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13815,"http_code":403}
[2024-03-14 08:48:21] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13638,"http_code":403}
[2024-03-14 09:37:36] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13759,"http_code":403}
[2024-03-14 10:55:34] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13603,"http_code":403}
[2024-03-14 11:25:23] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13603,"http_code":403}
[2024-03-14 12:36:28] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13944,"http_code":403}
[2024-03-14 16:03:01] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13977,"http_code":403}
**メタファイルに含まれるものは次のとおりです:**
### サーバー ###
WordPress - 6.4.3
PHP - 8.0.26
MySQL - 8.0.30
### アクティブなプラグイン ###
Admin Columns for ACF Fields - 0.3.1
Akismet Anti-spam: Spam Protection - 5.3.1
Borlabs Cookie - Cookie Opt-in - 2.2.67
Contact Form 7 - 5.8.6
Genesis Blocks - 3.1.1
LightStart - Maintenance Mode, Coming Soon and Landing Page Builder - 2.6.9
Podigee Wordpress Quick Publish – now with Gutenberg support! - 1.3.5
Proxy Real IP - 1.1
Shariff Wrapper - 4.6.9
TablePress - 2.2.5
TablePress Extension: Responsive Tables - 1.1
Theme Test Drive - 2.9.1
User Role Editor - 4.64.1
WP-Discourse - 2.5.1
WP Import Export - 3.9.26
### WP Discourse設定(シークレットは除外) ###
display-subcategories - 0
allow-tags - 0
max-tags - 5
publish-as-unlisted - 0
full-post-content - 0
custom-excerpt-length - 50
add-featured-link - 0
auto-publish - 1
force-publish - 0
force-publish-max-age - 5
publish-failure-notice - 1
auto-track - 1
allowed_post_types - post
exclude_tags -
hide-discourse-name-field - 0
discourse-username-editable - 1
direct-db-publication-flags - 0
verbose-publication-logs - 0
enable-discourse-comments - 1
comment-type - display-comments
ajax-load - 1
load-comment-css - 1
discourse-new-tab - 1
hide-wordpress-comments - 1
show-existing-comments - 1
max-comments - 50
min-replies - 1
min-score - 0
min-trust-level - 0
bypass-trust-level-score - 50
only-show-moderator-liked - 0
custom-datetime-format -
cache-html - 1
clear-cached-comment-html - 0
verbose-comment-logs - 0
use-discourse-webhook - 1
webhook-match-old-topics - 0
use-discourse-user-webhook - 0
webhook-match-user-email - 0
enable-sso - 0
auto-create-sso-user - 0
real-name-as-discourse-name - 0
force-avatar-update - 0
redirect-without-login - 0
sso-client-enabled - 0
sso-client-login-form-change - 0
sso-client-sync-by-email - 0
sso-client-sync-logout - 0
logs-enabled - 1
ディスコースのエラーログから何かをダウンロードしたりコピーしたりする方法はわかりませんが、これは今日のスクリーンショットです。午後4時06分は、最新の記事が公開された時間(午後4時11分)にほぼ近いです。

**ディスコースのプラグインリスト:**
チャット(無効)、データエクスプローラー、脚注、スポイラーアラート
何か追加すべきことがあれば教えてください。よろしくお願いします。
angus
(Angus McLeod)
2
@Miasanrot 様、詳細な情報ありがとうございます。大変助かります。
まず、ログにある 403 コメント同期エラーを調査する必要があります。これは、コメントが表示されない問題に関連しているようです。403エラーは、WP Discourse が Discourse にアクセスできないことを意味し、おそらく認証の失敗が原因です。
-
WP Discourse の管理パネルの「接続」タブに、「Discourse に接続されています!」というメッセージは表示されますか?
-
「Proxy Real IP - 1.1」という WordPress プラグインを使用しているとのことですが、WordPress と Discourse のネットワーク環境についてお伺いしたいです。そのプラグインはどのような役割を果たしていますか?
迅速な回答ありがとうございます。感謝いたします。
はい、接続されていることが表示されます。また、記事を公開すると何かが作成されるようです。WPでは、記事がすでに埋め込まれているというエラーが時々表示されます(私がリンクしたスレッドのユーザーが抱えていたのと同じ問題だと思います)。したがって、接続があるはずだと私も思います(そして、前述のように管理パネルに表示されます)。
2番目は少し難しいです。1月にこのブログを引き継いだため、すべてを自分で設定したわけではありません。しかし、前の管理者にそのプラグインについて尋ねたので、回答が得られ次第、折り返しご連絡します。
編集:プラグインは無効化できるとのことです。次のステップで試すことができますか?
残念ながら、今のところ解決策はありません。上記で言及されたプラグインを無効にしても、問題は解決しませんでした。
angus
(Angus McLeod)
5
ジャスティン、申し訳ありません、これを見失っていました。問題は、WordPressの設定に固有のものである可能性が最も高いです。
(強調は私によるものです)
いつから機能しなくなりましたか?コメントが表示されなくなったときに、WordPressで何か変更された点はありますか?
- WordPressを更新しましたか?
- プラグインを更新しましたか?
- テーマを変更(または更新)しましたか?
angus
(Angus McLeod)
6
ジャスティンさん、ちょっと様子を伺いに来ました。この件、どう進んでいますか?
ご確認ありがとうございます!
答えるのは難しいですが、WordPress(とPHP、両方とも同日)のアップデートが原因だったのではないかと思います。少なくとも、その後初めて問題が発生しました。最新から2番目のWordPress(最近6.5が公開されたと思いますが、まだインストールしていません)と、私の情報が正しければPHP 7.4を実行しています。
Discourseプラグインは2.5.1で実行しています。
angus
(Angus McLeod)
8
WordPressのどのバージョンからアップグレードしたかご存知ですか?アップグレードの間隔はどのくらいでしたか?また、テーマも同時にアップデートしましたか?テーマは「ブロックテーマ」ですか?
誤解や誤った情報なしにお答えできれば幸いです。1月にこのブログを引き継ぎましたが、WordPressはかなり古いバージョンでした。おそらく5.xだったと思いますが、正確な番号はわかりません。2つのアップデートの間にはかなりの時間が経過していました。テーマは以前と同じで、私たちのページのためにデザインおよびコーディングされたカスタムテーマです。コーディングのスキルがないため、ページを更新すると問題が発生する可能性があることは知っていましたが、このディスコースの問題に気づくまで、すべて順調に進んでいるように思われました。
詳細な情報を提供できない場合は申し訳ありません。最善を尽くします 
忍耐とご協力に改めて感謝いたします。
angus
(Angus McLeod)
10
なるほど。それは大幅なアップグレードですね(WordPress 5.x から 6.x へのアップグレード)。デフォルトの WordPress テーマ(どのデフォルトの WordPress テーマでも構いません)でこれをテストして、同じ問題が発生するかどうかを確認することは可能でしょうか?少し手間がかかることは承知していますが、ここでの最も可能性の高い原因(つまり、テーマ)です。コメントブロックに移動する必要があるかもしれません。
それは可能だと思います。本日中に記事を公開し、その直前にwpテーマを切り替えて、それが機能するかどうかを確認できます。
ああ、それと追加ですが、@angus さん:ブロックテーマとは具体的にどういう意味ですか?WPではページや記事などのためにブロックエディターがありますが、ブロックテーマとは、ブロックを追加するだけで好きなようにページをデザインできるという意味であれば、それはブロックテーマではありません。明確にするために。
「いいね!」 1
WordPressテーマ「Twenty Twenty-Three」に切り替えてから記事を公開しました。いつものようにDiscourseにスレッドが作成されましたが、ブログのコメントセクションに接続されていなかったため、手動で接続する必要がありました。
angus
(Angus McLeod)
13
なるほど。サイトのどこかがプラグインの正常な動作を妨げているようです。テーマでない場合、次に確認すべきはインストールされている他のプラグインです。
サイトに関する詳細情報がないため、アドバイスできることは、それらを一つずつ無効にして、動作が変わるかどうかを確認する必要があるということです。それらのうちの1つが、WordPressの現在のバージョンやPHP 8.x(WP Discourseプラグインは両方と互換性があります)と互換性がない可能性があります。
これも聞きたくないことかもしれませんが、WordPressのようなプラグイン可能なシステムでは、これらのこと(つまり、プラグインの競合)がエラーの原因となる可能性があります。この段階で、その原因を排除しようと試みる価値はあります。
「いいね!」 1
キャッシュとテーマの組み合わせが原因である可能性はありますか?私はそれらのことについては全く分かりませんが、時々、小さなものがページに表示されず、キャッシュをクリアすると再び機能することがあります。例えば、昨日、記事を手動でリンクしましたが、コメントはページに表示されませんでした。キャッシュをクリアしたところ、表示されるようになりました。
今日、記事を公開し、ディスコースと連携させましたが、コメントは表示されませんでした。そこで、再びキャッシュをクリアしたところ、コメントが表示されました。これを理解するのは簡単ではありませんが、何かが正しくないようです。
angus
(Angus McLeod)
15
はい、キャッシュが問題の原因となっている可能性があります。「WP Discourse 設定」の「コメント」タブにある「コメントを Ajax で読み込む」設定を試してみてください。
どのようなキャッシュソリューションを使用していますか?
オプションが有効になりました。
キャッシュにはWP Rocketを使用していますが、問題が発生した後にインストールしました。これらの問題は解決されたように見えましたが、正確にキャッシュがどのように機能していたかは本当によくわかりません。キャッシュがあったことは知っていますが、具体的な解決策はわかりません。ブログを引き継いだとき、画像の読み込みが遅いと感じました。WP Rocketを使用してから、1、2か月は改善されたようです。(コメントの問題は、インストールする前からありました)
しかし、まれにページに何かが正しく表示されないという問題が発生します。先週は、Discourseに手動で接続した後にコメントが消えてしまいました。WP Rocketでキャッシュをクリアしたところ、再び機能するようになりました。
422エラーで同じような問題が発生しているようです。@angusさんとは、テスト環境(WPとDiscourse)をセットアップしてテストを行うことについて話しました。週末には完了する見込みです…
「いいね!」 2
Jagster
(Jakke Lehtonen)
18
WP Rocket は本当に頭痛の種になり得ます。コンテンツの静的なコピーを生成しますが、動的であるべき部分や、ごく短時間だけ静的であるべき部分には触れないようにしようとします。コメントでキャッシュを確実に無効にするルールを見つける幸運に恵まれれば機能しますが、得られたメリットを失い始めます。
キャッシュに関しては、WordPress は…悪夢というほどではありませんが、それに近いです。WP Rocket は監視に多くの時間と手間が必要で、非常に短い TTL で最もよく機能するため、私は WP Rocket を捨てました。他のツールを使用した方が良い結果が得られました(そして、現実的に考えるべきです。数時間、ほぼ毎週私の作業時間が必要な場合、1 秒を無駄にしようとする確固たる理由があるでしょうか。不要なプラグインを無効にして適切なテーマを選択する方が良い選択肢です)。
ほとんどのサイトでは、コメントが非常にまれにしかつかないため、コメント機能は実際には必要ありません。そのような場合、コメントセクションとして Discourse を使用すると他の目的を果たします。もちろん、それは状況によります。
私にとって、Discourse への接続は広告として機能します。しかし、私の訪問者のほとんどは携帯電話を使用しており、十分にスクロールすることはほとんどありません。サイドバーと同じ疑問符です。
「いいね!」 1
そして、どのツールですか?繰り返しますが、私はこれらの技術的なことにあまり慣れていないので、ここにいて問題の助けになるものがないか見ています。問題は、WP Rocket をインストールする前から存在しており、他の種類の問題をいくつか解決しましたが、このツールが何らかの問題を引き起こしている場合は、他の解決策も検討します。
私たちの記事(正確には Discourse 上)には、最大で 100 または 200 件のコメントがあります。そのため、記事を読みたいだけのユーザーが下にスクロールしないとしても、それらを統合したいと言っても過言ではありません。
Jagster
(Jakke Lehtonen)
20
このフォーラムでは範囲外です。WordPressのチューニングに関する問題だからです。Facebookで「WordPressの高速化」のようなものを試してみてください。
しかし、Asset CleanUp、EWWW Image Optimizer、あるいは多数の同時ユーザーがいる場合はRedisのようなプラグインに興味があるかもしれません。可能な限り多くのボットトラフィックを排除するために、少なくともNginxのツールを使用する必要があります。しかし、テーマや多数の異なるプラグインが実際のボトルネックである場合、それらのどれもあまり役に立ちません。そして悪いニュースは、データベース自体も時々クリーンアップする必要があるということです。
しかし、WP Rocketが役立つならそれは素晴らしいことです。しかし、キャッシュ時間は長すぎないようにしてください。そして、Discourseをキャッシュからブラックリストに登録する必要があります。