2025年5月27日 火曜日 晴れ時々くもり ブログメンテナンスとアクセスコントロール
本記事内では、実際に使用したコードの掲載は行っておりません。
これは、使用した設定およびコードが本ブログの環境に最適化されたものであり、他の環境では正常に動作しない可能性があるためです。
また、記事内で言及しているファイルは非常にセンシティブなものであり、誤った編集によって重大なトラブルを引き起こすおそれがあります。
したがって、本記事の内容を参考にして生じた不具合等について、筆者は一切の責任を負いかねますので、あらかじめご了承ください。
先週後半からずっと忙しくて、土日もずっと仕事していたし、昨日でようやく案件ラッシュが一段落したので、今日は代休にした。
起きたのは8時半頃。
昼前から夜まで、ずっとブログのメンテナンス作業。今回は特に、X(旧Twitter)からのブログ記事への直接リンクのブロックとリダイレクト設定に集中して取り組んだ。
というのも、自分のブログは時々X上で取り上げられることがあって、そのたびにアクセスが急増する。アクセスが増えるのは本来ありがたいことなんだけど、引用のされ方が記事の本意からズレていたり、変な方向に話題が展開していたりすることもある。
まあ、そういうのもXという場の特性なんだろうと思う。だから正直、X経由のアクセスが増えることを素直に喜べないところがある。場合によっては炎上リスクもあるし。
先週あたりからどう対応するかでずっと悩んでいて、いっそXからのアクセスを完全にブロックしてしまおうかと思ったんだけど、それだと「404」や「アクセス拒否」の無機質な表示になってしまい、それはそれで感じが悪い気もしてきた。
そこで、以下のような二段構えの対応をすることにした:
- Xからの記事への直接リンクのみ禁止
- Xからのアクセスを、以下のお知らせページにリダイレクトする
Xとの直接リンク終了について
https://talkiyanhoninjai.net/xtwitter-info
で、今回の対応にあたっては、Google検索ではなかなか欲しい情報が見つからなかったので、今日はChatGPTにいろいろ相談しながら進めることにした。
まず試したのは、WordPressのプラグインを使って、Xからのアクセスをお知らせページにリダイレクトさせる方法。
ChatGPTと話しながら、無料で使えるものをいろいろ入れて試してみたけど、うまく動かず。Xからのアクセスが普通に通ってしまう。
ちなみに今回の検証では、Yahoo!リアルタイム検索で見つけた、当ブログへのリンクが貼られていた実際のポストを使わせていただいた。自分のXアカウントはもう削除済み。
次に試したのは、サーバー側の .htaccess
ファイルに手を加えて、Xからのアクセスをお知らせページにリダイレクトさせる方法。
ただ、自分はこのへん全然詳しくなくて、.htaccess
を下手にいじるとサイト全体が見られなくなることもある。実際、途中で一度ブログ全体がアクセス不能になるというトラブルが発生した(焦った!)。
それでも、レンタルサーバーのヘルプを読んだり、ChatGPTにコードを書いてもらったりしながら、なんとか形にはなった。
この方法だと、Xから記事に直接アクセスしようとすると、以下のようなエラーが出る:
このページは動作していません
talkiyanhoninjai.net でリダイレクトが繰り返し行われました。
Cookie を削除してみてください。
ブラウザのアドレスバーには、リダイレクト先である
がちゃんと表示されているんだけど、自動的にジャンプせず、リダイレクトループになってしまっている様子。
それからもう一つ、ブログテーマの functions.php
にコードを追加して、Xからのアクセスをお知らせページにリダイレクトさせる方法。
こちらもChatGPTにコードを生成してもらったが、結果は .htaccess
のときと同じで、リダイレクトループが発生。
そんなこんなで、気づけば19時を回っていたので、今日はひとまず .htaccess
を使った方法を暫定的に採用することにして、作業終了。
今後も時間を見て、リダイレクトループの解消方法を探る予定。
結局のところ、今回の目的であった
- Xから記事への直接リンクの禁止 → 達成
- Xからのお知らせページへのリダイレクト → 未達成
という結果に。
気づけばもう21時を過ぎていた。そろそろ晩飯にするか。
【2025年6月3日追記】
さきほどXからのアクセスをお知らせページ「Xとの直接リンクの終了について」にリダイレクトさせることに成功。
一、お知らせページのアドレスを「https://talkiyanhoninjai.net/xtwitter」に簡略化。
二、WordPress管理画面の「設定」の「一般」のURL設定が「https://talkiyanhoninjai.net/」、それ以外の箇所で「https://talkiyanhoninjai.net/」に分かれていたのを「https://talkiyanhoninjai.net/」にに統一した。。
三、リダイレクトのコードがWordPressインストール場所(サーバー側)のルートディレクトリ側の.htaccess
ファイルと /wpblog/
フォルダ直下の.htaccess
ファイルに二重に書き込まれていたので、リダイレクトのコードは/wpblog/
フォルダ直下の.htaccess
ファイルにのみ残した。
四、これでおおむね解決したが、今度はリダイレクトされないことがあるので、念のため、ブログテーマの functions.php
にもリダイレクトコードを追加しておいた。
ようやく問題が解決しました。
これにより、X(旧Twitter)から当ブログの記事へ直接アクセスすることはできなくなり、まず「お知らせページ」を経由していただく形となります。あえてワンクッション置くことで、「本当に読む価値があるかどうか」、また「本ブログの記事を引用する価値があるかどうか」を、一度立ち止まってご判断いただければと考えております。
こうした対策がどれほどの効果を持つかは分かりませんが、X上で当ブログの記事が炎上したり、不毛な議論が繰り返されたりすることを、少しでも防ぐための措置です。
ご不便をおかけいたしますが、何卒ご理解賜りますようお願い申し上げます。