こんにちは、岡安です。(@itsumiokayasu)
サイトのデザインを変更してから、少しずつ中身を整えていました。WPテンプレート『yStandard』にはとにかくかゆいところまで手の届いているテンプレなので、広告設定も簡単。
外観>カスタマイズの中に広告タグを入力するだけのエリアが用意してあってAdsenseも広告コードを取得して放り込むだけ……のはずが、何度押してもエラーが出てきて困っていました。
実は昔にも同様のエラーが出ていた時期があり、似たような対処を今回したので覚書ように記事を残しておきます。
403エラーの原因はWAF(Web Application Firewall)でした
ことの経過は下記の通りです。
使用サーバー
ロリポップ
403エラーを出したアクション
- 広告タグを仕込むテキストエリアに、HTMLの広告コードを、用意されたテキストボックスに入力したとき
- LINKERプラグインでアフィリエイト連携しようと、HTMLコードを、用意されたテキストボックスに入力したとき
原因
いろいろと原因を調べました。検索ワードは『WP 403エラー』。
そもそも403エラーとは?
WordPressの403エラーは『サーバー側からページへのアクセスを拒否されている状態』のことを指します。403エラーについては下記サイトに丁寧にまとまってたので参考にさせてもらいました。
WordPressの引越しで起こる403エラー(Forbidden)の原因は主に以下の4つです。
キャッシュ(履歴)が残っている
ドメイン設定またはDNSの設定に問題がある
「.htaccess」の記述に問題がある
WAFの設定に問題がある
フォルダのパーミッション設定に問題がある
https://site-hikkoshi.com/3812/
WordPress引越しで403 Forbiddenが起きる5つの原因とエラーの対処法 | サイト引越し屋さん
WAF(Web Application Firewall)とは?
WAFとは、ざっくりというと「ウェブサイトの改ざんを防ぐためのファイアウォール」で、ウェブサイトを守るために存在します。WAFについては、下記のサイトやウィキに詳細が載っているので参考にするとよいかと思います。
“WAF”(Web Application Firewall)とは、文字通りWebサイト上のアプリケーションに特化したファイアウォールです。主に、ユーザーからの入力を受け付けたり、リクエストに応じて動的なページを生成したりするタイプのWebサイトを不正な攻撃から守る役割を果たします。
https://www.scutum.jp/outline/waf.html
Web Application Firewall - Wikipedia
ロリポップ管理画面でWAFを『無効』にしてエラーを解消
ロリポップサーバーで運営しているサイトで、WAFが有効になっていと『PHPやCGIでプログラムの編集をすると403エラーが表示され』るそう。私のアクションで言えば、テキストボックスにHTMLを放り込んでいたのでこれに該当します。(WPはPHPで構築されているので、広告タグを追加することはPHPを編集することと同意)
ロリポップはデフォルトでWAFが有効化されているので、すぐに無効に作業を行いました。
WAFの無効化は反映に少し時間がかかるので、時間をおいてから再度広告タグなどの書き込みにチャレンジ。問題なく書き込みができるようになりました!
無事、Adsense広告が表示されてホッとしています。
まとめ
ロリポップで403エラーが出た時は、WAFを疑ってみるのがよいという覚書でした。同様のことで困っている人がいれば、お役に立てればいいなあと思っています。