※本記事は仕組みの紹介であり、X の利用規約に反しないことを保証するものではありません。
実運用する場合は自己責任でお願いします。
はじめに
X(旧Twitter)には文字数制限があります。
日本語環境であれば「全角140文字」前後(半角280文字)という制限があり、
長文を書こうとすると「あと◯文字です」と怒られてしまいます。
一方で、X では「URL」はどんなに長くても 23文字としてカウントされる という仕様があります。
つまり、本文に書ききれない内容を URL の中にエンコードしてしまえば、
見かけ上は「23文字1個分」で投稿できてしまう わけです。
この記事では、
- テキストを URL に埋め込むためのツール
- その使い方
- BAN や SEO 的なリスク
についてまとめます。
X における文字数カウントと URL の扱い
まず前提となる仕様です。
- 通常のテキスト → 1文字ずつカウント
- URL → 実際の長さに関わらず 一律 23 文字としてカウント
- 内部的には
t.coの短縮URLに変換されるため
- 内部的には
そのため、
今日はこれこれこういう事情があって……(長文)
をそのまま書いてしまうと文字数オーバーでも、
今日はこれこれこういう事情があって… 詳細は ↓
https://uni928.github.io/TestYou/index3.html?d=...
のようにして、本当の長文を URL 側に逃がしてしまえば、
X 上では「本文+URL(23文字分)」として投稿可能になります。
テキストを URL に埋め込むツール
今回使うツールはこちらです:
- テキスト → 圧縮 → Base64 → URL パラメータ
- URL → Base64 → 解凍 → テキスト表示
という流れで、URL のクエリ部分に文章を押し込む仕組みになっています。
ツール本体(GitHub Pages 上):
ブラウザだけで完結し、localStorage / IndexedDB などは使っていません。
使い方
- 上記サイトを開く
- 画面左側のエディタに、X に書ききれない長文のテキスト(あるいはHTML)を入力する
- 右側の「共有用URL」が自動で生成される
- 「URLをコピー」ボタンでコピーする
- X の投稿画面で、短い説明文+コピーしたURLを貼り付けて投稿
- URL をクリックしたユーザーには、ツールの「表示モード」でテキストだけが表示される
ざっくり言えば、
X には要約だけ載せる
本文は URL に全部押し込んで、クリックして読んでもらう
という運用になります。
仕組みのざっくり解説
技術的には、以下のような流れで処理しています:
- 文字列を LZ 形式で圧縮
- 圧縮後のバイナリ風文字列を UTF-8 → Base64 に変換
-
?d=...&m=...のようなクエリパラメータとして URL に埋め込む - 閲覧時は逆順で
- Base64 → UTF-8 文字列
- LZ 解凍
- HTML モードなら
innerHTML、テキストモードなら<pre>で表示
X 側から見ると:
- 単なる「ちょっと長い URL」が貼られているだけ
- 文字数カウント上は 23 文字として扱われる
という状態になるため、
「見かけ上は文字数制限を回避している」ように見えます。
メリット
この方法を使うと、次のようなメリットがあります:
- X 上では文字数制限に引っかからず、長文を“実質”投稿できる
- 1ポストで完結する(スレッド連投が不要)
- サーバーサイドなしで、静的HTMLだけで実現できる
- テキストだけでなく簡単なHTML(見出しや強調)も持ち込める
- note などのアカウント登録・投稿作業が不要
また、URL に全テキストを含めているので、
別途データベースを持たなくても「URLさえ残っていれば内容も残る」というのも地味に便利です。
デメリット・注意点
一方で、デメリットやリスクも無視できません。
1. X の規約的なリスク(BAN の可能性)
- X の仕様を「明示的に悪用」して制限を回避しようとしている、と見なされる可能性があります
- スパム的な用途(大量投稿・誘導・広告)に使えば、
アカウント制限 / BAN の対象になりうることは間違いありません - 運営のさじ加減次第な部分もあるため、
少なくとも業務やビジネス用途で多用するのは避けた方が無難 です
あくまで「こういう仕組みは技術的には可能だよ」という紹介に留め、
実運用するかどうかは自己責任で判断してください。
2. URL が長くなりすぎる問題
- 圧縮+Base64 をしても、元テキストが長いと URL 自体もかなり長くなります
- 一部のクライアント・メッセンジャーでは、あまりにも長いURLは途中で折り返されたり、
正しくリンク認識されない可能性があります - ブラウザや環境による URL 長さの上限にも注意が必要です
3. SEO が弱くなる / よくない
- クエリパラメータにガッツリとエンコードされたテキストを載せているだけなので、
検索エンジンから見た「意味のある URL」にはなりにくいです - コンテンツ自体も JavaScript で復元して表示しているため、
クローラによっては内容をうまく認識できない可能性があります - 「テキストを世に残して検索で拾われたい」という意味での SEO には、ほぼ向きません
4. 可読性が低い
- URL を見ただけでは中身が全くわからない
- 自分自身でも、後から見たときに「これ何のURLだっけ?」となりがち
あくまで「文字数制限の裏技」寄りであり、
一般的な運用上のメリットはかなり限定的です。
どんな用途ならアリか?
個人的には、次のような用途であれば「ネタとして」使う余地はあるかな、と思います:
- 技術的な遊びとしての紹介(このQiita記事のようなもの)
- フォロワー向けの小ネタ・ゲーム的な投稿
- 自分用のメモを X に置きつつ、詳細は URL で参照したいときの“実験”
逆に、
- 公式アカウント
- ビジネス用途の宣伝
- 多数のユーザーを誘導する重要なリンク
では、前述の「BAN リスク」や「SEO 的な弱さ」が重くのしかかるので、
この方法は避けるのが無難です。
また、外部の URL 短縮サイトをかませることで、X 側の利用規約に反する事はなくなります。(URL の長さが普通のものになるため、仕様を回避するという面が無くなるためです)
操作手順が増えて本末転倒かもしれませんが、外部の URL 短縮サイトで長い URL が投稿できるサイトを探すのも良いかもしれません。
まとめ
- X では URL が 一律 23 文字 としてカウントされる
- その仕様を利用し、
- テキストを圧縮+Base64化
- URL パラメータに埋め込む
- 専用のビューアページで復元して表示
という形で、見かけ上の文字数制限を“回避”することができる
- 実装例として、以下の静的サイトを用意した:
- ただし、
- 規約的にグレー / 利用方法によっては BAN リスク
- URL が極端に長くなる
- SEO が弱い・可読性が低い
といったデメリットも大きい
技術的には面白い遊び場ではありますが、
実運用する場合はくれぐれも 自己責任 で、
X の利用規約や周囲のユーザーへの影響を踏まえたうえでの利用をおすすめします。
仮に X で投稿できなくなった場合でも、外部の URL 短縮サービスを経由すれば投稿できるようになります。
文字数制限のない短縮URLサービスを利用することで、URL全体を直接貼るよりも SEO の面で有利になる場合もあり、
X 側の制限と SEO の弱さの両方をある程度回避できます。
以上、「X の文字数制限を URL にテキストを押し込んで回避する」アイデアと、
それを実現するためのサイトの紹介でした。
再掲:
https://uni928.github.io/TestYou/index9.html
閲覧ありがとうございました。