そのリツイートを数か月前に削除したはずです。それでもプロフィールにはまだ表示され、忘れてしまいたいツイートにしぶとく紐付いたままになっています。これがゴーストリツイートです。削除したと思っていたにもかかわらず、X のサーバーがあなたのアカウントに関連付けたままにしているリツイートのことです。ゴーストリツイートはほとんどのユーザーが思う以上に一般的であり、実際に深刻な影響をもたらします。恥ずかしい過去の意見が再浮上したり、時代遅れのブランドとの関連がタイムラインに溢れたり、プロフェッショナルなアカウントを管理している場合はコンプライアンス上のリスクが生じたりします。朗報としては、無料の Chrome 拡張機能である X Cleaner を使えば、リツイート履歴を一括処理し、1 時間あたり最大 3,200 件のゴーストリツイートを強制削除できます。すべてブラウザ内で完結し、API キーも不要です。

ゴーストリツイートとは何か?

ゴーストリツイートとは、削除済みにもかかわらずプロフィールや X のデータベースに残り続けるリツイート、あるいは公開表示はされていないものの X の内部でアカウントのアクション履歴として依然として記録されているリツイートのことです。この用語は、2 つの異なる現象を指します。

ゴーストリツイートは、2024 年に X がいいねを公開にした際により深刻な問題として浮上しました。この変更をきっかけに、多くのユーザーがエンゲージメント履歴全体を見直すようになり、そこで発見した事実は衝撃的なものでした。削除済みだと思っていた何百件ものリツイートが、プロフィールデータの中に依然として埋め込まれていたのです。

ゴーストリツイートと単なる古いリツイートを区別しておく必要があります。古いリツイートとは、意図的に行い、一度も削除しなかったリツイートです。ゴーストリツイートとは、削除した、または削除したつもりだったにもかかわらず、アカウントに残り続けているリツイートです。この実際的な違いは重要です。X Cleaner のリツイート削除機能は、標準的な削除処理を生き延びるしぶといゴーストタイプを含め、両方の種類に対応するよう特別に設計されています。

ゴーストリツイートは、テキスト投稿の通常のリツイート、メディアを多く含むコンテンツのリツイート、後から取り消そうとした引用リツイートなど、あらゆるコンテンツタイプにわたって発生する可能性があります。それぞれの削除ロジックはサーバーレベルで若干異なるため、そもそもゴーストリツイートが発生する原因の一端はここにあります。

X が削除済みリツイートを表示し続ける理由

「リツイートを取り消す」をクリックすると、X はサーバーに削除リクエストを送信します。理想的なシステムであれば、そのリクエストは即座に処理され、プロフィール、元ツイートのリツイート数、X の内部記録といったあらゆる場所からリツイートが消えるはずです。しかし実際には、クリックから完全な削除まで、いくつかの問題が発生する可能性があります。

レート制限:X の書き込み操作にはレート制限があります。特に大量に素早くリツイートを取り消すと、プラットフォームはリクエストを絞り込み、一部を受け付けたように見せながら実際には処理しません。UI 上では「削除済み」と表示されても、バックエンドでは処理が完了していないのです。

サーバーサイドの伝播遅延:X は分散インフラ上で動作しています。あるサーバークラスターで確認された削除が、他のすべてのクラスターに正しく伝播するまでに数分から数時間かかることがあり、場合によっては正しく伝播しないこともあります。これはプラットフォームの負荷が高い時期に特によく発生します。

キャッシュされたタイムライン:X はパフォーマンスのためにタイムラインデータを積極的にキャッシュします。削除が正常に完了した後でも、プロフィールのキャッシュバージョンが訪問者に古いリツイートを表示し続ける期間が予測できないかたちで生じる場合があります。

クライアントサイドの同期障害:モバイルアプリと Web クライアントはローカルの状態を保持しており、サーバーと同期が取れなくなることがあります。接続が不安定なタイミングでリツイートを削除した場合、ローカルの UI は削除を確認していても、サーバーがリクエストを受信していない可能性があります。

結果として、中途半端に削除されたコンテンツが散在する混乱した状態になります。標準的な個別削除ではこの問題を確実には解決できません。だからこそ、X Cleanerは削除リクエストを制御されたバッチ単位で再送信し、次に進む前にサーバーの応答確認を行う仕組みを採用しています。単発の「送りっぱなし」コマンドに依存するのではなく、確実な削除を実現しています。

ゴーストリツイートが残り続ける技術的な理由

