前置き
エアコンが壊れたことにより痛風発作を誘発したやまぐろです!
まあ足が痛くても座り作業はできるってことで、AIさんと一緒にコーディングしてみました。
そんで完成したのが、URLを指定すると、タイトルやメタ情報、Hタグ、OGPの有無などを静的にチェックできる簡易的なSEOツールです。
こんな感じ↓

作成時にこまったこと
ツール自体の使い方はシンプルなので特に説明はしませんが、その代わりにツール作成時に困ったことを上げていこうと思います!
被リンク収集は大手の専売特許
よくあるSEO解析ツールに必ずある被リンク。これを自前でどうにかするのは色々検討した結果無理であると判断しました。
というのも、被リンクってどうやって調べるかって言うと、クローラー(検索エンジンや独自のボット)でWeb全体を巡回してリンクを収集する仕組みなんですよね。なので、やろうと思ったらまずクローラーを作らなければなりません。
技術的にはできそうなんですが、個人で
- 世界中の何十億サイトを巡回
- それを毎日実施
- データベースに格納(信じられないくらいデカい)
をやるのは現実的には不可能です。で、選択肢として挙げられるのが外部APIの利用です。
大手SEO企業(AhrefsとかMozとか)がAPIを用意してくれているので、これを利用すれば必要な情報を取得することができます。しかし、利用には少なからずコストがかかってきます。
ちょっとハードル高いかなと思い、被リンク機能は諦めました。大手ってやっぱりすごいですね。
個人開発では静的解析が限界
結局のところ個人でデータを持っているわけじゃないので、上記の被リンクしかり、キーワード分析とか競合分析もできません。
できるのは「指定されたURLを静的解析する」くらいなのです。大正義ビックデータ!
なので、最終的には簡易的な解析ツールとなりました。
やっぱりデバッグは大変
機能を絞ったとはいえ、AIが生成してくれたソースを試験環境に配置し、動かしてみる。バグがあったらAIに修正依頼を出すか、自分で直すかする。ってことを何度も繰り返す訳なので、結構時間はかかりました。
それと、AIはバリデーションが緩いクセがあるので、その辺をメンテナンスしたりも必要です。
それでも修正は早く、だいぶ開発速度は上がるんですけどね。
今回の学び
今回久しぶりにAIと一緒にコーディングをしたことで、新しい発見がありましたので、紹介していこうと思います
仕様調整から一緒にやってもいい
いままではマークダウンでざっくり仕様書作ってから、一緒にコーディングするスタイルだったのですが、今回は「どういうツールを作るか」から一緒にやってみました。
上に挙げたように、個人でできること、できないことを検討したり、最終的な落としどころを検討したりと、かなり活躍してくれたと思います。
もちろん頭に作りたいものがあるのであればその方がいいと思いますが、アイデアがなくとも動くものが作れる、というのは体験としてだいぶ面白いと思いました。
昔だったらオライリーのリファレンス開いてVBAとかやるのが入口でしたが、今はより手軽にモノ作り体験ができます。いい時代だなあ。いま学生に戻りたいぜ!
UI(スタイルシート)はおまかせでいい
個人でやると毎回UIが面倒臭くて萎えるのですが、ここはAIさんにお願いするとそれっぽい感じにしてくれます。良くも悪くも整っててAIっぽさが出てしまうものの、LPとかじゃなければそんなに気にならないかと思います。
例えば、業務システムのバックオフィスのUIとかなら、このままでもいんじゃね?ってくらいのクオリティにはしてくれます。
もちろん画面項目などの要素は人間が主導したほうがいいのですが、見た目部分に関してはある程度まかせちゃっていいかな、という所感でした。
モジュール分割もできた
今回コーディングを続けていくうちに、1ファイルのソース量が1Kを超えるくらいに肥大化してしまいました。これを役割でモジュール分割して、とお願いしたところ、かなりキレイに分割を行うことができました。(ただ、しっかりコードが動かなくなりましたw)
場合によってはかなり頑張ってデバッグしなければいけないですが、度リファクタリング的なこともお願いできそうですね。ここに関しては人間がやってもかなりミスる部分ですし。
バージョン管理はやったほうがいい
これまでは特にバージョン管理せずにやっていましたが、今回はGitLabで資材管理を行ってみました。
全部自分でコーディングをしているのであれば、どこをどうしたって覚えてられるのですが、AIにまかせると自分の脳にリビジョンが残らないんですよね。これを解決するためにバージョン管理を導入することにしました。
実際に今回、モジュール分割をしたときに動かなくなったり、修正によりデグレったりがかなり多かったので、バージョン管理が大いに役立ってくれました。
設定が面倒だったのもありバージョン管理までしか行っていないのですが、次はデプロイも自動でできるようにしたいですね!
最後に
本業ではずっとExcelおじさんしているので、最近コーディングの感覚が鈍ってきている気がします。。プライベートで手だったり頭を動かすようにしなければ。。SEに最も必要なのはデバッグ力、間違いない。
コーディングをやったことがない方も是非、AIと一緒にツール作りを試してみてください。なお、おすすめはPowerShellです!環境構築が不要なので!
コメント