先週、Google Adsenseに申し込んだのですが、残念ながら「有用性の低いコンテンツ」という理由で落ちてしまいました。 割と自信があったのにも関わらず、落ちてしまったのでショックも大きいのですが、また2週間後に再チャレンジしてみようと思っています。 とは言ってもしっかり戦略を立てないとまた落ちるだけなので、落ちた理由の振り返りをしてみようかなと思います。

分析の結果結論から言うと、 「文字数」や「独自性」ではなく、サイト全体の構造(トップページ・sitemapの整合性)が原因だった可能性が高いです。

土曜日(今日)をまるまる潰して修正したので、どうか次こそは合格したいところです 笑

AdSense申請の準備と結果までの流れ

申請日は2025年9月23日、結果通知は10月2日。
審査時点での記事数は47本前後でした。

また審査を出す前に、以下のページはすでに整備済みでした。

  • プライバシーポリシー(必須ページ)
  • お問い合わせページ
  • Aboutページ(個人情報に配慮した形で運営者情報を記載)

これらを整えた状態でも落ちたので、記事自体に問題があると判断しました。 なぜなら、AdSenseの審査は全記事を対象にチェックされると言われており、 どれか1つでも不適切・薄い内容があると不合格になるためです。

記事が多い方が審査に有利だと思っていたので、記事数が40を超えた最近になってから応募しました。 しかし、今振り返ると、長文・高品質の記事を10本程度に絞って
申請する方が戦略的だったかもしれません。

とはいえ、このブログの一番の目的はお金稼ぎではなく、自分の考えを整理すること
なので、戦略的に申請しなかったこと自体は後悔していません。
「Adsenseに落ちた」経験も、ブログ改善のいいきっかけになりました!

記事の文字数をPythonで可視化してみた

次に疑ったのは「記事の文字数不足」です。
ブログ界隈ではよく言われる話として、「1記事あたり1000文字以上が目安」というものがあります。

少し話がそれますが、このブログは、所謂LAMP形式ではなくDBサーバを用意していません。
Webサーバ上にMarkdownファイルを格納し、PHPでMarkdownをパースして表示しています。
なぜこの構成かというと、単純なHTML生成ではなく仕組みから作ってみたかったからです。
その結果、記事データの解析も自由にできるようになりました。

結構保守性高いですよね(自慢)。 自作ゆえに管理も大変なんですが、それもまた楽しい部分です。

そこで、Webサーバ上の .md ファイルを対象に、
記事ごとの日本語文字数の分布を出すPythonスクリプトを書いて分析しました。

この統計は全48記事のMarkdownファイルを対象に、 英数字を除いた「日本語文字のみ」を抽出して算出しています。 正規表現を用いた抽出のため、精度はかなり高いと思います

ヒストグラムや箱ひげ図で分布を、上位・下位比較で特徴を、
そして時系列でこれまでの記事の傾向を分析しました。

日本語文字数の分析(ヒストグラム)
日本語文字数の分析(箱ひげ図)
日本語文字数の分析(上位10記事と下位10記事)
日本語文字数の分析(時系列)

指標
記事数 48本
平均文字数 約1,601文字
中央値 約1,403文字
最小値 約631文字
最大値 約3,861文字
標準偏差 約646文字

これらのグラフや統計値をもとに、いくつかの仮説を立てて考察してみました。

考察①:全体の文字数は十分だが、一部が減点対象かも

ヒストグラムを見ると、全体の多くが1000〜2000文字の範囲に集中しており、
「1000文字未満の記事」は48本中わずか6本(約12.5%)しかありません。
箱ひげ図でも極端な外れ値は見られず、平均・中央値ともに1500文字前後で安定していました。

AdSenseの審査は全記事が対象のため、
おそらく“減点方式”のような形で採点されているのかもしれません。
であれば、この6本が審査においてマイナスに働いた可能性は高いです。

考察②:昔の記事に“未完成”があった

グラフを見て、書きかけのまま公開していた記事を思い出しました。

具体的には、以下のサイトです。

