Q.

たとえば https://example1.com/ の中の一部のページを https://example2.com/ に移動する時、やっておいた方がいいことは何ですか?それは、やっておかないとかなり影響がでることですか?また簡単にすます方法はありませんか?


A.

ドメイン間でページを移動する際には、SEOやユーザー体験に大きな影響が出る可能性があるため、以下の対策を 必ず行うべきです。放置すると、アクセス数の減少・検索順位の大幅低下などが起こることがあります。


✅ 必ずやっておいた方がいいこと(影響が大きい)

項目内容理由
301リダイレクト旧ページ(example1.com)から新ページ(example2.com)へ恒久的なリダイレクトを設定する検索エンジンに移転を伝え、被リンクや評価を引き継ぐ
Search Consoleに「移転通知」Google Search Consoleでexample1.comとexample2.comを登録し、「アドレス変更ツール」で通知(※ドメイン全体の移転なら)Googleに正式なドメイン変更を通知
canonicalタグの確認移動後のページにrel="canonical"が正しく設定されているか確認重複コンテンツ判定を避け、評価を集中させる
リンク修正内部リンク・外部リンク・SNS・メール署名などのURLを新しいドメインに修正リンク切れや混乱を防ぐ
サイトマップの再送信新しいドメインでのXMLサイトマップを作り、Search Consoleに送信クロールとインデックスを促進

🚀 簡単に済ませる方法(ただし慎重に)

  • 一括301リダイレクト設定

    • Apacheなら.htaccessRedirect 301 /oldpage https://example2.com/newpage など
    • NginxやCloudflareでも可能
  • DNSやCDNを統合運用

    • example1.com→example2.comの移転をドメイン単位で制御することで統一管理
  • 一部のページだけなら「iframe埋め込み」や「クロスリンク」でも

    • 簡易的な移設にはなりますが、SEO的な評価は引き継がれません(非推奨)

❗やらないと起こるリスク

  • 旧URLが404(Not Found)になる → SEO評価の損失
  • 検索結果に重複・古いURLが残る
  • ユーザーが迷う、信用低下
  • 被リンクからのトラフィックが失われる

まとめ

簡単に済ませる方法はあるが、リダイレクトとSearch Console対応は必須です。とくに一部ページだけの移動はGoogleにとっても曖昧になりやすいため、慎重な移転処理をおすすめします。


必要なら、ApacheやNginxでのリダイレクトの具体例もお出しできます。設定ファイルの環境はわかりますか?


Q.

hugoの静的ページで301を


A.

Hugoで生成された静的サイトを運用している場合、Hugo自体に301リダイレクトの機能はないため、Webサーバー(ApacheやNginx)やCDN(Cloudflareなど)側でリダイレクトを設定する必要があります

以下に、代表的な3つの方法を紹介します:


✅ 1. Netlifyで運用している場合

Hugo公式でも推奨されているホスティングの一つです。

static/_redirects ファイルに以下のように記述:

/old-page     https://example2.com/new-page    301
  • ファイルは static/ フォルダに置く(ビルド時にルートにコピーされる)
  • 301 は恒久的リダイレクト

✅ 2. Apacheを使っている場合(.htaccess)

.htaccess ファイルに以下を記述:

Redirect 301 /old-page https://example2.com/new-page
  • public/ 以下に .htaccess を手動で置くか、ビルド後にコピー
  • RewriteEngine の設定が不要なシンプルなリダイレクト

✅ 3. Nginxを使っている場合(server block)

Nginxの設定ファイルで:

location = /old-page {
    return 301 https://example2.com/new-page;
}
  • サーバー管理者権限が必要
  • hugo 側ではなく、サーバー設定で対応

✅ 4. Cloudflare Pagesなどで運用している場合

  • _redirects ファイルが使える(Netlify互換)
  • または Cloudflare Rules で設定可能

🔁 Hugoの仕組みだけで対応したい場合(疑似的対応)

Hugoでは meta refresh を使った簡易リダイレクトが可能ですが、SEO的には非推奨です:

<!-- layouts/redirect.html -->
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="refresh" content="0; url=https://example2.com/new-page" />
  <title>Redirecting...</title>
</head>
<body>
  <p>Redirecting to <a href="https://example2.com/new-page">new page</a>...</p>
</body>
</html>

このテンプレートを使って、対象のページに layout: redirect を指定すればリダイレクトになります。


🎯まとめ

方法推奨度コメント
.htaccessもっとも確実。共有サーバーでも可
_redirects(Netlify)Hugoとの親和性高。Git管理も可能
Nginx設定サーバー権限があれば最適
meta refresh最終手段。SEO評価が引き継がれない

