ログイン後に元のページへ戻るように設定したい

Topic summary

ユーザーがログイン後に元のページへ戻る機能を実装しようとしているが、nextパラメータを使用してもデフォルトのダッシュボードに遷移してしまう問題が発生している。

試した対処法(すべて効果なし):

  • シンプルなパス指定(/homeなど)
  • URLエンコード
  • 異なるブラウザやシークレットモード
  • 別パラメータ名(return_toなど)

提案された解決策:

  1. return_urlパラメータの使用

    • /account/login?return_url=/cartのような形式でルート絶対パスを指定
    • 例:カートページ(/cart)やマイページ(/account)への遷移が可能
  2. JavaScriptによる実装

    • ログインページでdocument.referrerを取得
    • <input type="hidden" name="return_to">要素の値を書き換える
    • ただし、ログインエラー時のreferrer挙動に注意が必要

参考情報:
Shopify公式ドキュメントへのリンクも提供されており、ログイン後のリダイレクト設定に関する情報が記載されている。

Summarized with AI on October 30. AI used: claude-sonnet-4-5-20250929.

現在、next パラメータを使用して、ログイン後に元のページへ戻るように設定しようとしています。

しかし、ログイン後に指定したページではなく、デフォルトのダッシュボードページに遷移してしまいます。

試したこと

  1. next に /home などのシンプルなパスを指定 → 反映されず

  2. next のURLをエンコード にしてみる → 変化なし

  3. シークレットモードや別のブラウザで試す → 同じ現象

  4. next ではなく return_to などの別のパラメータを試す → 効果なし

ログインシステムが next をサポートしていない可能性も考えられますが、何か解決策があれば教えていただけないでしょうか?
また、JavaScriptなどを使用してログイン後に元のページへ戻す方法も検討しています。

どなたかアドバイスをいただけると助かります!

@DAIYACOPORATION

Shopifyの公式なドキュメントは見つからないのですが、

/account/login?return_url=

でログイン後に遷移するページを指定できます。

ルート絶対パスで指定可能です。

例1: カートページに遷移させるのであれば、/account/login?return_url=/cart

例2: マイページに遷移させるのであれば、/account/login?return_url=/account

また、JavaScriptなどを使用してログイン後に元のページへ戻す方法も検討しています。

ログインページに下記の要素が生成されていたので、


ログインページでJavaScriptで、document.referrerを取得して、上記要素のvalueを書き換えることで、ログイン後に直前のページに遷移するようにできるかと思います。

※ ログインページでエラーが発生すると、ログインページ自体に遷移します。その場合、referrerがどうなるかは注意が必要です。

ご参考まで。

(キュー田辺)

Shopifyの公式なドキュメントは見つからないのですが

情報はあまり書かれていませんが以下が該当するかと思います。

https://shopify.dev/docs/storefronts/themes/login#direct-customers-back-to-another-page-on-the-online-store

把握されていた場合は申し訳ありません。

1 Like