ピーターの法則の記事に関して言えばアプリ開発自体にかなり時間がかかったので、記事そのもののクオリティが下がってしまいました。 これではせっかくいいアプリを作ったのにもったいないですよね。 アプリ系の記事は、急がずじっくりやろうと思います。

iPad airのバッテリーに関しては、、、まあこれも結果だけ書いた記事です。 ただ、結果だけが重要な記事ってあると思うんです!(言い訳) 追記観点は別途整理していきます。

考察③:技術ブログ特有の“端的さ”が裏目に?

qiitaとかzennとか見ると、ある課題に対して端的に解決方法だけを記載して終わるものってよく見ると思います。 私も多分一番読むのは、一般的なブロガーのものではなく、技術ブログです。

そのこともあり、私のブログもそのような書き方をしている記事がちらほらあります。 具体的には、以下の記事とかでしょうか、、

ただ、AdSenseの審査では“解決だけ”よりも、
背景・手順・考察をしっかり書いた方が評価されやすいのかもしれません。
今後は、技術記事も少し余白を持たせて書こうと思います。


色々考察してみましたが、根本原因としては、私のこのブログへの向き合い方が課題だったのだと思います。 以下の記事でも述べているように、このブログはお金稼ぎを第一においていません。そのため、1000文字以上書かないといけないという視点でブログを始めていなかったですよね。

サイト運営をはじめた理由

ただ、最近は“収益化”という観点にも少し興味が出てきました。
これからは、当初の目的である「考えの整理」を大切にしつつ、
マネタイズの視点も意識してブログ運営に取り組もうと思います。

AdSense審査で落ちた理由を徹底分析:文字数だけが原因じゃなかった

文字数が不足していたことも原因とは思いますが、他にも原因を洗い出してみようと思います。 自分が思いつくのは、以下の4点です。

  1. 独自性
  2. ブログの目的やテーマが分かりにくい
  3. 検索エンジン(クローラー)が正しく認識できていない
  4. service.php(個人開発アプリ紹介ページ)の情報不足

次に、その観点から記事内容の方向性をもう少し掘り下げてみます。

1.独自性は十分に確保できているはず

記事内容はすべて自分の経験や考察をもとに書いており、
コピペや引用頼みの内容ではありません。
したがって、独自性の不足が直接的な原因とは考えにくいです。

もちろん、技術的な解説部分は他サイトと似た表現もあるかもしれません。
ただ、それは「学習・検証の過程」で得た知見を自分の言葉で整理した結果です。
それを“独自性がない”と判断されるのは、少し理不尽に感じます。

技術ブログはそもそもマネタイズが難しいとも言われます。
なぜなら、プログラミング界隈では玄人よりも初心者層の方が圧倒的に多く、
専門的な内容ほどアクセスが集まりにくい傾向があるためです。
つまり、技術記事を中心にした時点で、収益性という点では不利な戦いなんですよね。

2.トップページ(index.php)の大幅改修

次に問題なのが、「サイト全体の目的・構造のわかりにくさ」です。 これは以前から自分でも課題に感じていました。

まず、「Iskkuuって何?」って話ですよね(笑)。
意味を知っているのは多分、僕だけです。

Googleのクローラーから見ても、
「このサイトがどんなテーマを扱っているのか」や
「どんなカテゴリの記事があるのか」が
明確に伝わっていなかった可能性があります。

そこで、index.phpを大幅にリファクタリングしました。

  • index.phpをLP的な構成にして、ブログの目的を明示
  • 記事一覧をarticles.phpに分離
  • ブログ名を「ISKKUU – SIer社員の生存戦略」に変更

もともと「Iskkuu」というタイトルは個人的な思い入れが強い名前ですが、
初見の人には意味が伝わりにくい。
そのため、“SIer社員が発信する技術・キャリアブログ”であることを
サブタイトルで補足する形にしました。

このサイトは、たとえ10年後にSIerを離れても
個人ブランドとして継続していく予定なので、
名称そのものは残す方針です。

3.PHPのSitemap生成処理を修正

