Webサイトの運営をしていると、ページのURLを変更したり、サイト全体をお引越ししたりすることってありますよね。
そんな時、古いページにアクセスしてくれたユーザーを、新しいページへ自動的に案内してあげるのが「リダイレクト(転送)」です。
「サーバーの設定とか難しくてわからない…」
「HTMLタグだけで簡単に転送できないかな?」
そんなお悩みをお持ちの方にぴったりなのが、今回ご紹介する「meta refresh(メタリフレッシュ)」というタグです。
難しい技術を使わずに、HTMLファイルに一行書き加えるだけで転送ができる便利な方法なんですよ。
ただ、実はこのmeta refresh、SEO(検索エンジン最適化)の観点からは少し注意が必要な使い方も存在します。
この記事では、初心者の方でも安心して使えるように、meta refreshの正しい書き方から、SEOのリスクを避けるためのポイントまで、やさしく丁寧に解説していきますね。
一緒に学んで、スムーズなサイト運営を目指しましょう!
このページに書いてあること
meta refresh(メタリフレッシュ)とは?HTMLで転送を行うタグ
とは?HTMLで転送を行うタグ/meta_refresh(メタリフレッシュ)とは?HTMLで転送を行うタグ.jpg?_i=AA)
まずは、meta refresh(メタリフレッシュ)という言葉の意味や、どんな仕組みで動いているのかについてお話ししますね。
名前だけ聞くと難しそうに感じるかもしれませんが、実はとってもシンプルな仕組みなんですよ。
Webページを作る「HTML」という言葉の中に、ちょこっと命令文を書くだけで機能してくれる、便利なタグのことなんです。
HTMLタグだけでページを自動転送する仕組み
meta refreshは、Webブラウザ(ChromeやSafariなど)に対して「このページを開いたら、指定した秒数後に別のページへ移動してね」と命令するHTMLタグの一種です。
通常、Webサイトの転送設定はサーバー側で行うことが多いのですが、meta refreshはページそのもの(HTMLファイル)に記述します。
そのため、サーバーの設定画面に入れない場合や、専門的なファイル(.htaccessなど)を編集するのが怖いという初心者の方でも、手軽に導入できるのが最大の特徴ですね。
「ページを表示した瞬間に切り替わる」という動きを、HTMLだけで実現できる仕組みだとイメージしてみてください。
SEOの結論:基本は非推奨だが条件付きで使用可能
ここで気になるのが「SEO的にどうなの?」という点ですよね。
結論から言うと、Googleなどの検索エンジンは、meta refreshによる転送をあまり推奨していません。基本的には、サーバー側で設定する「301リダイレクト」という方法がベストだとされています。
けれど、どうしてもサーバーの設定ができない環境もありますよね。
そんな時は、条件付きではありますがmeta refreshを使っても大丈夫です。
「絶対にダメ!」というわけではなく、「他に方法がない時の最終手段として、正しく使えばOK」と覚えておいてくださいね。
後ほど、SEOへの影響を最小限にするコツもしっかりお伝えします。
コピペで使える!meta refreshの書き方

それでは、実際にmeta refreshタグをどのように書けばいいのか、具体的な方法を見ていきましょう。
基本的には、これから紹介するコードをコピーして、ご自身のHTMLファイルに貼り付けるだけで使えますよ。
書き換える部分はごく一部なので、安心してくださいね。
基本的なタグの構成と属性の意味
meta refreshタグは、HTMLファイルの <head> から </head> の間に記述します。
基本的な形は以下のようになります。
<meta http-equiv="refresh" content="秒数; url=転送先URL">Code language: HTML, XML (xml)
それぞれの属性には、こんな意味がありますよ。
- http-equiv=”refresh”: 「ページの更新(リフレッシュ)を行いますよ」という宣言です。
- content: ここに具体的な動作を指定します。
- 秒数: 何秒後に転送するかを数字で指定します。
- url: 転送先の新しいページのURLを記述します。
この型さえ覚えておけば、あとは数字とURLを変えるだけで自由に設定できますね。
0秒で直ちに転送させる書き方
meta refreshで0秒リダイレクトを設定する書き方はとてもシンプルです。
ただし、SEOを意識するならサーバー側の301リダイレクトが第一の選択肢で、meta refreshはあくまで代替手段として覚えておきましょう。
<meta http-equiv="refresh" content="0; url=https://example.com/new-page/">Code language: HTML, XML (xml)
content="0; ... のように、秒数を「0」にすると即時転送になります。
ユーザーが古いページにアクセスした瞬間に新しいページへ切り替わるので、待ち時間はありません。
ただし、Googleがこの0秒のmeta refreshを永続リダイレクトとして解釈する場合もありますが、301リダイレクトと必ず同等に扱われるわけではなく、SEO評価が引き継がれないリスクもあります。サーバー設定が可能な環境では、301リダイレクトを優先して使うのがおすすめです。
数秒後に転送させる書き方
「移転しました。5秒後に自動でジャンプします」といったメッセージを読んでもらいたい場合は、あえて秒数を指定することもありますよね。
その場合は、秒数の部分を好きな数字に変えるだけでOKです。
<meta http-equiv="refresh" content="5; url=https://example.com/new-page/">Code language: HTML, XML (xml)
この例だと、5秒間だけ今のページが表示され、その後に新しいページへ移動します。
ただし、ユーザーを待たせてしまうことになるので、最近のWebサイトではあまり見かけなくなりました。
特別な意図がない限りは、先ほどの「0秒転送」を使うのがベターでしょう。
なぜSEOでmeta refreshは非推奨とされるのか

