notionを使ったブログを無料で!google cloudとnetlifyを使ってみた

maintenance

やりたかったこと

notionを使ったブログを作りたいのですが、自分でCSSとか作りたくないし、wordpressを使いたい。でもお金は払いたくない、、ということで試行錯誤しました。

結果いい感じに実現できました。ただgoogle cloudを使っているので0~1円/月程度かかっていて、サイトが大きくなると無料ではないかもしれません。

なお、pythonだけ趣味で触ったことのある程度の素人です。コードを自分で書いている部分もほぼコピペとchatGPT様によるものです

仕組み

  1. wordpressをgoogle cloud engine上のVMの無料枠で開設
  1. netlifyでサイトを開設
  1. notionで記事を書く
  1. 日次でnotionの記事とwordpressの差を確認して更新
  1. wp2staticを使ってnetlifyへデプロイ

うまく整理して書けないけどこんな感じです。

それぞれメモを開設していきます

1:wordpressをgce上で

こちらは多くの記事があり助かりました。以下など。

ただし初心者には大変難しい作業でした。

2:netlifyを使う

上記wordpressをそのまま使ってもいいのですが、google cloudでドメインを設定すると毎月30円くらい課金されているのが気に食わなかったのです。

加えて無料枠だけあって動作が遅い気がしていました。

そこで無料で使えるnetlifyにwordpressのサイトを静的に?コピーする形にしました

3:notionで記事を書く

書くだけなら簡単ですが、notionAPIを使って取る形などはnotionでblogをやっている方々を参考にしました

正直このままでとても便利に使えていたのですが、人と全く同じはあれだし、かといってCSSをいじるのも大変だし、と言うことで

notionからデータを取り出す部分だけ使わせてもらっています

私はpythonしか触ったことがないので読み解きながら書き直しました。。

4:日次でnotionの記事とwordpressの差を確認して更新

pythonで差分取得してwordpressに投げる部分は自分で書きました。なんとか動いたけど今後も動くかどうか。

かいたコードをgoogle cloud functionにあげて、cloud schedulerで起動する形にしました。PubSubをトリガーにしました。HTTPSでやるのは仕組みがよくわからないので。

5:wp2staticを使ってnetlifyへデプロイ

プロの方にとってはなんでもないと思いますがすごい時間がかかりました。pythonでSSHしてwpのコマンドを叩くと言うのの作り方がよくわからず。まずSSHというものを理解するところからで。。

出来てしまえば簡単。paramikoというパッケージを使って4で作ったコードの最後にdeployする部分を書いただけです。

感想

いろんな仕組みを使えて楽しかったです。google cloudの料金が分かりにくすぎて、無料化どうか怪しいけれど今のところいけています。

herokuが有料になった時に一度閉じたブログだけど再公開出来てよかった。数年かけてvercelからheroku、google cloud、netlifyとサーバを移していっています。やっぱりwordpressが使えると見た目コロコロ変えれて気分がいい。

コメント