Blog Importerは、ブログ記事の移行と同時に、Shopifyの標準301リダイレクト機能への自動登録を行います。 これにより、複雑な操作をすることなく、旧サイトのURLから新しいShopify上のURLへ、検索エンジンからの評価(SEO)をスムーズに引き継ぐことが可能です。

しかし、Shopifyの標準機能には一部リダイレクトできないパターンが存在します。

自動登録ができないパターン:パラメータ入りURL

Shopifyの標準リダイレクト設定は、URLに「?」が含まれる住所(クエリパラメータ)を正確に識別できないという仕様上の制限があります。

  • 対応可能な例: example.com/old-post
  • 対応可能な例 2階層目以降のパラメータ: example.com/news/?pid=123
  • 対応できない例: example.com/?pid=123 (ドメイン直下のパラメータ付きURL

上記のパターンのURLは、Blog ImporterShopifyのリダイレクト機能では、リダイレクト設定ができません。

解決方法

このような古いサイト特有のURL形式から引っ越しを行うには、JavaScriptというプログラムの力を借りて、ブラウザ側で正しいページへと案内し直す必要があります。

なぜJavaScriptが必要なの?

Shopifyの標準リダイレクトはサーバー側で処理されますが、システムの仕組み上、URLの「?」から後ろの部分を読み飛ばすという決まりがあるため、パラメータの違いによって行き先を細かく分けることができません。 この問題を解決するには、お客さまがサイトを開いた瞬間にブラウザ(JavaScript)がURLの全文をパッと確認して、正しいページへと手動で案内し直すという、一段階上の「賢い道案内」が必要になります。

JavaScriptによる実装方法(サンプルコード)

Shopifyテーマの theme.liquid 内、</head> タグの直前に以下のコードを配置します。 redirectMap の中身を、旧URLのパラメータと新URLのパスに書き換えて使用してください。

<script>
(function() {
  // Redirect map: Old URL parameters to new paths
  var redirectMap = {
    "?pid=123": "/blogs/news/article-a",
    "?pid=456": "/blogs/news/article-b",
    "?p=789": "/pages/contact"
  };

  var currentQuery = window.location.search;

  if (currentQuery && redirectMap[currentQuery]) {
    window.location.href = redirectMap[currentQuery];
  }
})();
</script>

ページ数が多い場合や設定が不安な方へ(有償サポート)

「移行対象が数百件あり、リスト作成が困難」「コードを触るのが不安」「設定ミスでSEO評価を下げたくない」というお客様のために、当アプリ開発チームによる 有償設定代行サービス を承っております。

お客様に代わって最適なリダイレクトコードを作成し、貴社ストアのテーマへ安全に実装いたします。 ご希望の場合は、お問い合わせフォームより「リダイレクト設定代行希望」と明記の上、お気軽にご相談ください。