1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Xの自動投稿をOGPリンクから画像直接添付に切り替えたら、インプレッションが改善した話

1
Posted at

TL;DR

  • Xのアルゴリズムは外部リンク付き投稿の配信を抑制する
  • OGPカードの画像はタイムライン上で小さく、視認性が低い
  • 画像を直接添付 + リンク削除に切り替えたことで、タイムラインでの占有面積と配信の両方が改善

背景

JEPXスポット電力価格を毎朝Xに自動投稿するbotを運用しています。

当初の投稿フォーマット:

【明日のスポット価格 4/18(土)】

全国平均 12.19円/kWh
前日差 −2.23
最高 35.83円 (18:30 東京)
最低 3.00円 (09:30 北海道)

詳細 → https://enegent.jp/jepx/spot?d=2026-04-18

#JEPX #電力市場

テキスト + 外部リンク。リンク先のOGPメタタグで画像が表示される構成でした。

問題1: 外部リンクがアルゴリズムに嫌われる

Xのアルゴリズムは、ユーザーをプラットフォーム内に留めたいため、外部リンク付き投稿の配信優先度を下げることが広く知られています。

実際、投稿のインプレッションがほぼ自分のアカウント群からのアクセスのみで、フォロワー外への配信がゼロに近い状態でした。

新規アカウント(2026年4月開設)という不利な条件はあるものの、外部リンクがさらに足を引っ張っていると判断しました。

問題2: OGPカードの画像が小さい

OGPカード(summary_large_image)の表示は、タイムライン上では画像が小さく圧縮されます。10エリア×10列のデータテーブルを1200×628のOGP画像に詰め込むと、スマホではフォントが潰れて読めません。

一方、画像を直接添付すると、タイムライン上でより大きく表示されます。特に**4:5縦型(1080×1350px)**は、フィード上の占有面積が最大になるフォーマットです。

解決: 画像直接添付 + リンク削除

変更後の投稿フォーマット

【明日のスポット価格 4/18(土)】

全国平均 12.19円/kWh
前日差 −2.23
最高 35.83円 (18:30 東京)
最低 3.00円 (09:30 北海道)

#JEPX #スポット市場

+ 1080×1350の画像を直接添付。外部リンクは削除

画像の変更

項目 Before(OGP) After(直接添付)
サイズ 1200×628 (16:9) 1080×1350 (4:5)
表示形式 OGPカード ネイティブ画像
フォントサイズ 20pt 30pt
行の高さ 44px 112px
タイムライン占有

実装の変更点

1. media.write スコープの追加

前回の記事の訂正で詳述しましたが、OAuthスコープに media.write を追加するだけで画像アップロードが可能でした。

SCOPES = ["tweet.read", "tweet.write", "users.read", "media.write", "offline.access"]

2. 投稿スクリプトの変更

# Before: テキストのみ投稿(URLカードで画像表示)
res = subprocess.run([
    sys.executable, "scripts/x_oauth.py",
    "--account", "bot", "tweet",
    "--file", str(text_path),
])

# After: 画像生成 → media upload → 画像付き投稿
subprocess.run([
    sys.executable, "scripts/render_jepx_image.py",
    "--date", target_date,
    "--output", str(image_path),
])

res = subprocess.run([
    sys.executable, "scripts/x_oauth.py",
    "--account", "bot", "tweet",
    "--file", str(text_path),
    "--media", str(image_path),  # 画像添付
])

3. 画像レイアウトの変更

Pillowで描画する画像を1200×628の横型から1080×1350の縦型に変更。

# Before
OUTPUT_W, OUTPUT_H = 1200, 628   # OGP用16:9

# After
OUTPUT_W, OUTPUT_H = 1080, 1350  # 4:5縦型

縦型にしたことで行の高さを44px→112pxに拡大でき、フォントサイズも20pt→30ptに。スマホのタイムラインで指を止めて読めるサイズになりました。

4. テキストから外部リンクを削除

# Before
lines.append(f"詳細 → https://enegent.jp/jepx/spot?d={target_date}")

# After(この行を削除)
# サイトへの誘導は画像内のブランドロゴ(enegent.jp)で十分

まとめ

変更 理由
外部リンク削除 Xアルゴリズムによる配信抑制を回避
OGP → 画像直接添付 タイムラインでの表示サイズを最大化
16:9 → 4:5縦型 フィード占有面積を最大化、フォント拡大

「リンクを貼ればクリックしてもらえる」という発想は、Xのアルゴリズムの下では逆効果です。 リンクを削って画像で情報を完結させ、ブランドは画像内に自然に配置する方が、結果としてリーチもブランド認知も伸びます。

関連

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?