次に取り組んだのが、PHPの sitemap 生成処理の修正です。

このブログでは、記事を生成するたびに手動でgenerate-sitemap.phpを実行して、 都度sitemap.xml自体に更新をしていました。

しかし、改めてsitemap.xmlを確認すると、 sitemap.xml の最終更新日(lastmod)が正しく反映されていませんでした。

原因は、Markdownのメタデータ構成を途中で変更したのに、 sitemap生成スクリプト側を更新していなかったこと。 自作ブログならではの「管理の甘さ」ですね。

このままだと検索エンジンが更新を検知できないため、 コードを修正し、lastmod が正しく出力されるようにしました。 現在は、記事追加時に php generate_sitemap.php を実行して再生成しています。 将来的にはcronで自動化する予定です。


さらに、これまでsitemap.xmlには index.php と記事しか含めていませんでしたが、
今回の見直しで contact.phpabout.php などの固定ページも追加しました。

以前は「contact.phpが検索結果に出ても誰も見ないだろう」と思って
あえて除外していましたが、
AdSenseの審査的には、サイト構成を正確に示すことが評価されるようです。
そのため、固定ページもきちんと掲載するように修正しました。

4.service.php(個人開発アプリ紹介ページ)の見直し

最後に気づいたのが、service.php の内容不足です。
このページは、個人開発アプリを紹介するためのポートフォリオ的なページですが、
正直、情報量がかなり少なく、未完成の印象を与えてしまっていました。

合計5つのアプリを掲載していますが、
実際に完成度が高いのは1つのみ。
残り2つはある程度動作するものの、残り2つは開発途中のままです。

これらのアプリはVercel上でホストしており、
Googleの審査にどこまで影響したかは不明ですが、
“未完成のサービスが並んでいる”状態はマイナスに見られた可能性があります。

ただ、アプリ自体は直ぐに修正できるものでもないので、 短期的には、作りかけの2つのリンクをコメントアウトし、
残りの3つについては説明文を充実させる予定です。

今後は、完成度の高いアプリを中心に紹介し、
“見せ方”の部分でも価値が伝わるよう改善していく予定です。
このページを整備するだけでも、サイト全体の「有用性」は確実に上がるはずです。

その他の修正点

  • スクロール進捗バーの削除
    見た目はスタイリッシュでしたが、JavaScriptイベントを常時監視する処理のため、クライアント側への負荷が気になり削除しました。
    (※これはサーバー負荷ではなく、ユーザー端末側の処理コストの話です)

  • CSSの微修正
    view_article.phpでmdファイルをパースして表示される機能があります。
    しかし、それがうまく機能しておらず、スクロールしないと本文が表示されない不具合がありました。その点を修正しました。(詳細はこの記事では割愛)

今後の方針

AdSenseは再申請まで2週間の待機期間があります。
今回は一度落ちてしまいましたが、
「ブログの課題」を自分の目で検証できたのは大きな収穫でした。

1. 記事リライトと構造改善

技術的な修正はすでに完了しましたが、
各記事のリライト(内容の充実化)はまだ着手できていません。
1000文字未満の記事はすでに洗い出してあるので、
まずはその6本を中心に追記・校正していく予定です。

記事内容の質を上げることはもちろん、
内部リンクや関連記事の導線など、サイト全体の構造改善も進めていきたいと思います。 これにより、検索クローラーにもユーザーにも「読みやすく伝わるブログ」を目指します。

2. 個人的なこと・気づき

今まではブログを0から作ることに時間を取られていましたが、
マネタイズの観点で考えると、
「ブログそのものの構造よりも、発信する内容の価値」が重要だと実感しています。

なんだかんだ、WordPressなどを使わずに
Apache+PHPでフルスクラッチ構築するのはやっぱり大変ですよね(笑)
でもその一方で、自分で作って動かす経験は何にも代えがたい学びでした。

平日は作業時間が取れないので、
今日の残りと明日でどこまで進められるかが勝負です。
来週は応用情報技術者試験も控えているので、
勉強との両立が課題ですね……(泣)。