便利で手軽なmeta refreshですが、なぜSEOの専門家たちは「非推奨」と言うのでしょうか?
それには、検索エンジンの仕組みや、ユーザー体験に関わるいくつかの理由があるんです。
リスクを正しく知っておくことで、トラブルを未然に防ぐことができますよ。
検索エンジンがリダイレクトを正しく認識しづらい理由
検索エンジン(Googleなど)のロボットは、サーバー側で行う「301リダイレクト」であれば、「あ、このページはあっちに引っ越したんだな」とすぐに理解してくれます。
しかし、meta refreshのようなHTMLタグによる転送だと、その判断が少し難しくなることがあるんです。
場合によっては、「転送」ではなく「単にページの内容が更新されただけ」と受け取られてしまうことも。
そうなると、古いページと新しいページが別々のものとして扱われてしまい、検索結果に正しく反映されるまでに時間がかかってしまう可能性があるんですね。
ページの評価(被リンクなど)が引き継がれないリスク
Webサイトを運営していると、他のサイトからリンクを貼ってもらえること(被リンク)がありますよね。これはSEOにとって大切な「評価」の一つです。
301リダイレクトなら、古いページが持っていたこの評価を、新しいページへほぼそのまま引き継ぐことができます。
ところが、meta refreshを使った場合、特に秒数を長く設定していると、この評価がうまく引き継がれないリスクがあるんです。
せっかく積み上げてきたサイトの信頼や評価がリセットされてしまうのは、とてももったいないことですよね。
ユーザーの閲覧体験(ユーザビリティ)を損なう可能性
SEOは検索エンジンのためだけのものではありません。ユーザーにとって使いやすいかどうかも、とても重要な評価基準です。
meta refreshを使った転送では、ブラウザの「戻る」ボタンを押した瞬間にまた転送されてしまい、元の画面に戻れなくなる「リダイレクトループ」のような現象が起きることがあります。
また、記事を読もうとしたらいきなり画面が切り替わると、ユーザーはびっくりしてしまいますよね。
こうした「使いにくさ」は、結果的にサイトの評価を下げる要因にもなりかねないので注意が必要です。
meta refreshと301リダイレクトの使い分け

「じゃあ、結局どうすればいいの?」と迷ってしまうかもしれませんね。
ここでは、サーバー設定で行う「301リダイレクト」と「meta refresh」をどう使い分ければいいのか、その判断基準を整理してみましょう。
状況に合わせて最適な方法を選ぶことが大切ですよ。
.htaccessが使えるなら301リダイレクトを選ぶ
もし、あなたが利用しているサーバーで「.htaccess(ドットエイチティーアクセス)」というファイルが編集できるなら、迷わず「301リダイレクト」を選びましょう。
これがSEOにおける世界標準のベストプラクティスだからです。
WordPressなどのCMSを使っている場合も、「Redirection」といったプラグインを使えば、専門知識がなくても301リダイレクトを設定できることが多いですよ。
まずは、ご自身の環境で301リダイレクトが可能かどうかを確認してみてくださいね。
これができるなら、meta refreshを使う必要はありません。
サーバー設定ができない環境ではmeta refreshを選ぶ
一方で、無料ブログサービスや一部のレンタルサーバー、あるいは社内のセキュリティ規定などで、サーバーの設定ファイル(.htaccessなど)を触れないケースも多々あります。
また、HTMLファイルしか編集権限がないという場合もあるでしょう。
そんな時こそ、meta refreshの出番です。
「301リダイレクトが理想だけど、物理的に無理!」という状況での代替案として、meta refreshを活用しましょう。
完璧ではなくても、何もしないよりは確実にユーザーを新ページへ案内できますからね。
JavaScriptによるリダイレクトとの比較
HTMLタグ以外に、「JavaScript」というプログラムを使って転送する方法もあります。
JavaScriptも便利ですが、ユーザーがブラウザの設定でJavaScriptをオフにしていると動かないという弱点があります。
その点、meta refreshはHTMLの標準機能なので、よりシンプルな仕組みと言えるかもしれません。
Googleは現在、JavaScriptのリダイレクトも処理できるようになっていますが、確実性を考えると、サーバー設定が無理ならmeta refresh(特に0秒指定)の方が、初心者の方には扱いやすいかもしれませんね。
SEOリスクを最小限にするmeta refresh設定のコツ

