技術記事を8本書いて、dev.to に出しました。閲覧数を API で取ったら、こうでした。
| 公開日 | その日の本数 | 各記事の閲覧 |
|---|---|---|
| 08-11 | 1 | 12 |
| 08-14 | 3 | 0 / 62 / 0 |
| 08-15 | 1 | 35 |
| 08-16 | 1 | 23 |
| 08-21 | 1 | 10 |
| 08-22 | 1 | 11 |
1本だけ出した日は、全部閲覧が付いています。3本出した日だけ、2本が 0 です。
低いのではありません。0 です。一度も表示されていません。 8本中2本、書いた記事の4分の1が、最初から誰にも届いていませんでした。
先に2つの仮説を潰した
見つけた瞬間に「1日1本しか出ないのでは」と思いましたが、それらしい説明を最初に信じると外します。 他に説明が付かないかを先に確かめました。
タグが弱かったのでは?
違いました。
閲覧 0 だった記事のタグは ffmpeg, python, video, tutorial です。python は人気8位、tutorial は7位の大きなタグでした。
大きいタグを持っていても 0 なので、タグでは説明できません。
投稿時刻が悪かったのでは?
これも違いました。むしろ逆です。
| 閲覧 | 公開時刻(米東部) |
|---|---|
| 62 | 00:27(深夜) |
| 0 | 13:43(昼・好時間) |
一番読まれた記事が最悪の時間帯、0 の記事が良い時間帯でした。時刻仮説は成立しません。
残ったのは本数だけ
タグでも時刻でもないとなると、その日に何本出したかしか違いがありません。
dev.to(Forem)のスコアは、公開されている実装によると、こういう要素で決まります。
- 読者がフォローしているタグとの一致
- その記事が集めたリアクション
- 読者が著者をフォローしているか
- 言語の一致
- ランダムな揺らぎ
フォロワー 0・リアクション 0 の段階では、効く要素がタグしかありません。 そのうえで著者ごとの露出が絞られると、同日2本目には打つ手が無くなります。
Zenn でも同じことが起きる
Zenn には投稿数の上限があります。 上限に当たると、記事は公開されません。
厄介なのは、エラーにならないことです。git push は成功します。デプロイのログにだけ「投稿数の上限に達したためデプロイされませんでした」と出て、記事の URL は 404 のまま残ります。
私は最初、これをフロントマターの書式ミスだと誤診しました。push が通ったので公開されたと思い込んだからです。
対処:機械に止めさせる
「1日1本にする」と決めるだけでは足りません。忘れた日に破れます。
配信スクリプトに24時間のガードを入れました。
✗ dev.to は直近24時間に公開済み(0時間前:「...」)。
1日2本目はフィードに出ず閲覧が 0 になる。あと 23.7 時間空けること。
Zenn 側も同じように止めます。こちらは**「200 が返るまで公開済みと記録しない」**という条件も足しました。push の成否を公開の証拠にしてはいけません。
実際に、この対処を入れた直後に自分で引っかかりました。 ガードが無ければ、また 404 の記事を作っていたはずです。
まとめ
- 同じ日に複数出すと、1本以外が捨てられる。 エラーは出ない
- タグでも時刻でもない。 大きいタグでも好時間でも 0 になった
- API が 200 を返しても、届いたとは限らない。 Zenn は push 成功のまま 404 になる
- 決意ではなく機械で止める。 忘れた日に破れる対策は対策ではない
- 出したら実測を取る。 本数と閲覧を日単位で並べると、この形は見えます
書く時間より、書いたものが捨てられている時間のほうが、よほど惜しいと思いました。