Flutter webで行ったSEO対策
はじめに
このブログはFlutter webで実装されています。
また下記URLの通り、Flutter公式からちゃんとSEO対策を行いたい場合はHTMLで構築することを推奨しています。
https://docs.flutter.dev/platform-integration/web/faq#search-engine-optimization-seo
それでもFlutter webにこだわりたかった自分が行ったSEO対策を記載します。
metaタグの設定
<title>idonun.blog</title>
<meta name="description" content="主にiOS/Flutterを開発しているいどぬんです。趣味はカメラ(SONY α7 III)とドラム。最近ギターとベースを始めました。">
web/index.htmlのheadタグ内にtitle, descriptionを設定しています。
TitleWidgetを使用する
@override
Widget build(BuildContext context, WidgetRef ref) {
return Title(
title: 'title',
child: ~
);
}
Title Widgetを使用すると、titleで記載した内容にtitleタグの値が変わります。
これによりページ毎にあったタイトルをつけることが可能です。
ただしdescriptionはindex.htmlの記載のままなので、書き換える方法があったら教えていただきたいです。
Google Search Console
Google Search Consoleでindexされているかチェックしました。そうしたらブログの詳細ページはindexされていないことに気付きました。
なので下記の2つを対応しました。
1. Google Search ConsoleのURL検査を行い、index登録を行う
Google Search ConsoleのサイドバーにあるURL検査をクリック。
ブログ詳細ページのURLを入力し、まずはindexされているかチェック。indexされていないので、indexされるように登録する。
これを詳細ページ分行いました。
2. Google Search Consoleのサイトマップ設定
そもそもまだサイトマップの設定を行なっていませんでした。なので作成しました。
まずは web ディレクトリに sitemap.xml を作成します。
sitemap.xmlの書き方には下記を参考にしてみてください。(自分はブログを書くたびに sitemap.xml に記載するのは面倒だったので、自動生成するスクリプトを作成しました。)
https://digital-marketing.jp/seo/what-is-sitemapxml/
期最後本番公開を行い、 https://~/sitemap.xml でサイトマップが表示されるか確認。
もしちゃんと表示されれば、Google Search Consoleに移動し、サイドバーの「サイトマップ」をクリックします。
その後「新しいサイトマップを追加」にサイトマップのURLを入力します。
このようにすることでsitemapを見てGoogleが定期的にクロールしてくれるようです。
最後に
SEO対策をしたい場合はHTMLでと公式が言っていますが、Flutter Webでも色々とSEO対策できそうです。
これからも出来ることはやっていこうと思います。