ゴーストリツイートがなぜこれほど根強く残るのかを理解するには、X がリツイートデータを内部でどのように管理しているかを見る必要があります。

リツイートを行うたびに、X のデータベースには 2 つのレコードが作成されます。リツイートオブジェクト自体(リツイート参照フィールドを持つツイートエンティティ)と、アカウントのツイートインデックスへのエントリです。リツイートを削除する際は、この両方が削除されるはずです。そうならない場合にゴーストが発生します。リツイートオブジェクトが削除されてもインデックスの参照が残る、あるいはその逆の状態になるのです。

3,200ツイートの上限: XのパブリックAPIは、ユーザーの最新3,200件のツイートおよびリツイートしか取得できません。それを超えるコンテンツはロックされており、Xのバックエンドからはアクセスできますが、標準的な削除ツールからは見えません。リツイートの履歴が長い場合、数年前のゴーストリツイートがアカウントのデータに残っており、パブリックタイムラインのエンドポイントのみに依存するツールではアクセスできない可能性があります。

ソフトデリート: Xは一部のコンテンツにソフトデリートの仕組みを採用しているとされており、レコードが物理的に削除されるのではなく「削除済み」としてフラグが立てられます。つまり、「削除された」リツイートが非アクティブな状態でデータベースに残り、プラットフォームの表示ロジックが変更された場合や、フィルタリングされたビューではなく元のレコードからデータエクスポートが行われた場合に、再び表示される可能性があります。

サードパーティのキャッシュ: 検索エンジン、Wayback Machineなどのアーカイブサービス、およびX独自の検索インデックスは、削除が成功した後もリツイートのスナップショットを保持することがあります。これらは誰の直接管理下にもなく、GoogleへのDMCAリクエストなど、別途対応が必要です。

復元可能なリツイートについては、アプローチは明確です。アクセス可能な履歴を順に処理し、それぞれを強制削除します。それがまさにX Cleanerのリツイート削除機能が行うことであり、ブラウザ上で完結しながら1時間あたり最大3,200件を処理します。

プロフィール上のゴーストリツイートを見つける方法

削除を始める前に、何が残っているかを把握しておくと役立ちます。アカウント上のゴーストリツイートを特定する方法をご紹介します。

プロフィールを直接確認する: Xのプロフィールにアクセスし、リツイートのみを表示するフィルターを使ってツイートを確認します。スクロールしながら、残しておくつもりがなかったものや、すでに削除したと思っていたものにフラグを立てます。手間がかかりますが、公開されている内容をそのまま確認できます。

Xのデータアーカイブをダウンロードする: Xでは、「設定」→「アカウント」→「データのアーカイブをダウンロード」から完全なデータエクスポートをリクエストできます。アーカイブにはretweet.jsというファイルが含まれており、公開されていないものも含め、アカウントが過去に行ったすべてのリツイートが記録されています。これは、公開3,200件の範囲から外れたゴーストリツイートを見つける最も確実な方法です。

X Cleanerで履歴をスキャンする: 拡張機能をインストールしてXのプロフィールを開くと、アクセス可能なリツイート履歴をスキャンして一覧表示します。すでに部分的に処理されたコンテンツや、以前の削除処理で失敗したコンテンツにフラグを立てます。これはまさにゴーストリツイートに特有のパターンです。

検索でクロスチェックする: Xでfrom:yourusername filter:retweetsを検索すると、Xの検索インデックスがリツイート済みと認識しているコンテンツを確認できます。その一覧とプロフィール上で表示される内容に差異がある場合、ゴーストリツイートが存在する信頼性の高い指標となります。

数十件や数百件見つかった場合、標準UIを使った手動削除は現実的ではありません。「リツイートを取り消す」を1回クリックするだけで、読み込み時間を含めて2〜5秒かかります。500件のゴーストリツイートをそうやって削除すると、ノンストップでクリックし続けても30〜40分かかり、失敗した場合のリトライ機能もありません。それがまさにX Cleanerのようなツールが解決するために作られた課題です.

手動での対応方法とその限界

ゴーストリツイートを手動で削除する方法は3つありますが、いずれも重大な欠点があります。

方法1:リツイートを1件ずつ取り消す。 プロフィール上の各リツイートに移動し、リツイートアイコンをクリックして「リツイートを取り消す」を選択します。件数が少なければ有効ですが、大量には対応できません。さらに重要な点として、一度削除に失敗したゴーストリツイートに対してこの方法を試みると、再び失敗することが多いです。最初にゴーストが生じた原因と同じインターフェースを通じて、同じリクエストを繰り返しているためです。