サーバー設定ができず、やむを得ずmeta refreshを使うことになったとしても、いくつかの点に気をつけることで、リスクをできるだけ抑えることはできます。
ただし、meta refreshはGoogleが非推奨としている技術で、設定の工夫だけでは根本的なリスクの解消にはなりません。ページランクの引き継ぎが不完全になったり、クロール効率が下がったりといった問題は、どう設定しても残ってしまうんです。
そのため、まずはサーバー側での301リダイレクトへの切り替えを優先して検討してみてください。その上で、一時的にmeta refreshを使わざるを得ない場面での注意点を3つご紹介します。
待機時間は「0」を指定して301相当に近づける
書き方の部分でも触れましたが、待機時間は「0秒」に指定しておくのがおすすめです。
0秒に設定した場合、Googleが永久リダイレクトとして解釈する可能性があるとされています。
<meta http-equiv="refresh" content="0; url=https://example.com">Code language: HTML, XML (xml)
ただし、注意しておきたいのは、meta refreshは301リダイレクトと完全に同等ではないという点です。ページ評価の引き継ぎが不完全になる可能性があるため、SEO観点では301リダイレクトが第一の選択肢とされています。
meta refreshは、サーバー側の設定が難しくてどうしても使えない場合の代替手段として活用するのがよいでしょう。ページの評価をしっかり引き継ぎたいなら、可能な限り301リダイレクトを使うことを意識してみてください。
canonicalタグを併用して正規URLを伝える
さらに念を入れるなら、「canonical(カノニカル)」タグを併用するのがおすすめです。
これは「このページの正規のURLはこちらですよ」と検索エンジンに伝えるためのタグです。
転送元の古いページの <head> 内に、以下のように記述します。
<link rel="canonical" href="転送先の新しいURL">Code language: HTML, XML (xml)
meta refreshで転送しつつ、canonicalタグでも「新しいURLが本物です」と主張することで、検索エンジンに対してより強くサイトの移転を伝えることができますよ。
ユーザー向けの手動リンクを必ず設置する
最後に、技術的な設定だけでなく、目に見える配慮も忘れないようにしましょう。
万が一、ブラウザの仕様などで自動転送が動かなかった時のために、ページ内に手動でクリックできるリンクを置いておくのです。
「新しいページに自動で移動します。もし移動しない場合は、こちらをクリックしてください。」
といった文言を画面に表示させておけば、ユーザーは迷子にならずに済みます。
また、クローラー(検索エンジンのロボット)もそのリンクを辿って新しいページを見つけやすくなるので、SEO効果も期待できますよ。
まとめ

今回は、HTMLタグだけで転送ができる「meta refresh」について解説してきました。
おさらいすると、サイトの転送設定において一番のおすすめはサーバー側での「301リダイレクト」です。
でも、環境によってはそれが難しいこともありますよね。そんな時は、以下のポイントを守ってmeta refreshを活用してみてください。
- 待機時間は「0秒」に設定する
- canonicalタグも一緒に書いておく
- 画面上に手動で移動できるリンクも貼っておく
この3点セットを意識すれば、SEOのリスクを最小限に抑えつつ、ユーザーをスムーズに新しいページへ案内することができます。
難しい技術がわからなくても大丈夫。ご自身の環境に合わせて、最適な方法を選んでみてくださいね。
meta refreshについてよくある質問

meta refreshを使うにあたって、初心者の方がよく疑問に思う点をQ&A形式でまとめました。
設定前の最終確認として役立ててくださいね。
よくある質問
- Q1. meta refreshはスマホでもちゃんと動作しますか?
- はい、iPhoneやAndroidなどのスマートフォンブラウザでも基本的に問題なく動作します。ただし、ブラウザのバージョンや設定によっては挙動が異なる場合もあるため、必ず実機で確認することをおすすめします。
- Q2. 転送元の古いページはいつ削除すればいいですか?
- 検索エンジンが移転を認識し、ユーザーのアクセスがなくなるまでは残しておく必要があります。最低でも半年〜1年程度は残しておき、アクセス解析を見て誰も来なくなってから削除するのが安全です。
- Q3. meta refreshを設定しても検索順位は下がりませんか?
- 正しく設定(0秒転送など)すれば、301リダイレクトに近い扱いを受けるため、極端に順位が下がるリスクは低いです。ただし、100%評価が引き継がれる保証はないため、一時的な変動は覚悟しておきましょう。
- Q4. 1つのページに複数のmeta refreshを書いてもいいですか?
- いいえ、1つのページにつき1つの転送先を指定するようにしてください。複数を記述するとブラウザが混乱し、正しく転送されない原因になります。
- Q5. WordPressでmeta refreshを使うにはどうすればいいですか?
- テーマの「header.php」を編集するか、「Insert Headers and Footers」のようなプラグインを使って
<head>内にコードを追記します。ただ、WordPressなら「Redirection」プラグインで301リダイレクトをする方が簡単で確実ですよ。
- テーマの「header.php」を編集するか、「Insert Headers and Footers」のようなプラグインを使って