SEO対策が便利になる「SEOタグ自動取得ツール」
URLのリストから、SEO対策に重要なtitleタグやdescription、keywordの内容を一括してcsvファイルで取得するWebサービス「SEOタグ自動取得ツール」を作成してみました。
SEOタグ自動取得ツール
https://webfan.jp/tools/getmeta/
WebサイトやブログのSEO対策として、titleタグとdescriptionは特に重要な要素だと言われていますが、Webサイトのページ数が多くなれば多くなるほど、どのページにどのような内容が設定されているのかが分かりにくくなり、対策すべき情報の収集だけで相当に大変です。
でも、この「SEOタグ自動取得ツール 」を利用すれば最大1000件までのページについて、ボタン一つで情報を取得することができます。
自分で言うのも何ですが、便利ですね(笑)
「SEOタグ自動取得ツール」制作の舞台裏
さて、この「SEOタグ自動取得ツール 」
「URLのリストからtitleタグなどを取得してくるだけ」と、至ってシンプルな機能しかありませんが、実は裏側では色々なめんどくさい処理を行っています。
そのほとんどはエラー処理に関するもので、単純なWebサービスでも実際の機能以外に色々なことを考えなければならないんだよ……ということを実例としてご紹介したいと思います。
ふだんはWebサービスを使うだけの方は興味本位で、これからWebエンジニアやプログラマーを目指そうという方は何かの参考に、すでにエンジニアの方は「これが足りてねーぞ?」とツッコミを入れながらお読みください。
(1)URL以外の文字が入力されたらどうする?
「SEOタグ自動取得ツール 」のURLを入力するテキストボックスには、あらゆる文字が記入可能になっています。
URLとして明らかにおかしい文字や普通の文章を入力されるだけならまだしも、意図的にプログラムコードが入力されてサーバーにハッキングされたとしたら最悪です。
こう言ったリスクは、入力ボックスのあるWebプログラム全般に言えることで、常に「どのような文字が入力されても、サービス側で適切に処理する」ことを念頭に置いておく必要があります。
「SEOタグ自動取得ツール 」では、URLとして正常なものであるかを判断することはもちろん、もしプログラムが入力されても、それが実行できないようにする処理を組み込んで対応しています。
(2)存在しないページのURLが入力されたらどうする?
処理しようとするURLがすべて正常なページであるとは限りません。たとえば 「URLに対応したページが存在しない」「サーバーエラーで一時的にページが表示されなくなっている」などのケースが考えられます。
「SEOタグ自動取得ツール」では このようなケースではエラーなどは表示されず、プログラムの処理途中で「false(失敗)」という応答があるだけです。
エラーでなければ問題がないように思えますが、使い勝手(ユーザーインターフェイス)の観点では一考の余地があります。少なくともプログラムの内部で「false(失敗)」となっていることを、Webサービスの利用者が知る方法を用意しなければなりません。
今回はページの取得が失敗した場合はcsvの該当行に「error」と表示することで、それとわかるようになっています。
(3)同じ人が実行ボタンを押しまくったらどうする?
Webサイトに大量のアクセスによる高負荷をかけることで、サーバーの動作を遅くしたり、動作を停止させてしまう攻撃手法(いわゆるDos攻撃)は昔からあるものですが、現在でも有効な攻撃手段です。
「SEOタグ自動取得ツール 」 では、意図的に大量の処理がおこなわれないように、あらかじめ考えておく必要がありました。
そこで、同じパソコン(IPアドレス)からは60秒に1回しかリクエストを受け付けないように、プログラム処理の中に組み込んでおきました。
もし、このWebサービスが注目されて「正当なアクセスが大量に発生」するようになったとしたら、それはまた別の話です。
その時には、サービスのニーズに合わせた高機能なサーバーに引っ越しするなどの根本的な対策を検討しなければなりません。
(4)集計したcsvファイルが山のように溜まってきたらどうする?
「SEOタグ自動取得ツール 」 では、csvファイルのダウンロードを実現するために、プログラムで生成したcsvファイルを一時的にサーバーに保存するような仕組みになっています。
これをそのまま放置しておけば、処理が終わったcsvファイルが大量に溜まって、いずれサーバー容量を食いつぶしてしまいます。
また、プライバシーの観点からも、ファイルをサーバー上に残しておくことは賢明ではありません。
そこで、生成から1時間以上過ぎたcsvファイルは、自動的にサーバーから削除されるようなプログラムを内部で動作させることで対応しました。
まとめ:Webサービスを作るのはけっこう大変なのだ
いかがだったでしょうか。
「SEOタグ自動取得ツール」はシンプルなツールではありますが、利用に耐えるものにするためには、見た目の機能以上にさまざまなプログラムを組み込む必要があるのです。
何かのWebサービスを作ろうとした時、プログラムをあまり知らない人には「それぐらい簡単に作れないの?」と言われてしまうことが多いのですが、正直に言って、それは「木を見て森を見ず」というものです。
生い茂った森の中にある木を一本切り倒すだけでも、他の木に影響を与えないように倒れる方向や角度を緻密に計算しなければなりません。森のように大きなシステムの一部を少し変更するだけも多くの時間が必要となるのも、これと同じことが言えます。
この投稿を読んで、プログラムをあまりご存じない方でも、なんとなく「なぜそんなに時間がかかるのか」ということをイメージしてもらえたら、きっとエンジニアたちにちょっとだけ優しくできるのではないでしょうか(笑)