タイトルの通り、もともとWordPressだったブログをGatsbyでリニューアルしました。
※一覧のサムネは Midjourney
で作りました
背景
リニューアルのきっかけ、及びモチベーション
- フロントエンドエンジニアなんだからJavaScriptのフレームワーク使いたい
- WordPressの管理画面みにくい・・・
- エディタも使いにくい・・・
- Markdownで記事書きたい
- 学んだ技術のアウトプットとして
リニューアルについて
- サーバー
- 引き続きCORESERVER
- ドメイン移管もなし
- 制作期間
- 約2ヶ月
- 土日にちまちま作っていった
- Gatsbyを選んだ理由
- 前に一度少しさわった
- ネットに情報が多い
- フォローしているエンジニアの方々がGatsbyだった
- GraphQLも触りたかった
- デザインカンプ
- なし
機能や使用ライブラリなど
- TypeScript
- Material UI
- styled-components
- FTP-Deploy-Action
他Gatsbyのプラグインはgatsby-config.jsをみて下さい。
苦労したこと
リダイレクト設定
- Gatsby内で設定されるタグのパスは
gatsby-node
で書き換える - 旧URLは
.htaccess
でリダイレクト
WordPressの記事をMarkdownファイルへ変換
- phpスクリプトを作成する
- サーバーで実行
phpスクリプトの内容とMarkdownファイル作成
- サムネやタイトル、日時などは
Front Matter
に書き出されるようにしておく - 一旦ディレクトリに全て書き出す
- ディレクトリと公開する記事のパスは一致しない
- 記事のパスはMarkdownファイル内の
Front Matter
で制御
- いらないコメント、
HTML
タグを手動削除
自動デプロイ
Github Actions
で設定したFTPの自動デプロイがうまくいかないFTP-Deploy-Action@4.3.1
を使用していた- 必ず途中でエラー終了する。
- おそらくファイル数かタイムアウト
- 2.0.0に落として解決した
SEOまわり
.htaccess
- プラグインで全ての問題を解決できないので使用しない
- 前述の通りリダイレクトや、404に飛ばすために設定。
- ルートディレクトリに404.htmlあったら勝手に見に行くと思っていた
- 確かに
github serve
で確認すると404ページが表示される - しかしデプロイすると404ページが表示されない
- (多分ビルドの設定)
- 確かに
robots.txt
gatsby-plugin-robots-txt
を使用
サイトマップ
gatsby-plugin-sitemap
を使用
GoogleAnalytics
もともとタグマネージャーで管理していたので gatsby-plugin-google-tagmanager
を使用
metaタグ関連
gatsby-plugin-react-helmet
を使用