中古ドメインを使う場合に良くありますが、被リンクからのアクセスが404エラー(このページはありませんエラー)にならないよう、別のURLに飛ばしたい場合には「301リダイレクト」を使います。
被リンクからのアクセスが10個程度なら1つ1つリこのダイレクトの設定をすればよいですが、これが100とか1000になるともう大変(というかやる気にならないレベル(笑))
そこで活躍するのが正規表現なるものですが、ここでは「あるカテゴリ(サブディレクトリ)以下全て」とか「特定の拡張子は全て」「”?”で始まるURL全て」など、リダイレクトに良く使いそうなものに絞って紹介しています。
また、実際にプラグイン「Redirection」にて正規表現を使ったリダイレクト設定の仕方も解説しているので、是非一度チャレンジしてみてくださいいね。
Contents
良くあるパターン
まず被リンクされているURLのパターンですが、良く見かけるのが以下のようなもの。(ここでは以下4つの例を挙げてます)
中古ドメインのサイトを仮に「example.com」とした場合、
- 1)ドメイン直下の記事
- 例)example/profile
- 例)example/test-world-wide
- 2)特定のカテゴリの記事
- 特定のカテゴリが「apple」の場合
- 例)example.com/apple/taste-and-shape
- 例)example.com/apple/biggest-size-in-the-world
- 3)記号や数値が付いた記事
- 例)example.com/?option&id=12345.html
- 例)example.com/?option&id=67890.html
- 例)example.com/index.php?option=view=itemlist&id= 12345
- 例)example.com/index.php?option=view=itemlist&id= 45678
- 4)最後に特別な文字列(拡張子)が付く場合
- 例)example.com/apple-beta-city.aspx
- 例)example.com/dad-mom.aspx
「1)ドメイン直下の記事」への被リンクは個別のURLとなっているのが基本で、1つ1つリダイレクトの設定をする、ということになると思います。
が、「2)カテゴリの記事」「3)記号や数値が付いた記事」「4)最後に特別な文字列(拡張子)が付く場合」への被リンクは結構な数になる場合もあり、良く見ると似たようなURLにもなっている。
1)は普通にリダイレクトの設定をするわけですが、2)3)4)では「正規表現」というのを使うと非常に簡単にリダイレクト設定ができますので活用しちゃいましょう。
カテゴリ以下全てを対象
まず上で見た「2)特定のカテゴリの記事」について、どのような正規表現を使ってリダイレクトの指定を行えばよいか見てみます。
ポイントは、どこまで同じか、をまず見る事。
カテゴリの例1
カテゴリ(サブディレクトリ)が同じの記事、という以下の例のような感じですが、
- 例)example.com/apple/taste-and-shape
- 例)example.com/apple/biggest-size-in-the-world
ここでは「example.com/apple/」までが同じで、それ以降が全て異なる。
「example.com/apple/」以下の記事は全てリダイレクトしたい!という場合、正規表現で書くと以下の通り。
- example.com/apple/.*
- ピリオド「 . 」:文字なら何でも対象(つまり任意の1文字)
- アスタリスク「 * 」:0文字以上の繰り返し
つまり「.*」は「文字なら何でもよく、0でもいく続いても良い」ということで「文字列なら何でもOK」、ということになるのだとか。
(ワイルドカードとして使う「*」は正規表現では「.*」になるってことですね)
自分が運営するサイトに「apple」とかのカテゴリ(サブディレクトリ)はないし、今後もその名前のカテゴリは絶対作らない!、ということであれば、こうした正規表現を使えば一発解決。
カテゴリの例2
カテゴリ、ということでは他にも、以下のようにカテゴリの中のカテゴリ(階層の深いサブディレクトリ)、という場合もあります。
- 例)example.com/food/kind/product-area
- 例)example.com/food/kind/who-produce
※)「food」というカテゴリがあり、その下に更に「kind」というカテゴリがある例
この場合でも先ほど同様、「example.com/foold/kind/」以下は全てリダイレクトしたい、となれば、その正規表現は以下の通り。
- example.com/foold/kind/.*
めちゃめちゃ簡単ですね。
記号や数値が付いた記事全てを対象
「3)記号や数値が付いた記事」の例としては以下のようなものがありますが、
- 例1-1)example.com/?option&id=12345.html
- 例1-2)example.com/?option&id=67890.html
- 例2-1)example.com/index.php?option=view=itemlist&id= 12345
- 例2-2)example.com/index.php?option=view=itemlist&id= 45678
こうしたURLは何か検索結果を表示する時のURLのように見えますね。
こんなURL、絶対自分は使わない、私はワードプレスで普通に記事投稿して普通に運用していくんだ!という場合は、「?」の付くURLは全てリダイレクトの対象にしても良さそうです。
記号から始まる例1
まず例1-1、例1-2を見ると「example.com/?option&id=」までが同じです。
- 例1-1)example.com/?option&id=12345.html
- 例1-2)example.com/?option&id=67890.html
そこでカテゴリの例で見たように、それ以降はどんな文字列でもリダイレクトする、としたい場合には、以下のように正規表現を使えばよいか、ということこれはダメ。
- ダメな例)example.com/?option&id=.*
この文字列の中で「?」は正規表現で使われる文字(「直前の文字が0回か1回」を意味する文字)なので、このままでは意図通りにリダイレクトされない可能性がある。
正規表現で使われる文字を普通の文字として使うには「エスケープ」すると言って、その文字の前に「 ¥ 」または「 \ 」を付ける。
※)「 ¥ 」または「 \ 」は環境によって見え方が違うだけで同じもの
ということから「?」を文字として扱いたい場合には「 \? 」とすればよいですね。
- example.com/\?option&id=.*
またこの例の場合、そもそも「example.com/?~」みたいな変なURL、私のサイトでは使いませんからぁ!という場合には、以下のような形にしても良さそうです。
- example.com/\?.*
記号から始まる例2
では、もう1つの以下の例を見てみます。
- 例2-1)example.com/index.php?option=view=itemlist&id= 12345
- 例2-2)example.com/index.php?option=view=itemlist&id= 45678
この例も、まず共通しているのが「example.com/index.php?option=view=itemlist&id=」ですが、そうしたURLは全てリダイレクトの対象としたい、となると、以下のように正規表現が使えます。
- example.com/index.php\?option=view=itemlist&id=.*
- 「?」はエスケープして「 \? 」
- 最後に「 .* 」を付けている
そもそも「example.com/index.php?~」みたいなURLは使わないから、「example.com/index.php?~」の形のURLは全てリダイレクトの対象としたい、という場合には、以下のようにも考えらそうです。
- example.com/index.php\?.*
最後に特別な文字列(拡張子)が付く場合
では、URLの最後に拡張子など特別な文字列が付く場合を見ておきましょう。
- 例)example.com/apple-beta-city.aspx
- 例)example.com/dad-mom.aspx
なにやら「.aspx」という文字列が付いてますね。
リダイレクトの説明とは少し外れますが、この「.aspx」が付くファイルはWebサーバーで生成されるもののようで、Webページをどのように開いて表示するかをブラウザに伝えるためのスクリプトとソースコードを含んでいるのだとか。普通にブログを運営する上ではまず使わない。
ということから、「.aspx」が付く被リンクは全てリダイレクトの対象としたい、となれば、以下のようになるかと思いますが、これはダメな例。
- ダメな例)example.com/.*.aspx
「.aspx」の文字列にある「 . 」は正規表現で使われる文字で「どんな文字でも良い」という意味を持つため「.aspx」とすると意味が変わってしまい、意図したとおりの指定にならない可能性があります。
ということで、「記号や数値が付いた記事全てを対象」のところで見たように、「.aspx」の「 . 」を普通の文字として扱うようにエスケープして「 \.aspx」とすればよいですね。
- example.com/.*\.aspx
「.aspx」以外にもよく見る拡張子としては「.pdf」といったpdfファイルをアップロードして使っていたサイト。(中古ドメインのお話をしているので過去形)
私のサイトでは絶対 pdf なんてアップして使わないわ!、という場合この例と同様に、以下のように正規表現を使えばよいですね。
- example.com/.*\.pdf
Redirection で実際に設定してみる
ではここまで見てきた正規表現について、実際にリダイレクトの設定はどのようにすればよいか、プラグイン「Redirection」をもとに見ておきましょう。
プラグインのインストールと有効化
まずプラグイン「Redirection」のインストールと有効化を行っておいてくださいね。
正規表現を使って設定法
では新規追加から実際のリダイレクトを設定してみましょう。
設定したい内容は「example.com/apple/以下の記事を全てトップ(example.com)にリダイレクトしたい」とします。
- リダイレクト対象のURL:example.com/apple/以下の記事を全て
- 正規表現:example.com/apple/.*
- リダイレクト先(ターゲットURL):https://example.com
これを実際にプラグインで設定するには以下の通り。
- ①「ソースURL」:リダイレクトしたいURLの相対URLを入力
(相対URLについては下方参照) - ②「ターゲットURL」:リダイレクト先のURLを入力
- ③:「URL options / Regex」と表記されている箇所をクリックし「正規表現」にチェックを入れる
- ④:「転送ルールを追加」をクリック!
以上で正規表現を使ったリダイレクトの設定完了!
①の相対URLとは、簡単に言えば「ドメインを抜かしたURLの部分」のこと。
正規表現が「example.com/apple/.*」であれば相対URLはドメインの「example.com」以外の「/apple/.*」の部分。
正規表現が「example.com/index.php\?id=.*」であれば、相対URLは同じくドメインの「example.com」抜かした「/index.php\?id=.*」の部分。
②の「ターゲットのURL」は、「http://」または「https://」からしっかり付けておきます。
正規表現を使って、プラグインで設定するだけ。超簡単ですね!
今回のポイント
中古ドメインを使う場合、被リンクからのアクセスが404エラー(この記事はありませんエラー)にならないようにしっかりリダイレクトを設定しておきましょう。
リダイレクトの設定では、ここで見たように正規表現を使うと非常に簡単にかつ効率的にできますので、「正規表現は分からない~」「使うのはいやだ~」と言わずに、是非チャレンジしてみてください。
実際の設定はプラグイン「Redirection」を使えば物凄く簡単です。
また、ネットビジネスで収益を上げる道筋が知りたい、ブログやサイトで収益化を図りたいがどうすればいいか分からない、という場合には、以下のメルマガにも登録してみてくださいね。