ブログについて
【SEO対策】URLの正規化
2020.07.02
制作
技術
こんにちは。
制作部の中山です。
突然ですが、現在運用されているサイトの「URLの正規化」はされていますか?
最近は外部とのお取引も増え、リニューアル案件も増えてきた弊社ですが、打ち合わせ段階でサイトを確認してみると「サイト設計がきちんとされていない」「サイト全体の把握がされていない」といった事が多く見受けられます。
「制作会社に依頼をしてサイトを制作したのにどうして?」と思われる方もいらっしゃるかもしれませんが、「サイトの規模が大きくなるにつれて複数の業者が細分化して作業にあたるようになり、サイト全体を見られる人がいなくなってしまった」ということや、「年数が経つうちに担当者の代替わりが幾度もあり、詳細までわからなくなってしまった」といったことはよくあります。
サイト制作に関する技術や仕様は日々進化していくこともあり、定期的にサイトの状況を確認し、管理や運用の方針を決めていくことはとても大切です。今回はサイト状況を確認する上での第一歩とも言える「URLの正規化」についてお話していければと思います。
URLの正規化とは?
URLは「wwwの有無」、「index.html(.php)の有無」、「httpとhttpsの統一化の有無」、「URLの後ろにつくパラメーターの有無」など様々な理由から、複数のURLにわたって同一のコンテンツが存在していることがあります。
これらのURLを1つに統一し、検索エンジンからのSEOの評価を統一することを「URLの正規化」といいます。
URLの正規化はなぜ必要なのか?
検索エンジンは同一のコンテンツであってもページ単位(URL単位)で評価をつけてインデックスを行うため、コンテンツ内容がまったく同じでも複数のURLが存在した場合、別々のページとしてインデックスされてしまいます。
このような場合、検索エンジンはどれがオリジナルのページなのか判断できず、本来であれば「1ページ」が受けるべき評価を「存在する複数のページ」に対して分散して行い、検索順位が上がらない原因となってしまいます。
またそれだけではなく「コンテンツの重複(複製)」としてみなされ、同じURL上の全てのページ評価が下がる恐れもあります。このような事態を防ぐためにも「URLの正規化」はマストと言えます。
URL正規化の方法
まずは正規化するにあたり、どのURLに統一するのか方針を決めましょう。
方針決めの際、正規化の作業に慣れていない場合は、下記のような表を作っておくと頭の中を整理できますし、外部への共有や社内への引き継ぎを行う際に便利です。
統一カテゴリ | 対象URL | 方針 |
---|---|---|
http://の統一 ※SSLの有無 |
http://◯◯◯.com https://◯◯◯.com |
https://◯◯◯.com 301リダイレクト |
indexファイル名統一 | https://◯◯◯.com https://◯◯◯.com/index.html |
https://◯◯◯.com 301リダイレクト |
wwwの統一 | https://◯◯◯.com https://www.◯◯◯.com |
https://◯◯◯.com 301リダイレクト |
・PCとSPサイトのURLが分かれている ・パラメーターの有無 ※コンテンツは同じ前提 |
https://◯◯◯.com https://sp.◯◯◯.com http://◯◯◯.com/◯◯/?category=××&×××××=×× |
rel=”alternate”とrel=”canonical”の設定 状況に応じて302リダイレクト |
次に、実際にどのようなに正規化を行っていくかですが、Googleが推奨している方法は2つあります。1つは.htaccessでリダイレクトを行う方法。もう1つはhead内にcanonicalタグを記述したHTMLファイルをサーバにアップする方法です。
それでは早速ですが、それぞれの方法について詳しく見てきましょう。
.htaccessでの301リダイレクトの設定方法
そもそもリダイレクトとは、ページにアクセスした際に別ページに自動的に転送することを言います。一般的に使用されるリダイレクトのステータスコードは2種類あり、今回ご紹介する301リダイレクトと302リダイレクトです。それぞれの違いは、301リダイレクトは「恒久的」な転送を意味し、302リダイレクトは「一時的」な転送を意味します。
2017年のGoogleの仕様変更により、301リダイレクトでも302リダイレクトでもサイトの評価は引き継がれますが、URLの正規化は恒久的な移転であること、また検索エンジンが認識するまでの時間が早いことから、今回は301リダイレクトの記述方法をご紹介できればと思います。各記述のドメイン部分は適宜ご自身のドメインにあわせて書き換えるようにして下さい。
- 例1)httpからhttpsへの正規化方法
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://◯◯◯.com/$1 [R=301,L]- 例2)www有りから無しへの正規化方法
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.◯◯◯\.com$
RewriteRule ^(.*)$ https://◯◯◯.com/$1 [R=301,L]- 例3)www無しから有りへの正規化方法
RewriteEngine on
RewriteCond %{HTTP_HOST} ^◯◯◯\.com$
RewriteRule ^(.*)$ https://www.◯◯◯.com/$1 [R=301,L]- 例4)indexファイル名有りから無しへの正規化方法
RewriteCond %{REQUEST_URI}^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ https://◯◯◯.com/$1 [R=301,L]- 例5)末尾スラッシュ有りへの正規化方法
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !\.[^/\.]+$
RewriteRule .* %{REQUEST_URI}/ [R=301,L]
canonicalタグでの設定方法
URLの後ろにパラメーターがつく場合や、.htaccessが利用できない場合、コンテンツが同じでありながらデスクトップページとスマホページでURLが異なっている場合は、canonicalタグでの設定が必要となります。対象のHTMLのheadタグ内にcanonicalタグを記述しサーバへアップすることでドメインの正規化が可能です。
- 例1)デスクトップページのhtmlの記述方法
- デスクトップページにはcanonicalとalternateタグを使用し、スマホ用に別のページが存在することを認識してもらいます。
<link rel="canonical" href="https://◯◯◯.com/">
<link rel="alternate" media="only screen and (max-width: 640px)" href="https://sp.◯〇〇.com/">- 例2)スマホページのhtmlの記述方法
- スマホページには、デスクトップページがあることを認識してもらうために、canonicalタグを記述します。
<link rel="canonical" href="https://◯◯◯.com/">
まとめ
いかがでしたでしょうか?
今回はURLの正規化についてお話してきましたが、サイトを定期的にチェックし、状況を把握したうえで、管理や運用の方針を決めていくことはとても大切です。
SEOは中長期的な施策ではありますが、日頃から少しずつ手間をかけることで評価をプラスにしていくことも可能です。この記事が少しでも役立てば幸いです。
最後まで読んでくださり、ありがとうございました。
また次回もよろしくお願いいたします。