Bluesky の文字数制限と投稿のコツ
Bluesky は分散型プロトコル AT Protocol 上に構築された SNS です。2024 年 2 月に一般公開され、X (旧 Twitter) の共同創業者ジャック・ドーシー氏が立ち上げたプロジェクトを起源としています。投稿の文字数制限は 300 文字ですが、この「300 文字」の数え方には他の SNS にはない独自の仕組みがあります。本記事では、AT Protocol の技術仕様に踏み込みながら、文字数制限の背景と効果的な投稿術を解説します。分散型 SNS の技術書も併せて参考にしてみてください。
書記素クラスタカウント - Bluesky 独自の文字数計算方式
Bluesky の文字数カウントは「書記素クラスタ (grapheme cluster)」単位で行われます。これは Unicode 標準の UAX #29 で定義された、人間が「1 文字」と認識する最小単位です。この方式は X や Threads のカウント方法とは根本的に異なります。
具体的な違いを見てみましょう。絵文字の肌色バリエーション「👋🏽」は、内部的には U+1F44B (手を振る絵文字) と U+1F3FD (肌色修飾子) の 2 つの Unicode コードポイントで構成されています。X ではこれを 2 文字としてカウントしますが、Bluesky では書記素クラスタとして 1 文字です。同様に、国旗絵文字「🇯🇵」は 2 つの Regional Indicator コードポイント (U+1F1EF + U+1F1F5) から成りますが、Bluesky では 1 文字としてカウントされます。
この仕組みは、家族絵文字のような複合絵文字でさらに顕著です。「👨👩👧👦」は 7 つのコードポイント (4 つの絵文字 + 3 つの ZWJ) で構成されますが、Bluesky では 1 文字です。X では同じ絵文字が 7〜11 文字としてカウントされるため、絵文字を多用する投稿では Bluesky のほうが実質的に多くの情報を詰め込めます。
Bluesky の文字数制限一覧
| 項目 | 文字数上限 | カウント方式 | 備考 |
|---|---|---|---|
| 投稿 (ポスト) | 300 文字 | 書記素クラスタ | リンクカードの URL は文字数に含まれない |
| 表示名 | 64 文字 | 書記素クラスタ | プロフィールに表示 |
| プロフィール (自己紹介) | 256 文字 | 書記素クラスタ | Bio 欄 |
| リプライ | 300 文字 | 書記素クラスタ | 投稿と同じ制限 |
| ハンドル名 | 253 文字 | バイト数 | DNS ドメイン名の制約に準拠 |
| リスト名 | 64 文字 | 書記素クラスタ | カスタムフィード・リスト |
| リスト説明 | 300 文字 | 書記素クラスタ | リストの説明文 |
| ALT テキスト (画像説明) | 10,000 文字 | 書記素クラスタ | アクセシビリティ用 |
注目すべきは、ハンドル名だけがバイト数ベースのカウントである点です。これはハンドル名が DNS ドメイン名として機能するため、RFC 1035 のドメイン名長制限 (253 バイト) に準拠しているためです。また、ALT テキストが 10,000 文字まで入力できる点は、アクセシビリティへの配慮が際立つ特徴です。視覚障害のあるユーザーに対して、画像の詳細な説明を十分な文字数で記載できます。
なぜ 300 文字なのか - AT Protocol の設計思想
Bluesky が 300 文字を採用した背景には、技術的制約とユーザー体験の両面があります。AT Protocol の仕様では、1 レコード (投稿) のデータサイズに上限が設けられています。分散型ネットワークでは各サーバー (PDS: Personal Data Server) がデータを同期するため、1 投稿あたりのデータ量を抑えることがネットワーク全体の負荷軽減に直結します。
ユーザー体験の観点では、X の 280 文字制限からの移行ユーザーが違和感なく使える範囲を意識しています。X より 20 文字多い設定は、「もう少し書きたい」というニーズに応えつつ、短文 SNS としての簡潔さを維持する絶妙なバランスです。
興味深いのは、AT Protocol 自体はテキスト長の上限をアプリケーション層に委ねている点です。つまり、AT Protocol 上に構築された別のアプリケーションが 500 文字や 1,000 文字の制限を設定することも技術的には可能です。300 文字は Bluesky というアプリケーションの設計判断であり、プロトコルの制約ではありません。将来的に Bluesky が文字数制限を変更する可能性も否定できません。
Facets - Bluesky のリッチテキスト処理と文字数への影響
Bluesky の投稿には「Facets」と呼ばれるリッチテキスト機能があります。これはリンク、メンション (@)、ハッシュタグなどのメタデータを投稿テキストに付与する仕組みで、文字数カウントに直接影響します。
リンクの場合、本文中に URL を記述するとその文字列自体が文字数にカウントされます。しかし、リンクカード (外部サイトのプレビュー) として添付した場合、URL は本文の文字数に含まれません。たとえば「https://example.com/very-long-path/to/article」という 50 文字の URL を本文に書くと 50 文字を消費しますが、リンクカードとして添付すれば 0 文字です。この違いを理解しているかどうかで、実質的に使える文字数が大きく変わります。
メンション (@ユーザー名) は、表示されるテキスト部分のみが文字数にカウントされます。たとえば「@alice.bsky.social」と記述すると 19 文字を消費します。ハンドル名が長いユーザーへのメンションは、それだけで文字数を圧迫する点に注意が必要です。
300 文字で効果的に伝える 5 つのコツ
- 結論ファーストで書く。タイムラインでは最初の 2〜3 行が勝負です。Bluesky のタイムラインは投稿の冒頭部分のみを表示し、残りは「もっと見る」で展開する仕様のため、最も伝えたいメッセージを冒頭に配置しましょう。
- 不要な修飾語を削る。「非常に」「とても」「基本的に」などの副詞を削るだけで 10〜20 文字節約できます。日本語の場合、「〜することができます」を「〜できます」に置き換えるだけで 4 文字の節約です。
- 改行で読みやすさを確保する。スマートフォンでの閲覧が中心のため、3〜4 行ごとに空行を入れると視認性が向上します。ただし、改行も 1 文字としてカウントされるため、改行の入れすぎには注意が必要です。
- リンクカードを活用する。URL を本文に書かず、リンクカードとして添付すれば文字数を消費しません。50 文字以上の URL を本文から除外できるため、その分を本文の充実に使えます。
- 投稿前に文字数カウントスで文字数を確認。書記素クラスタ単位のカウントは手動では正確に把握しにくいため、ツールでの事前チェックが安心です。
よくある失敗パターンと回避策
Bluesky での投稿で陥りがちな失敗を、原因と対策を含めて紹介します。
- X と同じ感覚で書き、300 文字に収まると油断して推敲を怠る。X の 280 文字に慣れたユーザーは、20 文字の余裕があるからこそ冗長になりやすい傾向があります。300 文字に収まったからといって推敲を省略せず、「この文は本当に必要か」を 1 文ずつ検証しましょう。
- ハッシュタグを多用する。Bluesky にはハッシュタグ機能がありますが、X のようなトレンド機能やハッシュタグ検索の最適化は発展途上です。タグ 1 つにつき「#」を含めて 5〜15 文字を消費するため、3 つ付けるだけで 15〜45 文字を失います。タグに文字数を割くより、本文の質を高めてカスタムフィードに拾われることを目指す方が効果的です。
- 他の SNS からのコピー投稿をそのまま貼り付ける。X の 280 文字に最適化された文章は Bluesky では中途半端になり、Threads の 500 文字向けの文章は大幅にカットが必要です。さらに、書記素クラスタカウントの違いにより、X で 280 文字ぴったりの投稿が Bluesky では異なる文字数になることがあります。プラットフォームごとに最適化しましょう。
- URL を本文に直接記述する。前述のとおり、リンクカードを使えば URL の文字数を 0 にできます。「詳しくはこちら → https://...」のような書き方は文字数の無駄遣いです。リンクカードを添付し、本文では内容の要約に文字数を使いましょう。
プロのテクニック
Bluesky を効果的に活用するための実践的なテクニックを紹介します。SNS 運用の参考書籍も併せて参考にしてみてください。
- カスタムフィードを活用する。Bluesky の最大の特徴は、アルゴリズムをユーザーが選べる点です。カスタムフィードはキーワード、言語、インタラクション数などの条件で投稿をフィルタリングします。自分の投稿が表示されやすいフィードを把握し、そのフィードのテーマに合った投稿を心がけると、リーチが拡大します。たとえば日本語の技術系フィードに拾われたい場合、技術用語を含む日本語投稿を意識的に行うことが有効です。
- 独自ドメインをハンドルに設定する。Bluesky ではドメイン認証により、自分のウェブサイトのドメインをハンドル名として使用できます (例: example.com)。設定方法は DNS の TXT レコードに認証トークンを追加するか、ドメインの .well-known/atproto-did ファイルに DID を記載するかの 2 通りです。信頼性の向上とブランディングに効果的で、なりすまし防止にも役立ちます。
- スレッド機能で長文を展開する。300 文字で収まらない内容は、リプライを連ねるスレッド形式で投稿できます。1 投稿目にフックとなる結論や問いかけを置き、2 投稿目以降で詳細を展開する構成が効果的です。スレッドの各投稿もそれぞれ 300 文字の制限が適用されるため、各投稿が独立して意味を持つよう構成しましょう。
- 画像の ALT テキストを活用する。ALT テキストは 10,000 文字まで入力可能です。アクセシビリティの観点だけでなく、画像に関する補足情報や詳細な説明を ALT テキストに記載することで、本文の 300 文字を圧迫せずに情報量を増やせます。
他の SNS との文字数比較 - カウント方式の違いに注意
| プラットフォーム | 投稿文字数 | カウント方式 | URL の扱い |
|---|---|---|---|
| Bluesky | 300 文字 | 書記素クラスタ | リンクカードは 0 文字 |
| X (Twitter) | 280 文字 (Premium: 25,000 文字) | NFC 正規化後のコードポイント | URL は一律 23 文字 (t.co 短縮) |
| Threads | 500 文字 | Unicode コードポイント | URL は文字数にカウント |
| Mastodon | 500 文字 (サーバーにより異なる) | サーバー実装依存 | URL は一律 23 文字 |
単純な文字数だけを比較すると Bluesky の 300 文字は X の 280 文字より 20 文字多いだけに見えます。しかし、書記素クラスタカウントにより絵文字や結合文字の扱いが有利なこと、リンクカードの URL が文字数に含まれないことを考慮すると、実質的な情報量の差はさらに大きくなります。SNS の文字数制限一覧も参考にしてください。
まとめ
Bluesky の 300 文字制限は、AT Protocol の分散型アーキテクチャと短文 SNS としての使いやすさを両立した設計です。書記素クラスタカウントによる直感的な文字数計算、リンクカードによる URL の文字数非消費、Facets によるリッチテキスト処理など、他の SNS にはない技術的特徴を理解することで、300 文字の枠を最大限に活用できます。カスタムフィードや独自ドメインハンドルといった Bluesky 固有の機能と組み合わせ、簡潔かつ魅力的な投稿を心がけましょう。投稿前に文字数カウントスで文字数を確認すれば、制限オーバーを防げます。