ガイド

Zenn の記事が非公開のままになる。公開範囲の設定ではなく、アカウントの公開数の上限だった

2026-10-22

この記事で切り分けられること

Zenn に記事を置いたのに公開されない。GitHub 連携で published: true にして push したのに、記事一覧にも出ないし、記事のURLを直接開いても見られない。この状態を3段に切り分けます。

2026年10月22日に、43本を一度に出そうとして実際に詰まったときの記録です。12回デプロイして、公開できたのは2本でした。

先に: 404 と 403 を区別する

これが一番の近道です。記事のURLを開いたときのステータスコードで、止まっている場所が変わります。

curl -s -o /dev/null -w "%{http_code}\n" https://zenn.dev/<ユーザー名>/articles/<slug>

公開済みの記事の一覧は、ブラウザを開かなくても取れます。

curl -s "https://zenn.dev/api/articles?username=<ユーザー名>&order=latest"

ここに出てくるのが「公開できている記事」です。リポジトリ側で published: true にした数と突き合わせると、どこで減っているかが分かります。

第1段: 連携より前の push は拾われない(404 の場合)

GitHub 連携は、連携を設定した後の新しいコミットから動きます。先にリポジトリへ記事を push しておいて、あとから連携を繋いでも、既にあるコミットは読まれません。エラーも通知も出ないので、黙って何も起きないように見えます。

対処は、連携した後に空でいいのでもう1コミット積むことです。

git commit --allow-empty -m "trigger zenn deploy"
git push

もう1つ、連携そのものが成立していない形があります。GitHub の側から先に Zenn Connect をインストールすると、Zenn のダッシュボードに連携が出ません。この場合は GitHub の Settings → Applications から一度外して、Zenn の「リポジトリを連携する」から繋ぎ直します。

第2段: 1回のデプロイで公開されるのは1〜2件

3本を published: true にして push したところ、公開されたのは2本でした。残りはエラーにならず、次のデプロイに回ります。

つまり、まとめて10本出そうとしても、1回では出ません。「出ない」と判断する前に、もう1コミット push して様子を見てください。デプロイの履歴は zenn.dev/dashboard/deploys で見られます(本人のログインが要ります)。

第3段: アカウント単位の公開数に上限がある(403 の場合)

ここが、一番時間を使った場所です。42本を published: true にして、デプロイを12回起こしても、公開は2本から増えませんでした。

第2段の「1デプロイ1〜2件」とは別に、アカウント単位で、一定の期間に公開できる記事数の上限があります。上限に当たった分は、記事としては Zenn に入っているのに公開されない状態になります。このとき記事URLは 404 ではなく 403 を返します。ここが切り分けの鍵でした。届いていないのではなく、届いていて見せてもらえない。

対処は、止めて翌日に回すことです。空コミットを積んでも進みません。リポジトリ側を published: true のままにしておけば、上限が戻った後のデプロイで順に出ていきます。こちらで何かを直す必要はありません。

公開範囲の設定を疑う前に

「公開されない」と「公開範囲」は言葉が似ているので、設定のどこかに非公開のつまみがあるはずだと探しに行きがちです。GitHub 連携で書いている場合、公開範囲を決めているのは記事の先頭の frontmatter だけです。

---
title: "題"
emoji: "🔧"
type: "tech"
topics: ["powershell", "windows"]
published: true
---

published: false なら下書き、true なら公開。これ以外に記事ごとの公開範囲の設定はありません。true にしてあるのに出ないなら、設定ではなく上の3段のどこかです。

まとめ

  1. 記事URLのステータスを見る。404 なら連携、403 なら公開の問題
  2. 連携した後に1コミット積んだか確認する。連携前の push は拾われない
  3. 1回のデプロイで出るのは1〜2件。まとめては出ない
  4. それでも増えないなら、アカウントの公開数の上限。待つ

「push したら出る」という前提で考えると、どこで止まっているか分かりません。連携の成立・デプロイの発火・公開の件数、の3段を別々に確認すると、自分のファイルを疑って無駄に書き直さずに済みます。

同じような作業を自動にできるかどうか、無料でお返しします。いまのファイルと手順を見せてください。

お問い合わせ →