X(旧Twitter)のポストを埋め込み表示できるようにする(Next.js)
Next.jsで制作したサイトでXのポストを表示するための方法を紹介する。結論から言うと記事を表示するためのarticleコンポーネントに以下のようにコードを追加した
編集内容
"use client"; // クライアントサイドでの処理(useEffect)が必要なため追加
// 1. 先頭で Script をインポート
import Script from "next/script";
// ...中略
export default function Article({ data, relatedContents }: Props) {
// --- X(Twitter)の埋め込みを再描画する処理 ---
useEffect(() => {
// ページが表示された時に、埋め込みツイートをスキャンして表示させる
// @ts-ignore
if (window.twttr && window.twttr.widgets) {
// @ts-ignore
window.twttr.widgets.load();
}
}, [data]); // 記事データが変わるたびに実行
if (!data || !data.main) {
return <div>記事が見つかりませんでした。</div>;
}
// ...中略
return (
<>
{/* X(Twitter)のウィジェットスクリプトを読み込み */}
<Script
src="https://platform.twitter.com/widgets.js"
strategy="afterInteractive"
/>
{/* ...以下、既存のコード */}主な変更点
主な変更点は以下の2点です。
- next/script の導入: X(Twitter)の表示に必要なJavaScriptを読み込む。
- useEffect の追加: ページを切り替えた時にも、確実にツイートが表示(レンダリング)されるようにする。
microCMSでXのポストを埋め込む方法
以前以下の記事で紹介したhtmlをそのまま埋め込む方法を利用した。Xの「ポストを埋め込む」というところから貼り付けるだけ
実際の埋め込み
事前にlocalhostかつmicroCMSのプレビューで表示確認をしたが、問題なく表示されることを確認した
今週もお疲れ様でした pic.twitter.com/rpEYG723zM
— もなか (@monaka496) December 19, 2025
まとめ
今回、うまくXのポストを表示できるようにすることができた。ほかの無料ブログやWordpressでは当たり前にできることだろうけれども、無料で運用しているサイトなので一つ一つ地道に機能追加を進めていこうと思う。

Next.js+ヘッドレスCMSではじめる! かんたんモダンWebサイト制作入門 高速で、安全で、運用しやすいサイトのつくりかた