方法2:X組み込みの一括ツール。 Xは限定的な一括管理機能を導入していますが、リツイートには実質的に対応していません。複数のリツイートを選択して一括削除するネイティブのインターフェースは存在しません。

方法3:APIを使用するサードパーティツール。 一部のツールはXのデベロッパーAPIを使用してリツイートをプログラムで削除します。問題は2つあります。まず、APIの利用には承認済みのデベロッパーアカウントが必要で、取得に数週間かかる場合があり、拒否されることもあります。次に、APIベースのツールは標準アクセス層では15分あたり約50回の書き込み操作に制限されており、1時間あたり約200件の削除にしかなりません。これはブラウザベースの代替手段と比べて16倍遅い速度です。

手動での対応はゴーストリツイートに対して共通の失敗パターンも抱えています。サーバー側の問題で最初の削除が失敗した場合、同じリクエストを繰り返しても同じように失敗するのが通常です。新しいセッションコンテキストでリトライし、部分的な失敗を処理し、最初のエラーで止まらずにキューを体系的に処理できるツールが必要です。

緊急で削除が必要なゴーストリツイートが1件であれば、手動対応で問題ありません。しかし20〜30件を超える場合は、クリーンアップツールを使用することをお勧めします。自動リトライに対応し、長時間にわたって処理を継続できるものが理想的です。

X Cleanerがゴーストリツイートをどのように削除するか(1時間あたり最大3,200件)

X Cleanerは無料のChrome拡張機能で、削除処理をブラウザセッション内で直接実行します。APIキー不要、サードパーティサービスへのログイン不要、データがお使いの端末の外に出ることもありません。ゴーストリツイートへの具体的な対応方法を以下に説明します。

セッションベースのリクエスト: 厳しいデベロッパークォータが設定されたXのパブリックAPIを使用するのではなく、X Cleanerはお使いのログイン済みブラウザセッションを通じてリクエストを行います。これはXのウェブアプリが行うのと同じ方法です。つまり、サードパーティツールを低速にしている厳格なデベロッパーAPIの制限ではなく、アカウントの通常のセッション制限のもとで動作します。

リトライロジックを備えた一括削除: X Cleaner は削除リクエストを制御されたバッチで送信し、レート制限の発動を避けるためにグループ間で一時停止します。各バッチの後、どの削除がサーバー側で確認されたかをチェックします。ゴーストリツイートでよく起こるようにリクエストが失敗した場合、処理を先に進めて作業を未完了のまま放置するのではなく、再試行キューに追加します。これが手動削除との決定的な違いです:サーバーが成功を確認するまで、粘り強く再試行し続けます。

処理速度: この拡張機能は、通常の条件下で1時間あたり最大3,200件のリツイート削除を処理します。サーバー負荷によりその半分の速度であっても、1時間で1,600件のゴーストリツイートを一掃できるため、手動で達成できる範囲をはるかに超えています。

アカウント全体への対応: リツイート以外にも、X Cleaner はいいね、DM、ブックマーク、通常のツイート削除を同じインターフェースから処理します。アカウントを完全にリセットすることが目的であれば、複数のコンテンツタイプをキューに追加してバックグラウンドで実行することができます。

プライバシーを重視した設計: すべてがブラウザ内で実行されるため、認証情報やツイートの内容が外部サーバーに送信されることはありません。X のセッショントークンはお使いの端末の外に出ることがなく、ブランドや法人アカウントのクリーンアップを行う場合に重要です。

プロフィールを今後もクリーンに保つために

ゴーストリツイートを一度削除するだけでは不十分です。それを生み出した行動が続く限り、同じ問題が繰り返されます。新たなゴーストリツイートが蓄積される可能性を減らすための習慣をご紹介します。

意図を持ってリツイートする: 最もシンプルな予防策は、衝動的なリツイートを控えることです。投稿をリツイートする前に、それが自分のプロフィールに永久に表示されても問題ないかどうかを考えてください。削除が毎回完全に機能するとは限らないためです。

定期的なクリーンアップを実施する: 30〜60日ごとに X Cleaner を実行するリマインダーを設定してください。ゴーストリツイートが数百件に膨れ上がる前に早期に対処することで、各クリーンアップ作業が大幅に速くなり、3,200件の上限を超えて回収が困難になるリスクも軽減されます。

