ブログに記事が増えてきたので、アクセス解析、サーチコンソール、広告の設置と、収益化の準備を一気に進めました。ところが、これがまったく順調にいきませんでした。サイトマップが開けない、設定を保存しようとすると謎のエラー画面が出る、広告がアダルトばかり表示される。調べても「結局どれが自分のケースなのか」が分かりにくく、かなり時間を使いました。
この記事では、同じ構成(ConoHa WING+WordPress+Cocoon)で詰まりやすいトラブルを、症状・原因・対処の順に記録しておきます。特に、エラー画面の見た目から原因を絞り込む流れを意識して書いたので、同じ画面が出ている方の参考になれば嬉しいです。
この記事で扱う5つのトラブル
| 症状 | 主な原因 | 対処 | |
|---|---|---|---|
| 1 | wp-sitemap.xmlが「Not Found」になる | パーマリンク設定 | 「投稿名」に変更して保存 |
| 2 | 設定保存時に「Forbidden access」が出る | セキュリティ機能(WAF)が<script>を誤検知 | 一時的にセキュリティ機能をオフにして保存し、すぐ戻す |
| 3 | 広告がアダルトばかり表示される | 広告枠のフィルタ未設定 | 「アダルト・出会い等の広告を表示しない」にチェック |
| 4 | 広告位置の横に警告マークが出る | メニューが広告に重なるおそれ | メニューの展開を確認し、該当位置を避ける |
| 5 | iPhoneのプライベートブラウズで広告が出ない | ブラウザの追跡防止機能 | 通常モードで確認する |
トラブル1:wp-sitemap.xmlを開くと「Not Found」
背景
サーチコンソールにサイトマップを送信しようと思い、まずサイトマップのURLを調べました。私が確認した範囲では、Cocoonには、検索エンジン向けのXMLサイトマップを作る機能がありません(あるのは、読者向けの一覧ページを作るHTMLサイトマップの機能です)。一方、WordPress本体には、バージョン5.5以降、/wp-sitemap.xmlというサイトマップを自動で生成する機能があります。つまり、追加のプラグインなしでも、このURLを送信すれば足りるはずでした。
症状
ところが、ブラウザでhttps://自分のドメイン/wp-sitemap.xmlを開くと、WordPressらしい画面ではなく、「Not Found」「The requested URL was not found on this server.」という素っ気ないエラーが出ました。サーチコンソール側でも、サイトマップのステータスが「取得できませんでした」と表示されました。
切り分けの順番
原因を絞るために、次の順番で確認しました。
- URLの入力ミス:自分は最初、アドレスの頭を
https://https//と二重に入力していました。恥ずかしい話ですが、まずここから疑うのが基本です - 「検索エンジンがサイトをインデックスしないようにする」のチェック:「設定」→「表示設定」にあるこの項目にチェックが入っていると、サイトマップ自体が機能しません
- パーマリンク設定:「設定」→「パーマリンク設定」で、今どの形式が選ばれているかを確認する
自分の場合は、パーマリンク設定が「カスタム」になっていました。そこで、見やすい形式の「投稿名」を選んで保存したところ、wp-sitemap.xmlが無事に開けるようになりました。
結果と、送信するURL
表示されたのは、「この XML サイトマップは WordPress が生成しているもので、検索エンジンがコンテンツを見つけやすくします。」という説明つきのページで、投稿・固定ページ・カテゴリーの3つのサイトマップへのリンクが並んでいました。サーチコンソールの「サイトマップ」画面には、sitemap.xmlではなくwp-sitemap.xmlと入力して送信します。
なぜ直ったのか
パーマリンク設定を保存し直すと、WordPressはURLの振り分けルールを作り直します。wp-sitemap.xmlのような「実際にはファイルが存在しないURL」は、このルールがうまく働いていないと見つけられず、Not Foundになることがある、と考えられます。設定を「基本」以外の形式で保存し直すだけで直るケースは、他の方の報告でも見かけました。
注意点
運用期間が長く、すでに外部からリンクされている記事が多いサイトでは、パーマリンクの形式を変えると記事のURLそのものが変わる場合があります。私のサイトは開設して間もなかったので影響は小さいですが、既存サイトで試す場合は、事前に影響を確認しておくのが安全です。
トラブル2:設定を保存すると「閲覧できません(Forbidden access)」
背景と症状
アクセス解析やAdSenseのコードを、Cocoonの設定画面に貼り付けて保存しようとした時のことです。「Cocoon設定」→「アクセス解析・認証」のヘッド用コード欄に、AdSenseの接続用のコードを貼り、「変更をまとめて保存」を押しました。すると、保存されずに、次のような画面に切り替わりました。
「閲覧できません (Forbidden access)」「指定したウェブページを表示することができません。」
画面の右下には、小さく「Powered by SiteGuard Lite」と表示されていました。
原因:セキュリティ機能が<script>を攻撃と誤検知
「Powered by SiteGuard Lite」は、ヒントになる表示でした。調べたところ、ConoHa WINGのWAF(Webアプリケーションファイアウォール:不正なアクセスを防ぐ仕組み)には、SiteGuard Liteが使われているとされています。WAFは、サイトに送られてくるデータを監視し、攻撃に見えるものをブロックします。広告やアクセス解析のコードは、<script>というタグを含んでいるため、攻撃のパターンと似ていると判断されて、保存の通信ごと弾かれることがあるようです。
自分が試して、直らなかったこと
原因が分かっても、解決までは遠回りしました。次の3つは、単独では効果がありませんでした。
- WAFのログを確認して「除外」する方法:コントロールパネルの「サイトセキュリティ」→「WAF」タブのログを見ましたが、エラーを再現した直後でも、一覧は空のままでした
- WAFの利用設定をOFFにする:OFFになっていることを画面で確認してから保存しても、同じエラーが出ました
- プラグイン「SiteGuard WP Plugin」の無効化:プラグイン一覧から見つけて無効化しても、やはり同じ結果でした
直った方法:両方を「同時に」オフにして保存
その後、忍者AdMaxの広告タグを保存する際に、もう一度確認しました。ConoHa WINGのWAFと、SiteGuard WP Pluginの両方を同時にオフにした状態で保存したところ、今度は問題なく保存できました。
推測ですが、サーバー側のWAFと、WordPress側のプラグインという2つの層が、それぞれ別にブロックしていたのではないかと思います。最初は片方ずつ試しては元に戻していたので、もう一方がブロックを続けていた可能性があります。
手順(一時的にオフにして保存し、すぐ戻す)
- WordPressの「プラグイン」→「インストール済みプラグイン」で、SiteGuard WP Pluginが有効になっていれば、いったん無効化する
- ConoHa WINGのコントロールパネルを開き、「WING」→「サイト管理」→対象サイト→「サイトセキュリティ」→「WAF」タブで、「利用設定」をOFFにする(反映に1〜2分かかるため、少し待つ)
- Cocoon設定の画面で、コードを貼り付けて保存する
- 保存できたら、すぐに両方を元に戻す(プラグインは「有効化」、WAFは「ON」)
- サイトの表示と、管理画面のログインに問題がないか確認する
一度保存されたコードは、通常は、保存時にブロックを外しておけば、その後セキュリティ機能を戻しても消えません。
安全面の注意
この方法は、一時的にサイトの防御を弱める操作です。次の点は、必ず守るようにしました。
- 作業は短時間で終わらせ、終わったらすぐに元に戻す
- WAFのログに該当の記録が出る場合は、WAFを丸ごとオフにするより、そのログだけを「除外」する方が安全とされています(自分の環境ではログが空だったため、この方法は使えませんでした)
- どうしても不安な場合や、何度試しても直らない場合は、ConoHa WINGのサポートに問い合わせる
トラブル3:忍者AdMaxを入れたらアダルト広告ばかり
背景
AdSenseの審査結果を待つ間、審査が事実上不要とされる忍者AdMaxを導入しました。自動で広告を配置するタイプのタグを、Cocoonの「広告」タブの広告コード欄に貼り付けました。
症状
保存して表示を確認すると、サイトに出てきた広告が、アダルト系のものばかりでした。お金の話を書いているブログには、まったく似つかわしくありません。
原因と対処
原因は、広告枠側のフィルタを設定していなかったことでした。忍者AdMaxの管理画面で、広告枠の編集画面を開くと、「表示させない広告」という項目があります。ここで「アダルト・出会い等の広告を表示しない」にチェックを入れるのが、基本の対処です。タグ自体は、すでにCocoonに貼ってあるものを変更する必要はなく、広告枠側の設定を変えれば反映されます。
見過ごせないリスク
調べて特に気になったのは、次の2点です。
- このチェックを入れても、ごくまれにアダルト系の広告がすり抜けるという報告がある
- 他社の広告ネットワーク経由でアダルト広告が表示されたことが原因で、AdSense側から「アダルトコンテンツ」のポリシー違反の通知を受けた事例が報告されている
AdSenseを本命にするなら、他の広告ネットワークの併用は、表示内容をこまめに確認できる状態で、慎重に行う必要がありそうです。設定後の表示状況は、確認でき次第、この記事にも追記する予定です。
Cocoonの広告コード欄は、基本1つだけ
もう一つ、事前に知っておくと良い点があります。Cocoonの「アドセンス設定」の広告コード欄には、基本的に1つのコードしか入りません。忍者AdMaxのコードを入れている間は、その位置にAdSenseは表示されません。AdSenseに合格したら、この欄をAdSenseのコードに差し替える、という運用になります。
トラブル4:広告位置の横に出る警告マーク
症状
「Cocoon設定」の「広告」タブで、広告の表示位置を選ぶ項目を見ると、「サイドバートップ」「タイトル上」「タイトル下」などの横に、小さな警告マーク(三角形)が付いていました。説明文には、「広告にグローバルナビメニューが覆いかぶさっていませんか?」「広告設定の前にAdSenseポリシーをご確認ください。」と書かれています。
意味
これはエラーではなく、事前の注意喚起です。サイトのメニューが、カーソルを合わせたりタップしたりすると下に展開するタイプだと、その展開部分が広告の上に重なって、広告が隠れたり、意図しないクリックを誘発したりするおそれがあります。AdSenseでは、誤クリックを誘発するような配置は、ポリシー上問題になり得ます。
確認方法と、自分の判断
実際のサイトを開いて、メニューにカーソルを合わせる(スマホならタップする)と、下にメニューが展開するかを確認します。自分のサイトでは、メニューが展開する作りになっていたので、警告マークの付いた位置は避ける方針にしました。代わりに、本文上・本文中・本文下などの位置を使います。
なお、1ページに広告を詰め込みすぎると、ユーザー体験の悪化や表示速度の低下につながります。まずは3箇所程度から始めて、様子を見るのがおすすめです。
トラブル5:iPhoneのプライベートブラウズで広告が出ない
症状
広告を設置した後、スマホで表示を確認しようと、iPhoneのSafariのプライベートブラウズでサイトを開きました。ところが、広告がまったく表示されませんでした。
原因と確認方法
Safariには、サイトをまたいだ追跡を防ぐ機能があり、プライベートブラウズではこの保護がより強く働くとされています。広告の配信は、Cookieなどを使った仕組みに依存している場合が多いため、プライベートブラウズでは、広告が表示されないことがよくあるようです。
通常のブラウズモードで開き直したところ、広告が表示されました。つまり、設定の失敗ではなく、確認方法の問題でした。広告の表示確認は、通常モードで行うのが基本です。
5つのトラブルから学んだこと
- エラー画面は、必ず「どこに何と書いてあるか」を見る:今回の「Powered by SiteGuard Lite」のような小さな表示が、原因の特定に直結した
- 設定の変更は、一度に一つずつ行い、終わったら元に戻す:複数を同時に変えると、何が効いたのか分からなくなる。ただし、今回のように「複数の層が同時にブロックしている」ケースでは、両方を同時にオフにして初めて通ることもあった
- スクリーンショットを残しておく:エラー画面の文言は、検索や問い合わせの手がかりになる
- 「失敗」ではなく「確認方法の問題」のこともある:プライベートブラウズの件のように、設定は正しいのに、見ている環境のせいで正常に動いていないように見えるケースがある
よくある質問
Q1. WAFをオフにして、本当に大丈夫ですか? A. 一時的にサイトの防御を弱める操作なので、推奨される方法とは言い切れません。作業は短時間で済ませて必ず元に戻すこと、ログに該当があるなら「除外」の方を使うこと、不安ならサポートに相談することをおすすめします。
Q2. サーチコンソールに送るサイトマップのURLは何ですか? A. WordPress標準のものであればwp-sitemap.xmlです。sitemap.xmlやsitemap_index.xmlは、別のプラグインが生成するURLの名前なので、プラグインを入れていなければ存在しません。
Q3. 広告を貼ったのに表示されません。 A. 反映までに数分かかることがあります。また、AdSenseの審査中は、広告が表示されないことがあります。プライベートブラウズでは表示されないことがあるので、通常モードで確認してください。
まとめ
- サイトマップがNot Foundになる時は、URLの打ち間違い、表示設定のチェック、パーマリンク設定の順に確認する(自分は「投稿名」に変更して解決した)
- 設定の保存時にForbidden accessが出た時は、「Powered by SiteGuard Lite」の表示を手がかりに、WAFとプラグインの両方を、一時的に同時にオフにして保存し、すぐ元に戻す
- 他社広告を併用する場合は、アダルト系を除外する設定を必ず確認し、AdSenseのポリシーに触れないよう注意する
- 広告位置の警告マークは、メニューの展開を確認して、重なるおそれのある位置を避ける
- 広告の表示確認は、通常のブラウズモードで行う
収益化の準備は、記事を書くのとは別の種類の、地味な作業の連続でした。同じ構成で詰まった方に、この記録が少しでも役立てば嬉しいです。
※本記事は、筆者が自分の環境で体験した内容と、公開情報を整理したものです。画面の表示や設定項目は、サービスの更新によって変わる場合があります。セキュリティ設定の変更は自己責任で行い、不安な場合はレンタルサーバーのサポートや専門家にご相談ください。


コメント