WordPress のプラグイン「Coverpeek – Auto Thumbnails with Live Preview」を、wordpress.org の公式ディレクトリで公開しました。
- 紹介ページ: Coverpeek|rcwas
- wordpress.org: Coverpeek – Auto Thumbnails with Live Preview
アイキャッチ画像が未設定の投稿に、記事タイトル入りの画像を自動で作ってアイキャッチに設定するプラグインです。
設定画面で背景や文字の位置を変えると、仕上がりをその場でプレビューできます。
もともとは自分のサイト(SWELL の子テーマ)に組み込んでいた機能でした。
ただ、当時は設定画面もなく、テーマの中で決め打ちで動いているだけでした。
今回、テーマに依存する部分を取り除いてどのテーマでも使えるようにし、設定画面やライブプレビュー、背景画像の選択、文字の色・サイズ・位置の調整、固定ページやカスタム投稿タイプへの対応など、機能をかなり足したうえでプラグインにしました。
元になった仕組みと、実ファイル保存に作り直した経緯はこちらに書いています。
この記事は、審査に提出してから公開されるまでを書く全3回の連載の1回目です。
- 第1回: 提出と、名前の差し戻し(この記事)
- 第2回: 承認後、SVN で公開するまで
- 第3回: 公開後の翻訳(translate.wordpress.org)
先に書いておきますが、私は英語が苦手です…!
審査のメールや公式のガイドは基本的に英語なので、Google 翻訳で日本語にしながらざっと読み、最後に AI に要約してもらって、自分の理解がずれていないかを確かめる、というやり方で進めました。
そのうえで、今回いちばん時間がかかったのが「名前」でした。
結論から書くと、名前の本体は固有の造語にして機能を匂わせる程度にとどめ、機能の説明は副題に任せる、という形に落ち着きました。
提出前にやったこと
名前の話の前に、提出までの準備を簡単に書いておきます。
公式ガイドラインとの照合
まず、公式のガイドライン(Detailed Plugin Guidelines)とプラグインを1項目ずつ照らし合わせました。引っかかったのは、メインファイルのヘッダーで Author: が空欄だった1点だけでした。
ライセンスは、wordpress.org の要件に合わせて GPLv2 or later にしています。
同梱している日本語フォント(Noto Sans JP Bold)は SIL OFL なので、そのライセンス文も一緒に入れました。
Plugin Check で警告を0件にする
公式の Plugin Check プラグインを入れて、WP-CLI から実行しました。
wp plugin check <slug> --include-experimental途中で出た警告は2つです。
1つ目は uninstall.php で使っていた変数 $site_id でした。
Global variables defined by a theme/plugin should start with the theme/plugin prefixuninstall.php はグローバル空間で動くので、関数の中でなくても変数名にプラグインの接頭辞が必要、ということのようです。変数名にプラグイン共通の接頭辞を付けて $aotg_site_id にし、解消しました。
2つ目は .gitignore です。
隠しファイルは許可されません。こちらは提出用の zip には入らないファイルなので問題ありません。--exclude-files=.gitignore で除外して実行し、エラー・警告ともに0件になることを確認しました。
提出用の zip
zip は「必要なものだけを入れる」方式で作りました。メインファイル、uninstall.php、readme.txt、LICENSE、includes/、assets/、languages/ の7つです。.git や開発用のメモ、隠しファイルは入れていません。権限もファイル 644、ディレクトリ 755 にそろえています。
21ファイルで約4.2MB でした。
大半は同梱フォント(約4.7MB の OTF を圧縮したもの)です。
上限は10MB なので余裕はあります。
提出直後に届いた「Review in Progress」
審査に提出すると、次の件名のメールが届きました。
[WordPress Plugin Directory] Review in Progress: {プラグイン名}「Review in Progress」なので審査中の連絡かと思いましたが、中身は差し戻しでした。
却下ではなく、「指摘を直して、このスレッドに返信してください」という内容です。
指摘の1つ目が名前でした。原文はこうです。
"Live Thumbnail Generator" is a generic descriptive name and is too close to existing thumbnail/featured-image generator naming in the directory.この指摘には ✨ のマークが付いていて、AI が判定した項目であることが示されていました。代わりの名前として Rcwas Title Thumbnail Generator(スラッグ rcwas-title-thumbnail-generator)も提案されていましたが、これは採用しませんでした。「rcwas」は私の屋号ですが、プラグインを探している人からすると「rcwasって何…?」となるのではと思ったからです。名前の先頭に屋号を置くのは意味が伝わらないと判断しました。
実はこれが2回目の改名です。最初は「Auto OGP Thumbnail Generator」という名前で作っていましたが、wordpress.org に auto-ogp-thumbnail-generator と auto-thumbnail-generator がすでにあり、しかも機能もほぼ同じでした。そこで、ほかのプラグインにないライブプレビューの機能を名前に入れて「Live Thumbnail Generator」にしていました。
正直なところ、「一般的な名前のプラグインはたくさんあるのに、なぜ…」と思わなくもなったのですが、ここで悩んでいても進まないので、指摘に沿って名前を考え直すことにしました。
名前を直すときに求められること
差し戻しのメールには、名前を直すときの条件も書かれていました。要点をまとめると次のとおりです。
- 自分のブランドや造語など、固有の語を名前の先頭に置く。「Advanced」「Simple」のような汎用的な語を足すだけでは足りない
- 表示名は
readme.txtとメインファイルの両方で変える。スラッグを変える場合は、text domain などコード側も変える - 新しいスラッグの予約を、返信の中で明記する。コードや表示名を変えただけでは予約されない。承認後はスラッグを変えられない
- 返信は短くてよい(全体を審査し直すので、変更点を並べる必要はない)。新しいメールを送るのではなく、届いたスレッドに返信する
3つ目は見落としやすいと思います。私は修正版の zip をもう一度アップロードしたうえで、返信に新しいスラッグの予約をお願いする一文を入れました。
名前を決めた3つの基準
名前を考えるときに重視したのは、次の3つです。
- 似た名前・似た商品がない
- 発音しやすく、言いやすく、語呂がよい
- 名前から機能が伝わる
ただ、3つ目をそのまま追いかけると「Thumbnail Generator」のような説明的な名前に戻ってしまい、また「汎用的」と指摘されかねないと思いました。
そこで、3つ目は名前の本体では匂わせる程度にとどめ、はっきりした説明は副題に任せることにしました。
似た名前がないかを確認する方法
wordpress.org には、プラグインの情報を取得できる公開 API があります(読み取り専用で、ログインは不要です)。スラッグの空きと名前の類似は、これで確認しました。
スラッグがすでに使われているかどうかは、次のように調べます。
curl -s -g "https://api.wordpress.org/plugins/info/1.2/?action=plugin_information&request[slug]=<候補>"使われていなければ、次のように返ってきます。
{"error":"Plugin not found."}名前に似たものがないかは、キーワードで検索します。
curl -s -g "https://api.wordpress.org/plugins/info/1.2/?action=query_plugins&request[search]=<語>"URL に [ ] が入るので、curl には -g を付けます。付けないと curl が [] を範囲指定として解釈してしまい、何も返ってきません。
wordpress.org の中だけでなく、Web 検索で同じ名前の製品・会社・GitHub のプロジェクトがないかも確認しました。
候補と、落とした理由
| 候補 | 結果 |
|---|---|
| Thumbcraft | AI サムネイル生成サービスなど、同じ分野ですでに使われていた → 却下 |
| Titleshot | WordPress の中には同名がなかったが、別分野のサービスで使われていて、金融関連の登録商標もあった → 見送り |
| Titlecard Live | 「title card」は一般的な語で、また「汎用的」と指摘されそう → 却下 |
| Coverpeek | 同名の製品・会社・プラグインが見つからなかった。cover(カバー画像)+ peek(のぞく=プレビュー)で機能も匂わせられる → 採用 |
候補を探しているうちに気づいたのですが、「Title」を含む名前は、英語圏で検索すると不動産の権利証書(title)を扱う業界ソフトが大量に出てきます。名前で検索したときに埋もれやすいので、避けたほうがよさそうでした。
副題で機能を説明する
名前の本体を造語にしたぶん、何をするプラグインなのかは副題で伝えます。ここにも落とし穴がありました。
最初は副題に「Auto Thumbnail Generator」と入れるつもりでしたが、まさにこの名前のプラグイン(auto-thumbnail-generator)がすでにありました。副題に同じ言い回しをそのまま入れると、やはり類似と見られるおそれがあります。そこで「Auto Thumbnails with Live Preview」として、ほかにないライブプレビューを前に出しました。
最終的な名前は Coverpeek – Auto Thumbnails with Live Preview、スラッグは coverpeek です。
なお、公式の開発者 FAQ には、表示名は5語以内が最も効果的とあります。今回の名前は6語なので少し超えていますが、審査では特に何も言われませんでした。
タグは5個まで
タグは5個までです。検索で見つけてもらえるように thumbnail generator を入れたかったので、代わりに seo を外しました。
改名すると、どこまで直すことになるか
名前を変えるのは、プラグインのヘッダーを書き換えるだけでは終わりません。
今回、手を入れたのは次の範囲になります。
- メインファイルのファイル名
- Text Domain(38か所)
- 設定画面などに表示される名前
- 翻訳テンプレート(
.pot)のファイル名 readme.txtと、GitHub のREADME.md- ストア用のバナー(名前が画像に入っていた)
- スクリーンショット4枚(設定画面の見出しに旧名が写っていた)
- 自サイトの紹介ページ(URL、タイトル、OGP 画像、sitemap、旧 URL からの301リダイレクト)
- GitHub のリポジトリ名
名前だけの修正でしたが、数時間かかりました。画像や URL にまで影響するので、名前は最初に固めるべきだと改めて感じました…。
これからプラグインを作る方は、コードを書き始める前に、上の API と Web 検索で名前を確認しておくことをおすすめします。
承認まで
差し戻しの翌日に修正して返信し、その翌日には承認のメールが届きました。
提出からおよそ2日です。差し戻しがあったわりには、思っていたより早かったです。
承認のメールを見たときは、とにかくホッとしました…!
「一般的な名前のプラグインはたくさんあるのに、やっぱり名前がダメだったのか」とは思いましたが、あとから考えると、「一般的な名前だとユーザーが探しにくい」というのもわかります。
似た名前が並んでいたら区別がつきませんし、昔からあって信頼されているプラグインに勝てないでしょう。
なお、今回の名前の確認は「Web 検索と wordpress.org の検索で見つからなかった」というレベルで、法的な商標調査ではありません。気になる方は、特許庁の J-PlatPat などで商標も確認しておくとよいかと。
次回は、承認のあと SVN を使って実際に公開するまでを書きます。「コミットした瞬間に公開されて、取り消せない」という仕組みだったので、かなり緊張しました。
第二回はこちら。


