株式会社SUPINF

アイコンシルバー
東京都

ホームページ内のリンク切れを自動でチェック!監視システムを作ってみました


こんにちは!SUPINFのポメです。

リンク切れチェック みなさんどうしてますか?

先月、ひとつWebサイトを作りまして、他にサーバーの運用も任せてもらいました。
あとWebページ内の外部サイトと画像のリンク切れチェックもしておいてね、ということで。

ブラウザでリンク先を全部クリックしてちゃんと表示されるかどうか確かめて、
画像も全て表示されているか確認して、
ドメイン内へのリンクは、さらにその先のリンク先もクリックして画像も見て、あーもう、めんどくさ。
これらを全て自動でやってくれるようなサービスを探してみたものの、適当なものがなかなか見つからず。

「なんかいいのありませんか?」と温厚なW先輩に相談したつもりが、なにかと手厳しいN先輩から「じゃー作りなよ」と言われてしまい……。
お二人と相談しながら、よちよち歩きでなんとか開発してみました。
実装した機能は、こんな感じです。

トップページURLの指定で一発!

クローラーの要領でWebサイトを巡回し、同ドメインの深い階層まで潜って、リンク先(画像を含む)のレスポンスコードを取得します。
もしレスポンスコードが4xx、5xxなら異常として通知。
しかし、一つのページに含まれるURLを全ていちいちGETしていると、サーバーにかなり負担がかかります。
レスポンスコードの取得が目的だったらHEAD(先っちょだけ取得)でもいいかな、ということで、HEADメソッドを主に使っています。
リンク先がHEADに対応していない、ということも考えられるので、その時だけGETを使うように。GETした後は待機時間を作って、とことんサーバーを労ります。

また、トップページのURLは複数指定することもできるようにしました。
これでドメインが違う複数のWebサイトを管理していても、一括でらくちん。

Googleモバイルフレンドリーテストも自動化

スマホのブラウザでわざわざ開いてみるのも億劫なので、モバイル対応できているかのチェックもついでに自動化してみました。
Googleが提供しているモバイルフレンドリーテストを呼び出して、その結果を自動で取得。
https://www.google.com/webmasters/tools/mobile-friendly/
巡回したURLそれぞれのスコア(モバイルフレンドリーテストが内部的に算出した得点)と、テストにパスしているかどうかを通知します。

で、これをWebページとは別のサーバーに置いて、
・1時間おきに、トップページのURLだけHEADでレスポンスコードを取得。(そもそもサーバーが落ちてないかをチェック)
・1日おきに、トップページのURLから深層まで巡回してリンク先、画像など全てのレスポンスコードを取得。(Webページに不調がないかをチェック)

これで完了です。これ、本当に楽です。きっかけと助言を下さった先輩方に感謝。

今後

マルチスレッドでの処理速度向上や、og:imageが設定できているかなどのチェックなども実装していきたいと思っております。

今回の川柳

雨の中
 傘もささずに
  ワイルドだろ〜?

(あのー社長……これホントに必要ですか?)

今回作ったシステムに関して、詳細にご興味がおありでしたら、ぜひお気軽にご連絡ください!ではでは。

ご相談はこちらから

企画や要件が固まっていないご相談でも
お気軽にお問い合わせください。

  1. 01

    相談する

  2. 02

    要件ヒアリング

  3. 03

    専門企業のご紹介

  4. 04

    企業との
    ご面談&見積取得

  5. 05

    企業選定〜契約締結
    サポート

  6. 06

    専門企業と直接
    プロジェクト進行

※ステップ5以降はご希望に応じて
サポートいたします。

お急ぎの方はお電話で

03-6427-5422

サポートデスク直通(平日10:00〜18:00)

必須お名前
必須メールアドレス
必須電話番号
必須会社名
任意依頼内容・希望
利用規約及び、個人情報保護方針にご同意のうえ、送信ください。

申し込み完了後、サポートデスクから
お電話またはメールにてご連絡させていただきます。

本サイトは、reCAPTCHAとGoogleにより保護されています。(プライバシーポリシー利用規約)

EDITOR PROFILE

株式会社SUPINF

堀江 浩史

株式会社 SUPINF の広報部です!

AWS/コンテナ/AI/MSP/システム開発など、お気軽にご相談ください。



BTL アンバサダーとしても活動中です!

株式会社SUPINF

東京都
WEBサービス開発 インフラ構築 ソフトウェア・業務システム開発

株式会社SUPINFでできること

  • WEBサービス開発

  • インフラ構築

  • ソフトウェア・業務システム開発

会社選び・業者探しに迷った方はこちら
ご要望にあった会社を無料でご紹介いたします!
専門のサポートデスクがヒアリングを行い、
要件にあった最適な企業・業者をご紹介いたします。
ご要望にあった会社を無料でご紹介いたします