ご使用のホスティング環境(Netlify、GitHub Pages + Cloudflare、VPSなど)を教えていただければ、さらに最適な方法を案内できます。どの環境ですか?


Q.

.htaccess 内で Redirect を記述する位置は最初とか最後とか決まりはありますか?.htaccess を設置できるのはルートディレクトリのみですか?


A.

.htaccessファイルにおける Redirect の記述にはある程度のルールと推奨位置があります。以下に詳しく解説します。


✅ 1. Redirect の記述位置:できれば先頭付近が安全

  • .htaccess 内の 上から順に処理されるため、Redirect はできるだけ 他の記述の前(特に RewriteRule の前)に書くのが安全です。
  • 特に mod_rewrite のルールと混在する場合、RedirectRewriteEngine On の下にあると処理順や意図と違う動作になることがあります。

📌 推奨構成(例):

# 301 Redirects – 最初に書く
Redirect 301 /old-page https://example2.com/new-page

# 以下 RewriteRule など
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]

✅ 2. .htaccess を設置できる場所:原則は任意ディレクトリ

  • .htaccessルートディレクトリ以外にも置けます
  • ただし、その .htaccess が置かれたディレクトリ以下にしか影響しません

例:

/public_html/.htaccess         ← サイト全体に影響
/public_html/blog/.htaccess    ← /blog 以下にのみ影響
  • Redirect の対象がルート配下のURL(例:/old-page)であれば、ルートディレクトリに置く必要があります
  • サーバーの設定で .htaccess の使用が無効化されている場合もあるので注意(AllowOverride の設定)。

⚠️ 注意点

  • Redirectmod_alias モジュールの機能です。多くのApacheでは標準で有効ですが、まれに無効化されているサーバーもあります。
  • .htaccess は毎リクエスト処理されるので、リダイレクト数が多い場合は速度や負荷に注意

✅まとめ

項目内容
記述位置.htaccess の先頭(Rewriteルールより前)が安全
設置場所ルート以外にも可。ただし、影響範囲はそのディレクトリ以下のみ
モジュールmod_alias が有効であることを確認

ご利用中のサーバー(共有レンタルサーバー、VPS、Xserver、さくらなど)がわかれば、さらに具体的にアドバイスできます。設置環境は何でしょうか?


Q.

コアサーバーです。


A.

ありがとうございます。**コアサーバー(CORESERVER)**をご利用の場合、.htaccessを使ったリダイレクトは問題なく可能です。以下に、コアサーバーでの最適な設定方法をまとめます。


✅ コアサーバーでの .htaccess によるリダイレクト設定

🔹 記述場所・設置場所

  • .htaccess は、ドメイン直下のルートディレクトリ(例:public_html/html/など)に置くことで、サイト全体に影響させられます。
  • たとえば /html/.htaccess に以下のように記述すればOKです。
# 旧ページから新ドメインへリダイレクト
Redirect 301 /old-page https://example2.com/new-page
  • これは /old-page にアクセスしたときに、https://example2.com/new-page に301リダイレクトします。

🔹 複数ページをまとめてリダイレクトしたい場合

旧ドメイン全体を新ドメインに移すなら:

RedirectMatch 301 ^/(.*)$ https://example2.com/$1

このルールは、

  • https://example1.com/foo/barhttps://example2.com/foo/bar
  • といった形でディレクトリ構造を維持したまま移行可能です。

🔹 .htaccess の注意点(コアサーバー特有)

項目内容
ファイル名必ず .htaccess(拡張子なし)で、BOMなしUTF-8が望ましい
アップロードFTPやファイルマネージャーで隠しファイルの表示をONにしないと見えないことがあります
上書きの優先順位.htaccess に記述したリダイレクトは、WordPressのRewriteルールより前に書くと確実に動作します
サポートmod_alias(Redirect)とmod_rewrite(RewriteRule)はコアサーバーで利用可能です(公式で明記)

✅ テストのポイント

  • ブラウザでアクセスして正しくリダイレクトされるか確認
  • curl -I https://example1.com/old-pageHTTPステータスコードが 301 になっているか確認

🔚 まとめ:コアサーバー用チェックリスト

項目内容
ファイル設置/html/.htaccess に設置(ルート)
内容Redirect 301 /旧パス https://新ドメイン/新パス
優先度RewriteEngine より上に書く
テストリダイレクト先確認+HTTPステータス確認(301)

必要であれば、コアサーバー用の .htaccess テンプレートをまとめてご提供することも可能です。何ページ分の移動を想定していますか?