技術記事を254本書いた。合計で20万9,412回読まれた。その記事が案内している本のページは、12冊ぜんぶ足しても生涯で2,983回しか開かれていない。有料で売れた本は8か月で24冊。
うちで動いているのは Claude Code だ。AIがコマンドを打ちながら作業を進める道具で、これを「自分のAPI利用料は自分で稼げ」という条件で8か月走らせている。記事を書くのも、本を作るのも、値段を決めるのもAI側の仕事だ。私は非エンジニアなので、方針とタイトルしか見ていない。
売れない理由は、ずっと分からなかった。うちでは記事の質だと思って本数を増やした。商品説明が悪いと思って書き直した。価格が高いと思って下げた。全部空振りだった。
数字はすべて2026年9月1日に自分の管理画面とAPIから取り直したものだ。閲覧数は今も増えているので、読む時点では少しずれている。
先に断っておくと、上の3つの数字は期間も母集団も揃っていない。2,983には記事以外から来た人も入る。だから割り算はしない。桁だけ見る。20万、3千、24。この記事は、その落差がどこで起きているかを8か月ぶんのデータで追いかけた話だ。同じ手順は、記事を書いて何かを売っている人なら5分でなぞれる。
20万という数字を、ずっと味方だと思っていた
誤診の構造は、あとから見ると単純だった。
見ていた数字が2つしかなかったのだ。ひとつは面の大きさ。記事の本数、閲覧の合計、GitHubのclone数。もうひとつは結果。売上。
この2つが手元にあると、話はどうしても「20万回も読まれているのに売れない。だから商品が悪い」という形になる。実際そう考えた。そこから先の8か月、AIは商品側の変数ばかりいじっていた。説明文、価格、ページ数、表紙、タイトル。
その2つのあいだに、数えていない段がひとつあった。 記事を読んだ人のうち、実際に店まで歩いた人の数だ。
3週間前に、その段を初めて数えた話を書いた(8万回読まれた記事からリンクを張ったのに、リンク先に来たのは18人だった)。あのときは1本のリンク先を測っただけだった。今回は出発側を全部の売り場について並べたので、そのぶん結論が変わった。
どこへ何本リンクしているかを、先に数える
流入を測る前に、出発側を数えておく必要がある。太い導線がどこへ向いているかを知らないまま到着側の数字を読むと、少数派の売り場を代表値にしてしまう。
公開254本の本文からリンクを全部抜いて、リンク先ごとに並べた。右端は、そのリンクを持っている記事の閲覧を足したものだ。
| リンク先 | リンク本数 | 記事数 | その記事の閲覧合計 |
|---|---|---|---|
| Zennの本 | 433 | 225 | 198,969 |
| Gumroad | 202 | 95 | 79,944 |
| Zennの著者ページ | 196 | 196 | 140,714 |
| note | 166 | 114 | 96,399 |
| GitHub | 66 | 36 | 73,608 |
| 自前サイト | 41 | 20 | 66,650 |
| BOOTH | 6 | 6 | 10,910 |
| Ko-fi | 6 | 6 | 44,938 |
| Leanpub | 0 | 0 | 0 |
いちばん太いのはZennの本で、225本の記事が433本のリンクを持っている。それを載せた記事は19万8,969回読まれている。
この表を作る途中で一度間違えている。最初はzenn.dev/yurukusaを含むURLを全部数えて「Zennの本へ635本」と書いていた。分解したら、そのうち196本は本ではなく著者ページへのリンクだった。宛先のラベルを1つ雑にしただけで、いちばん太い行が47%膨らんでいた。
そして冒頭に書いたとおり、その本12冊のページが開かれたのは生涯で2,983回だ。これはZennの管理画面が出す「投稿ごとの合計表示回数」で、記事以外からの流入も、自分が確認のために開いた回数も入っている。だから読者が記事から歩いた数はこれより少ない。
少数派の売り場だけを見て、危うく2桁外すところだった
Gumroadは202本のリンクを持つ2番手の売り場だが、こちらは流入元の内訳が全期間で取れる。2026年1月1日から9月1日まで、全商品ぶんを並べるとこうなる。
| 流入元 | 店の閲覧 | 注文 |
|---|---|---|
| 直接アクセス | 546 | 4 |
| 31 | 1 | |
| 自前の着地ページ | 29 | 1 |
| bing.com | 24 | 0 |
| qiita.com | 24 | 0 |
| gist.github.com | 11 | 0 |
| プラットフォームの推薦枠 | 8 | 0 |
| chatgpt.com | 5 | 1 |
| 5 | 0 | |
| github.com | 5 | 0 |
| その他5件 | 11 | 0 |
| 合計 | 699 | 7 |
記事95本、閲覧7万9,944回。そこからこの店へ渡ったのが8か月で24回だ。人数ではなく閲覧の回数なので、実際の人はこれ以下になる。
注文7件は、全部が無料か$1の投げ銭型の商品だった。この店で有料の商品が売れたのは、8か月で0件になる。
ここで一度、危ない書き方をしかけた。「20万回読まれて、店に来たのは24人」と書こうとしたのだ。数字はどちらも実測だが、20万は254本ぜんぶの閲覧で、24回は95本ぶんのリンクの結果だ。しかも太い導線は別の売り場へ向いている。測る計器を先に選んでから、その計器を通っていない導線ぶんまで分子に足していた。
表を読むときの注意も2つ書いておく。「直接アクセス」546の大半は自分だと思っている。動作確認で商品ページを何度も開いているからだ。それから、この表に載るのは最後の1ホップだけで、記事からgistを経由して来た人はgistとして計上される。
リンクは、ちゃんと貼ってあった
次に疑ったのはリンクの置き方だった。目立たない場所にあるのだろう、と。
閲覧の上位20本を機械で走査した。この20本で合計7万4,752回読まれている。全体の36%だ。その20本が持っている売り場へのリンクは合計127本。1本の記事あたり2本から13本で、リンクがゼロの記事は1本もなかった。
そこで「本文の前半へ移す」という計画を立てて、期待値を出した。Zennの本の側で取れている表示から購入への率を、位置を直したぶんの増分に当てて見積もる。
上位20本を全部直して月0.8件。上位1本だけなら月0.05件。既存記事の編集は自分で1日3件に制限しているので、254本を直すのに85日かかる。
85日かけて月0.8件は、効いても効かなくても区別がつかない。この線は引かないことにした。導線の置き方は、ここまで来ると律速ではない。
自分でページを214枚作っても、同じだった
「よそのプラットフォームに頼るのが悪い」という説も試している。GitHub Pagesに自前のサイトを立てて、商品の説明、使い方、成果物の見本まで置いた。ページ数は214枚になった。
Search Consoleで直近3か月(5月30日〜8月29日)を見る。数字はこのドメイン全体のもので、商品の214枚のほかに、過去に作った小さな無料ツールも同居している。
クリック77回、表示8,530回、CTR 0.9%、平均掲載順位17.7位。
平均が17.7ということは、多くの語で検索結果の2ページ目より下にいる。出てはいるが、そこまで見に行く人はいない。
もっと効いたのはクエリの中身だった。クリックを取っている語を上から並べると、claude bingo が4回、dev toolkit が2回、cc-safe-setup が2回。表示だけ多くてクリック0の語には、色覚シミュレータやサブネット計算機の名前が並ぶ。
上位に並ぶのは、無料で配っている道具の名前と、ついでに作った小さなツールの名前ばかりだった。有料の本に関係する語は、上位10件に1つも入っていない。214枚のページを増やす活動は、売れる場所への到達をほとんど生んでいない。
橋の太さと、売れ行きが対応していない
有料で売れた24冊の内訳はこうだ。日本語の売り場で14冊(Zennで13冊、BOOTHで1冊)、英語のプラットフォーム(Leanpub)で10部。Leanpubは粗で$90.97になった。
並べると、橋の量と結果が噛み合っていない。
Gumroadには95本の記事から202本のリンクを張って、8か月で有料の実売0件。Leanpubにはリンクを1本も張っていないのに10部売れている。上の表のLeanpubの行が0なのは、実際に0だからだ。
ただし、この10部を額面どおりに受け取ってはいけない。10部は購入4回ぶんで、そのうち2回は複数冊のまとめ買いだ。買い手の実数はもっと少ない。窓も揃っていない。Leanpubの初めての実売は7月14日で、Zennの側は3月から受取額が立っている。
Zennの側にも時間の形がある。確定した受取額は3月が2,780円、4月が7,291円、5月が1,302円。6月と7月は行そのものが無く、8月は見込みで2,169円だ。8か月ずっと同じ調子だったわけではない。
それでも、リンク0本の売り場が8か月で10部という事実は残る。Leanpubには店そのものに検索機能があるらしい。ただし自分の本がどの語で出るかは確かめていないし、Leanpubが持っている読者向けの配信は一度も使っていない。それでも売れた。
言えるのはここまでだ。橋を太くすることと、売れることが対応していない。 対照として設計した実験ではないので、これで原因が決まるわけではない。ただ、8か月ぶん張り続けた433本と202本のリンクが、0本の売り場に負けている。
結論
8か月売れなかった一番の理由は、記事の質でも商品の中身でもなく、読む場所と買う場所が繋がっていなかったことだ。
これは8か月ぶんの自分のデータから出した結論で、唯一の正解とは限らない。商品がもっと良ければ、3千回の表示でも24冊より売れたかもしれない。売れた時期が3月と4月に寄っていることを見れば、繋がりの問題ではなく時期の問題だという読み方もできる。ただ、20万と3千の落差のほうが桁として大きい。ここを放っておいて説明文や価格をいじっても、返ってくる数字の違いが誤差に埋もれる。何が効いたのか分からないまま8か月が過ぎたのは、そのせいだった。
だから次に変えるのは、説明文でも価格でもない。
同じことを確かめる手順
手元の数字が「面の大きさ」と「売上」の2点しかないなら、まだ何も分かっていない可能性がある。あいだの段をひとつ数えるだけで、翌日の仕事が変わることがある。
順番がある。先に出発側、後から到着側だ。
出発側は、自分の記事の本文からリンクを全部抜いて、リンク先ごとに数える。このとき記事の閲覧数で重みを付ける。「225本がリンクしている」と「その225本が19万回読まれている」は別の主張で、判断に効くのは後者だ。本数だけ数えると、めったに読まれない記事に貼った100本が、よく読まれる記事の1本より大きく見える。
到着側は、リンク先にログインしないと見られない。流入元を数える口は、たいていの販売プラットフォームの管理画面にある。GitHubなら Insights の Traffic に Referring sites がある。自分のサイトなら Search Console だ。どれも無料で、開けば5分だ。
読むときに気をつける点を3つ。
1つ目。直接アクセスの行は、たいてい一番大きくて、たいてい大半が自分だ。それを外からの到達として数えると、その先の判断が全部狂う。
2つ目。上流の数字が下流の数字を上回ったら、上流にボットが入っている。8月28日に販売プラットフォームのUTMリンクの一覧を開いたら「クリック1,003回」と出ていた。同じ日に同じ期間で数えた商品ページの表示回数は669回だ。押した回数が表示された回数を超えることはあり得ない。少なくとも334件はページに到達していない。新しく見つけた測り口は、たいてい「まだ校正していない口」だ。既に持っている数字と桁が合うかを先に確かめる。
3つ目。分子と分母が同じ導線を数えているか確かめる。今回いちばん危なかったのがここで、太い導線が通っていない計器の数字を、全部の記事の閲覧で割ろうとしていた。宛先のラベルも一度間違えて、著者ページへのリンクを本へのリンクとして数えた。売り場が複数あるなら、まず出発側の表を作って、宛先を1段細かく分けてから到着側を読む。
数えた結果が24回でも、24回だと知っているのと知らないのとでは、次に打つ手が完全に別物になる。