自宅サーバの整理箱

自宅サーバを構築しwordpress,fedora,CentOSの作業メモ

*

URL末尾のスラッシュを統一、wordpressでSEO対策

   

WordPressでサイトを構築していると、SEOを意識してパーマリンクをカスタマイズします。
wordpressのSEO
最初は数字ベースの記事URLにしていましたが、途中でPostNameへ変更したり、サイト移転したりと変更する機会も多いと思います。サイトのパーマリンクを変更するたびに、mod_rewriteをつかって新URLへリダイレクトしていましたが、私の設定みすで、404NotFoundが大量に発生していました。その原因は以下

旧設定A:http://www.hogehoge.com/postname110
新設定A:http://www.hogehoge.com/postname110/

そうです、上記のURLのとおり、URL末尾にスラッシュをつけたパーマリンクと末尾にスラッシュをつけていないパーマリンクを混同して設定していました。

この場合、旧サイトから新サイトへコンテンツを移行しても新コンテンツはURL末尾にスラッシュがついているため、404NotFoundになっていました。

これを修正するのは簡単ですが、すでにしばらく運用してしまいましたので、混在しています。そこで、mod_rewriteをつかって.htaccessにリダイレクトルールを記載して回避します。

RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !.[^/.]+$
RewriteRule ^(.*)$ $1/ [R=301,L]

私の方法としては、末尾にスラッシュをつけたURLで正規化することにしました。これで安心です。

これの類似として、有名ですがwwwありとwwwなしのURLでSEO効果があるといわれているものがありますので、そちらのリダイレクトルールについてもあわせて対策します。

wwwありに私のサイトは統一します。mod_rewriteの記載は以下です。wordpressの記載の前に.htaccessファイルへ追記します。

RewriteCond %{HTTP_HOST} ^(hogehoge.com)(:80)? [NC]
RewriteRule ^(.*) http://www.hogehoge.com/$1 [R=301,L]

重複サイトを防止することでSEO効果があるといわれます。

 - SEO, Word Press

 Total 1,501 views