データアーカイブを監視する: X のデータアーカイブを四半期ごとにダウンロードしてください。retweet.js ファイルにはリツイート履歴の総数が記録されており、前回のクリーンアップ時に見逃したゴーストリツイートを簡単に見つけることができます。

コメントには引用リツイートを活用する: 引用リツイートは技術的には、埋め込みの参照を含む自分自身のツイートです。この記事で前述した分割レコード構造を生み出すネイティブリツイートと比べて、クリーンに削除しやすいという特徴があります。

プラットフォーム障害後に確認する: X は2022年以降、複数の大規模な技術的障害やインフラ移行を経験しています。大きなプラットフォーム障害が発生した後は、リツイートの監査を実施することをお勧めします。サービス低下中に削除リクエストが失敗しやすくなるため、こうした状況ではゴーストリツイートが最も多く発生します。

リツイート履歴をクリーンに保つことは、見た目の問題だけではありません。レコメンデーションアルゴリズムによるアカウントの評価、コンテンツの検索結果への表示、そして法的または業務上の理由でデータエクスポートが必要になった際の内容にも影響します。X Cleaner を使った定期的なクリーンアップは、長期的にプロフィールのコントロールを維持するための最も手間のかからない方法です。

よくある質問

ゴーストリツイートは他のユーザーに表示されますか?

タイプによって異なります。サーバー側で削除が失敗した「可視型」のゴーストリツイートは、公開プロフィールに表示され続け、他のユーザーのタイムラインにも現れる場合があります。「不可視型」のゴーストリツイートは X の内部データベースとデータエクスポートにのみ存在し、公開されているいかなる画面にも表示されません。どちらのタイプか不明な場合は、公開プロフィールに表示されている内容と、X データアーカイブ内の retweet.js ファイルを照合してください。

ゴーストリツイートを削除すると、元のツイートのリツイート数に影響しますか?

X がリツイートの削除を正常に処理した場合、元のツイートのリツイート数は1つ減るはずです。サーバー側で正しく削除されなかったゴーストリツイートの場合、カウントはすでに未削除の状態を反映している可能性があります。X Cleaner が再試行ロジックによって削除を強制した後、元の投稿のカウントが減少する場合があります。ほとんどの場合、変化は小さく、外部から見てもほとんど気づかれないものです。

すでに削除したリツイートが X に表示されるのはなぜですか?

これにはいくつかの原因が考えられます:サーバーエラーやレート制限による削除リクエストの失敗、まだ更新されていないキャッシュされたタイムラインデータ、または1つのサーバークラスターでの削除が他のすべてのクラスターにまだ反映されていない分散サーバーの伝播遅延などです。複数回の削除試行後も残り続けるゴーストリツイートには、標準インターフェースを通じて同じリクエストを繰り返すのではなく、新しいセッションコンテキストで再試行するツールが必要です。

API キーなしでゴーストリツイートを削除できますか?

はい。X Cleaner はブラウザセッションを通じて完全に動作し、ログイン済みの X タブと同じ認証を使用します。デベロッパーアカウント、API 認証情報、サードパーティへのログインは一切不要です。無料の Chrome 拡張機能をインストールし、X のプロフィールに移動して、削除プロセスを直接開始するだけです。また、X Cleaner はデベロッパー API ツールに課される厳格な書き込み制限(1時間あたり約200件の削除が上限)の対象外となります。

X Cleaner は1時間に何件のゴーストリツイートを削除できますか?

X Cleaner は1時間あたり最大3,200件のリツイート削除を処理できます。このツールはゴーストリツイートと通常のリツイートを区別しないため、この速度はゴーストリツイートにも同様に適用されます。大量の未処理件数がある場合は、日付範囲フィルターを設定して古いゴーストリツイートのみを対象にしつつ、最近のアクティビティはそのまま残すことができます。これは、履歴全体を一括削除するのではなく、選択的なクリーンアップを行いたい場合に便利です。

ゴーストリツイートは X のデータアーカイブに表示されますか?

はい。X のデータアーカイブは、削除試行前のリツイート作成時点でデータを記録します。つまり、公開では表示されなくなったものを含め、ゴーストリツイートもアーカイブ内の retweet.js ファイルに表示されます。したがって、データアーカイブは X Cleaner でクリーンアップを開始する前に、ゴーストリツイート問題の全体的な規模を把握するための有用な診断ツールとなります。