メインコンテンツへスキップ
、約 2 分

TechCatのブログ記事をはてなブログに自動クロスポストする仕組みを作った

自分のドメインでブログを運用しているのですが、 自分のサイトだけだとどうしても見てもらえる機会が少なくて、 ブログを更新するモチベがなかなか上がらない問題がありました。

そこで、はてなブログと自分のサイトの両方にブログを公開して 見てもらえるようになれば!という思いつきで、 両方のサイトにブログを自動で公開できるように対応してみました。


仕組みはシンプルです。

PRに crosspost:hatena というラベルをつけてマージすると、 GitHub Actionsが動いて自動でクロスポストしてくれます。

やっていることはこれだけ。

  1. 新しく追加されたMDXファイルを検出
  2. フロントマターからタイトルと本文を解析
  3. 画像パスを絶対URLに変換
  4. 末尾にTechCat側へのリンクを追加
  5. はてなブログ公式API(AtomPub)で投稿

一点、SEO的に同一コンテンツが複数存在すると評価が下がる可能性があるので、 はてなブログ側は noindex になるように対応しました。 TechCat側を正として、はてなブログは流入の入り口という位置づけです。


実際に作ってみて、思ったよりずっと簡単でした。

はてなブログのAtomPub APIがわかりやすくて、 MDXの解析も大きくハマることなくすんなり動いた。

クロスポストしたい記事はラベルをつけるだけなので、 記事ごとに投稿するかどうかを選べるのも使いやすいです。