Store URL Locking and Store Identity
Understand which Store URL locks for a paid migration, when the lock is created, and what later migration runs may still change.
Store URL Locking and Store Identity
Section titled “Store URL Locking and Store Identity”A paid migration can lock the Source Store URL, the Target Store URL, or both. Confirm the intended stores before completing Connect Stores, because each URL lock remains in force across later runs, configuration changes, upgrades, and extensions.
The locking rule
Section titled “The locking rule”| Active connection setup | What becomes locked |
|---|---|
| The Source setup includes Store URL | The Source Store URL. |
| The Source setup has no Store URL, and the Target setup includes Store URL | The Target Store URL. |
| Neither active setup includes Store URL | No new URL lock. Any existing lock remains in force. |
A lock is created only after the required connection setup succeeds, Connect Stores is saved, and the migration advances to Configuration. Entering a URL or running Test Connection does not create the lock.
What can change after a URL locks
Section titled “What can change after a URL locks”| Situation | Rule |
|---|---|
| Source URL is locked | Later runs that use a Source URL must identify the same Source Store. A different Source Store requires a separate purchased migration. |
| Source URL is locked, but Target URL is not | The Target can be changed to another valid store on the purchased Target Platform. Reconnect and review Configuration before the next migration activity. |
| Target URL is locked | Later runs must keep the same Target Store. A different Target Store requires a separate purchased migration. |
| Connection parameters must change | Wait until the migration is no longer queued, running, processing, or stopping. |
| A later migration action is started | Existing URL locks remain. A new configuration, another migration activity, Upgrade, Extend, or Entity Points Plan change does not reset them. |
Continue the previous migration resumes the existing execution session. It does not move that session to another Target Store.
Staging and production stores
Section titled “Staging and production stores”A staging-to-production change is possible only while the relevant Target Store identity is still allowed to change under the locking rules.
| Project state | Can the Target Store change? |
|---|---|
| Test Connection was run, but Connect Stores has not yet been saved and advanced to Configuration | Yes. Test Connection alone does not create a URL lock. |
| The Source URL is locked and the Target URL is still unlocked | Yes, to another valid store on the purchased Target Platform. Reconnect the intended production store and review Configuration before the next activity. |
| The Target URL is locked | No. A different Target Store requires a separate purchased migration. |
| The submitted Target URL differs only by scheme, default port, hostname capitalization, query, fragment, or trailing slash | It can still represent the same locked store identity. Use the comparison rules below before treating it as a different store. |
Do not use a staging store for a paid migration on the assumption that it can always be replaced later. Confirm which side can lock for the selected Source and Target setup before advancing from Connect Stores.
Source setups without a Source Store URL
Section titled “Source setups without a Source Store URL”Most Source setups identify the source store with Store URL. These setups are exceptions because Connect Stores does not request a Source Store URL:
- Clover
- CSV
- eBay
- Lightspeed Retail (R-Series)
- Square
- XLS
- XML
When the Target provides a Store URL
Section titled “When the Target provides a Store URL”If one of these Source setups is used with a Target that provides Store URL, the Target Store URL becomes the project lock after Connect Stores is saved and the migration advances to Configuration.
For example, CSV -> Shopify locks the Shopify Target URL because CSV has no Source URL. Later migration activity can use another valid Product CSV file, but it cannot redirect that purchased migration to another Shopify store after the Target URL is locked.
When the Target also has no Store URL
Section titled “When the Target also has no Store URL”Lightspeed cumulative locking
Section titled “Lightspeed cumulative locking”A purchased Lightspeed -> Target Platform migration can use any supported Lightspeed edition. The Edition selection changes the Source connection setup for a run, not the purchased platform path. Because editions expose different Source URL fields, the same project can acquire its Source and Target locks on different runs.
Source lock first
Section titled “Source lock first”| Run | Connection behavior | Lock state after the run |
|---|---|---|
| 1. Lightspeed eCom (C-Series) | C-Series includes Store URL. | Source locked. Target remains unlocked. |
| 2. Lightspeed Retail (R-Series) | R-Series has no Source Store URL. If the Target provides Store URL, the Target identity is registered. | Source locked + Target locked. |
| Later URL-based edition | The Source and Target fields are checked against the registered identities. | Both locked identities must match. |
Target lock first
Section titled “Target lock first”The sequence can begin with Lightspeed Retail (R-Series) instead. When the Target provides Store URL, R-Series can establish the Target lock first. A later URL-based Lightspeed edition can then add the Source lock.
How URL identity is compared
Section titled “How URL identity is compared”Next-Cart compares hostname + non-default port + path rather than the complete URL string. Hostname comparison is case-insensitive; path comparison is case-sensitive.
For a locked URL of https://example.com/shop/:
| Submitted URL | Result |
|---|---|
http://example.com/shop | Matches |
https://EXAMPLE.com/shop/ | Matches |
https://example.com/shop/?x=1#top | Matches |
https://example.com:443/shop | Matches |
https://example.com:8443/shop | Does not match: non-default port differs |
https://www.example.com/shop | Does not match: hostname differs |
https://example.com/Shop | Does not match: path case differs |
https://example.com/other | Does not match: path differs |
Scheme, query strings, fragments, default ports, hostname capitalization, and a trailing slash do not create a different store identity by themselves. A different hostname, a different non-default port, or a different normalized path identifies a different store.
Related tasks
Section titled “Related tasks”- Connection Setup Requirements to confirm the fields used by the selected platform, method, or Lightspeed edition.
- Connect Your Source and Target Platforms to check Source and Target connection requirements.
- Test Platform Connections to verify access without changing the URL-lock state.
- Troubleshoot Connection Setup when a locked store identity or connection value prevents the setup from completing.