リライトルールでSEO強化


.htaccess による URL の最適化は、検索エンジンに正しく評価されるための第一歩です。このページでは、URLを整えるためのリライトルールと、重複コンテンツ回避・評価集中のための基本設定を解説します。


  1. URL統一による評価集約(www有無・HTTPS化)
  2. クエリパラメータを含むURLのリライト
  3. カテゴリや言語別URLの最適化
  4. 落とし穴と注意点
  5. まとめ

1. URL統一による評価集約(www有無・HTTPS化)

SEOにおいて、同じコンテンツが複数のURLで表示されることは「重複コンテンツ」としてマイナス評価の対象になります。
そのため、wwwあり/なしの統一HTTP → HTTPSのリダイレクト.htaccess で明確に設定しておきましょう。

例1:非www → www に統一

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

例2:HTTP → HTTPS に強制

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

2. クエリパラメータを含むURLのリライト

よくある非SEO型のURL:

https://example.com/product.php?id=123

リライト後の理想的なURL:

https://example.com/product/123

対応 .htaccess 例:

RewriteEngine On
RewriteRule ^product/([0-9]+)$ product.php?id=$1 [L,QSA]

このように「意味のあるURLパス」にすることで、検索エンジンとユーザーの両方に優しいサイト設計になります。


3. カテゴリや言語別URLの最適化

ブログやマルチ言語サイトでは、カテゴリや言語を明示したURL が好まれます。

カテゴリ別:

https://example.com/category/news
→ category.php?type=news
RewriteRule ^category/([a-zA-Z0-9_-]+)$ category.php?type=$1 [L,QSA]

言語別ページ切り替え:

https://example.com/en/about → about.php?lang=en
RewriteRule ^(en|ja)/about$ about.php?lang=$1 [L,QSA]

4. 落とし穴と注意点

症状原因対策
無限ループが発生するRewriteCond の不備RewriteCond %{HTTP_HOST} !^www\. を忘れずに記述
リダイレクトが2重になるすでにリライト済みのURLが対象になっている変数 %{HTTPS}%{REQUEST_URI} の確認が必要
Google Search Console に警告が出るcanonicalと矛盾リライトと <link rel="canonical"> の整合を確認

5. まとめ

  • .htaccess のリライトで 評価URLを一本化 → SEO効果が上がる
  • 動的URL → 読みやすいURL に変換することで クリック率も向上
  • HTTPS化、www統一、カテゴリ構造の整理 は最低限設定をおすすめ

[ディレクトリ保護(Basic認証)]

上部へスクロール