「デジタル上のゴミ屋敷」になっていませんか?#
Webサイトは生き物です。運用を続けていれば、ページの削除、URLの変更、参照していた外部サイトの閉鎖などが日常的に発生します。これらを放置すると発生するのが**「リンク切れ(Dead Link)」**です。
ユーザーがリンクをクリックし、期待して待った挙句に404エラー画面が表示される。この体験は、あなたのブランドに対する**「信頼」を確実に損ないます**。さらに、Googleのクローラー(ロボット)にとっても「メンテナンスされていない低品質なサイト」と判断される要因となり、SEO評価をじわじわと下げていきます。
本記事では、リンク切れの検知から、恒久的な対策(リダイレクト戦略)まで、エンジニアリング視点での解決策を提示します。
1. リンク切れの3大パターン#
- 内部リンク切れ: 自サイト内のページ削除やURL変更によるもの。最もコントロールしやすく、かつ最も恥ずかしいミスです。
- 外部リンク切れ: 参照していた外部サイトが閉鎖・移転した場合。相手の都合なので防ぎようがありませんが、定期チェックが必要です。
- アンカーリンク切れ:
#section-1のようなページ内リンクのID変更ミス。
2. 自動検知ツールの導入#
手動ですべてのリンクをクリックして確認するのは不可能です。以下のツールを使って自動化しましょう。
無料で手軽に: Broken Link Checker (Chrome拡張)
小規模なサイトや、特定のページをチェックしたい場合に便利です。ページ内の全リンクをスキャンし、ステータスコードを返してくれます。
エンジニア向け: 継続的な監視 (GitHub Actions)
開発フローにリンクチェックを組み込むのが最も確実です。lychee などの高速なリンクチェッカーをCIで回します。
# .github/workflows/link-check.yml
name: Links
on:
push:
branches: [ main ]
schedule:
- cron: "0 0 * * 1" # 毎週月曜日に定期実行
jobs:
linkChecker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Link Checker
uses: lycheeverse/lychee-action@v1
with:
args: --verbose --no-progress './**/*.md' './**/*.html'
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
3. Google Search Console での監視#
Google Search Console の「ページ」レポート > 「見つかりませんでした(404)」を確認しましょう。 ここには、**「Googleがクロールしようとしたが存在しなかったURL」**がリストアップされます。 特に、過去に存在していて外部からリンクが貼られているURLが404になっている場合は、SEOパワーが消失している状態です。早急な対処が必要です。
4. 解決策:301リダイレクトの徹底#
ページを削除・移動した場合は、必ず 301リダイレクト(恒久的な転送) を設定してください。 これにより、古いURLのSEO評価(被リンクの価値など)を、新しいURLに引き継ぐことができます。
Next.js (next.config.js) での設定例
module.exports = {
async redirects() {
return [
{
source: '/old-blog/:slug',
destination: '/articles/:slug',
permanent: true, // 301リダイレクト
},
{
source: '/deleted-page',
destination: '/', // 関連ページがない場合はトップへ(ケースバイケース)
permanent: true,
},
]
},
}
運用ルール
「ページを削除する」というタスクには、必ず**「リダイレクト設定を入れる」または「リンク元を修正する」**というタスクがセットで付随すべきです。この運用フローをチームで徹底することが、サイトの健康を保つ唯一の道です。

VIIO 編集部
VIIOのWeb品質改善チーム。Webパフォーマンスとアクセシビリティの向上に情熱を注いでいます。複雑な技術をわかりやすく伝えることをモットーに記事を執筆中。