多くのテーマの標準機能では、投稿記事からリダイレクトする設定はありません。
本文にHTMLで書き込む方法や、リダイレクトするプラグインを使用するのが一般的かもしれません。
僕は、システムエンジニアではないので、理想的な方法としてのリダイレクト管理については説明しかねますが、実際の運用方法として実現可能な3つの方法(実際に僕がやっている方法)をご説明します。
ここで説明するリダイレクトの目的はあくまでも1記事単位の一時的なリダイレクトです。
永続的なリダイレクト(301)や、ドメインを変える際のサイト全体の大掛かりなリダイレクト処理の説明ではありません。
投稿1記事単位の一時的なリダイレクトは、グレーなSEO手法として応用できますが、使用そのものについては推奨していません。(否定もしていません。)
個人の判断でこのテクニックをご活用ください。
投稿1記事単位の一時的なリダイレクトの一般的な方法
- 記事本文にHTMLで記入
- プラグインを使用
- テンプレートをカスタマイズ
1番シンプルで簡単な方法
リダイレクトする前のページが一時的に表示されても良い場合や、かなり簡易的にやる場合は、HTMLで記事本文にmetaタグ(1)を入れておけばオッケーです。
これが一番簡単な方法です。
記事本文にHTMLで記入(1)
下記のメタタグを記事本文の冒頭に入れてください。
<meta http-equiv="refresh" content="秒;URL=https://◯◯.com/">
- 「https://◯◯.com/」の箇所に、リダイレクト先のURLを記入してください。
- 「秒」の箇所に、「0」を入れると0秒でリダイレクト、「5」を入れると5秒後にリダイレクトされます。
デメリットというか、このリダイレクトの方法の特徴は、一瞬、リダイレクト前のページが表示されてしまいます。
理由は、ページにあるプログラムを読み込んだ上で、リダイレクト処理が行われるためです。
表示させたくない場合は、この方法は使用できません。
リダイレクト前のページを表示したくない場合
リダイレクトする前のページを表示したくない場合は、プラグイン(2)を入れたり、カスタマイズする方法(3)があります。
プラグインを使用する方法(2)
プラグインを使うメリットは、カスタマイズする手間がないこと。
リダイレクトするプラグインは、沢山ありますが、僕が使用しているのは、下記のプラグインです。
このプラグインの使用方法については、当サイトでの解説ページは準備していないので、ググって調べていただけたらと思います。
デメリットとしては、記事単位で管理するのがやりにくい点にあります。
各々の記事編集ページから、リダイレクトの設定ができれば、「今、この記事がリダイレクト設定になっている。」ということを把握しやすいですが、プラグインを使用するとプラグイン側の管理画面で「AのURL」を「BのURL」にリダイレクトする設定を行う必要があり、URLを入れ間違えたり、一時的な設定のつもりが解除し忘れてしまうリスクがあります。
特に、運用サイトが多くなったり、記事数が多くなると、このデメリットが大きくなります。
テンプレートをカスマイズする方法(3)
僕が、テンプレートをカスタマイズしてリダイレクトする理由は管理上の簡便さが最も大きいです。
先ほどのプラグインのところでも説明したとおり、その記事の編集ページで、
- 現在リダイレクト設定されているのか?
- どこにリダイレクトしているのか?
が分かれば、運用管理は非常に楽になります。(あくまでも個人的な意見です。。)
一時的に戻したり再開するなどの都度都度の操作を行う場合や、複数サイトを運営する場合はテンプレートごとイジった方が運用が楽になると思っています。
ただし、僕のカスタマイズ方法は、僕が実際にやっている方法ではありますが、「正しい方法(コードの書き方)」という意味ではないのでご注意ください。
カスタマイズについては大枠での方法はご説明しますが、具体的な手順の説明は行なっていないので予めご了承ください。
投稿1記事単位の一時的なリダイレクトをするためのテンプレカスタマイズ
まず、このカスタマイズを進める上で、おすすめのプラグインとして、「Advanced Custom Fields(ACF)」というプラグインがあります。
これは記事編集画面に、本文以外の入力欄などを作るための機能性プラグインです。
ワードプレス内では、「カスタムフィールド」と呼ばれ、ワードプレスがもともと持っている機能の1つです。
ですので、カスタムフィールド自体を自作する事もできますが、ある程度の知識が必要だったり、これ自体が面倒だったりもするので、サクッと「ACF」に頼って良いと思います。
このプラグインで、記事編集画面にURLを入力するカスタムフィールドを作成します。
ACFを使って作ったカスタムフィールドがこちらです。
これは、リダイレクト先のURLを入力する欄となっています。
これが完了したら、「外観」>「テーマファイルエディター」>「 個別投稿 (single.php)」と進み、PHPテンプレートに下記の目的を達成する条件分岐のコードを記入します。
<?php if(get_field('redirect_url')): ?>
<meta http-equiv="refresh" content="0;URL=<?php the_field('redirect_url'); ?>">
<?php endif; ?>
- カスタムフィールドに入力したURLがある場合は、当該記事の情報を取得・表示せずに入力したURLにリダイレクトする。
- URLが入力されていない場合は、通常通り取得・表示する。
テンプレートに、このカスタマイズを導入すれば、リダイレクトさせたいURLを記入するだけで、指定URLにリダイレクトし、URLを外せば当該記事の表示(リダイレクトされない)になります。
「投稿1記事単位の一時的なリダイレクト」のまとめ
この記事の目的は、「投稿1記事単位の一時的なリダイレクト設定」のアイディアのご紹介です。
具体的な手順などを解説はしていないので、プラグインの使用法などはプラグイン名でググってみてください。
投稿1記事単位の一時的なリダイレクト設定ができるようになると、ちょっとグレーなSEO手法として応用できます。
記事冒頭でもお伝えしておりますが、グレーなSEO手法そのものについては推奨も否定もしていません。