オリジナルの記事はこちら
こんにちは。mono(@mono7555e)です。
今回は新しくブログを立ち上げた際に使ったGatsbyJSとNetlifyのご紹介です。
新しくブログを立ち上げようとしている方やWordPressに疲れた方には参考になるんじゃないかと思います。
GatsbyJSはReactで作られた静的サイトジェネレーターです。
JSONやYAML、XMLなど扱うデータを全て一回GraphQLで取り出せるように変換してくれるので、様々なデータが扱いやすく、コンポーネント化がしやすいという特長があります。
また、プラグインも豊富で大抵の場合、既にプラグインがあるのでそれを使うように設定してあげればOKです。
今回のブログ立ち上げの際にもMarkdownで記事が書けるというのを必須事項にあげていたのでgatsby-transformer-remark
というプラグインを利用してMakrdownファイルをGraphQLで扱えるようにしました。
他にもsitemap.xmlを生成してくれるgatsby-plugin-sitemap
、Google Tag Managerのタグを入れてくれるgatsby-plugin-google-tagmanager
など利用しています。
ブログを立ち上げるとなると真っ先に思い浮かぶのがWordPressだと思います。
ですが、今回は使うのをやめました。
WordPressを使った経験はある方なら分かると思うのですが色々つらみを感じているからです。
WordPressはかなり使われているので様々な方面から狙われやすいです。
セキュリティパッチ等のアップデートを忘れているとすぐに狙われて乗っ取られたり、悪意のあるコードを埋め込められたりする恐れがあります。
前述の通りセキュリティが不安なのでセキュリティパッチが降ってきたらすぐに適用したいのですがカスタマイズをバリバリやっていたりプラグインを使っている場合、それらが邪魔をしてアップデートが出来ないことがままあります。
また、WordPressだけでなくPHPやWebサーバーの管理等も必要なのでその辺りも大変です(レンタルサーバーの場合はその辺り任せられるので楽ですが、カスタマイズがしづらい場合もあります。)
最後はかなり個人的な理由です。
WordPressはPHPで作られているので、ある程度カスタマイズをしようと思うとPHPでコードを書く必要があるのですが、PHPは書いててあまり楽しい言語ではないので出来れば避けたいと思っています。
WordPress以外にもブログをはじめるのに使えるサービスがいくつかありますが、Markdown、アフィリエイト、カスタマイズ性の辺りがマッチせず使うのを諦めました。
有名なところだとAmebaブログ、ライブドアブログ、fc2ブログなどがありますが、それらのブログサービスはMarkdownで記事が書けないので除外しました。
Markdownが使えるのは、調べた限りだとMedium、note、Qiita、はてなブログぐらいですが、それらも他の部分がネックになりました。
使ったことがないので何とも言えないところですが、日本で使っている人が少ない印象で、検索に引っかかることもないのでSEOにも強くなさそうな印象です。
2017年に日本から撤退しているのも気になりました。
アフィリエイトが貼れなかったり、カスタマイズも出来ないのがちょっと辛いかなと。
ただ、有料記事が販売できたりするのでブログとは別に利用しようと思っています。
noteと同様にアフィリエイト、カスタマイズが出来ないのと、プログラミングに関するものしか投稿できないというのがネックです。
もしかしたらめちゃくちゃコードを見せるような記事はQiitaに書くかもしれません。
一応登録だけはしました。
4つの中だと、はてなブログは結構良くてサクッと立ち上げるならオススメです。
独自ドメインを設定する場合は有料プランになってしまいますが気にしない方なら無料版で事足りると思います。
今回はガッツリカスタマイズしたかったのでやめました。
ということでGatsbyJSです。
GatsbyJSはReactベースでGraphQLでデータを扱うというのが当時、流行っていたというのもあって採用することにしました。
WordPressなどと違い事前にHTMLを生成してあるのでレスポンスが高速です。
基本的には静的HTMLを置いておくだけでOKなので、AppサーバーやDBは不要。
後述するNetlify等の静的サイトをホスティングするサービスを使うだけでほとんどの場合事足ります。
公式、非公式に関わらずプラグインが多数あるのと、npmも使えます。
それらの組み合わせで作ることが出来ます。
一方で、ReactやGraphQL、ES6等の知識が必要です。
フロントエンドエンジニアの方であれば問題ないと思いますが、そうでない場合は少しキャッチアップが必要かもしれません。
GatsbyJSを採用したのでホスティングを考えなければなりませんが、GatsbyJSを使うならNetlifyを使うというのがデファクトスタンダードになっています。
なので私も例に漏れずNetlifyを使うことにしました。
静的サイトをホスティングしてくれるサービスです。
GitHubやBitbucketのリポジトリと連携するだけで、pushを検知して自動でビルド、デプロイしてくれます。
基本的には.netlify.com
のサブドメインが設定されますが、独自ドメインを持っていればそれを無料で設定できます。
.netlify.com
のサブドメインであっても、独自ドメインであってもHTTPSにするのは無料で出来ます。
ブランチを切ると自動的にプレビュー用のサイトが自動で作られるので変更内容を公開前に確認できます。
悪いところも書こうと思ったんですが思いつかないですね…
一応、無料だと100GBまでの転送量の制限がありますが、多くても数100MBぐらいしか使わないと思うので全然問題ないかなと思います。
私はブログを立ち上げるときの条件
これらを満たすのがGatsbyJSとNetlifyの組み合わせだったので使用しています。
同じような条件で検討されている方はGatsbyJSとNetlifyの組み合わせがオススメなので是非試してみてください。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント