画像直リンクをWordPressの記事へのアクセスに変える方法

画像への直リンク禁止!!

画像直リンクを記事にリダイレクトさせる

こんにちは、@eaxjpです、今回は前回の発展版。
前回は画像直リンクのアクセスはすべて直リンク禁止ページに飛ばしていました。

先日、ポケモンハートゴールドの画像のURLがまとめサイトに載ったみたいで
画像直リンク禁止ページのPVが増えました。
このまま直リンク禁止ページを表示し続けるのも勿体無いので
記事ページへ飛ばす事にしました。

前提

.htaccessの置き場
https://b.eax.jp/
直リンクされている画像URL
https://b.eax.jp/wp-content/upLoads/s-DSC00653.jpg
直リンクされていた場合飛ばす先(記事)
https://b.eax.jp/game/131/ 

コード

RewriteEngine On
RewriteBase /wp-content/upLoads/s-DSC00653.jpg
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://b.eax.jp/ [NC]
RewriteRule ^(.*)\.(jpg)$ https://b.eax.jp/game/131/ [R=301,L]

解説

RewriteEngine On
RewriteEngine をOnにします。

RewriteBase /wp-content/upLoads/s-DSC00653.jpg
リライトベースを設定します。
今回は特定のファイルに限定するのでファイル名まで入れます。
.htaccessはhttps://b.eax.jp/に置くのでリライトベースは
https://b.eax.jpを抜いた形で入力します。

RewriteCond %{HTTP_REFERER} !^$
リファラーが無い場合はアクセスを許可します。
上にある様に、リファラー無しの場合も拒否したければこの行は消します。

RewriteCond %{HTTP_REFERER} !^https://b.eax.jp/ [NC]
URLにhttps://b.eax.jp/を含むページから参照された場合は表示を許可します。
後ろのNCは大文字小文字を区別せず判別します。

RewriteRule ^(.*)\.(jpg)$ https://b.eax.jp/game/131/ [R=301,L]
リライトルールの設定、リライトベースでファイル名まで設定してあるので
ファイルがJPEGファイルでリファラーが別サイトの場合、記事ページに飛びます。
301リダイレクトなのでもしかしたらSEO効果もあるのかもしれません。

後は自分のサイト・環境に合わせて編集して下さい。

まとめ

でもまとめサイトから来る人は、関連記事などに見向きもしないのか
直帰率があがったアクセス解析のグラフ

アクセス&ビジター数は上がりましたが、直帰率も上がってしまいました。
ビジターログを見ても記事のみを見て直帰しています。

なので、回遊率UPなどは期待しない方が良いかもしれません。