Skip to content

Conversation

@GeorgeLimaDev
Copy link
Contributor

@GeorgeLimaDev GeorgeLimaDev commented Nov 13, 2025

Relates to the task LOC-22581

…cross-border-stores.md (English, United States)
@github-actions
Copy link
Contributor

Navigation Preview Link

No changes detected in the navigation.json file

@github-actions
Copy link
Contributor

github-actions bot commented Nov 13, 2025

Preview Links

Open this URL to set up the portal with this branch changes.

You can now access the edited pages with the following URLs:

⚠️ Replace the values between the curly brackets according to your scenario.
⚠️ Replace the values inside the curly brackets based on your scenario.

5. Save the returned data.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[markdownlint] reported by reviewdog 🐶
MD029/ol-prefix Ordered list item prefix [Expected: 1; Actual: 5; Style: 1/1/1]

}
```

2. At the bottom of the page, click **Query Variables**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[markdownlint] reported by reviewdog 🐶
MD029/ol-prefix Ordered list item prefix [Expected: 1; Actual: 2; Style: 1/2/3]


2. At the bottom of the page, click **Query Variables**.
3. Fill in the Query Variables section following the example below:
3. Complete the Query Variables section following the example below:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[markdownlint] reported by reviewdog 🐶
MD029/ol-prefix Ordered list item prefix [Expected: 2; Actual: 3; Style: 1/2/3]

>⚠️ If you don't know the `binding` values of your stores, follow [this step-by-step guide on checking your account's `binding` IDs](https://developers.vtex.com/docs/guides/checking-your-stores-binding-id).
>⚠️ If you don't know the `binding` values of your stores, follow [this instruction guide on checking your account's `binding` IDs](https://developers.vtex.com/docs/guides/checking-your-stores-binding-id).
4. Click `Run` to apply the changes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[markdownlint] reported by reviewdog 🐶
MD029/ol-prefix Ordered list item prefix [Expected: 1; Actual: 4; Style: 1/1/1]

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[markdownlint] reported by reviewdog 🐶
MD051/link-fragments Link fragments should be valid [Context: "previous section"]

- For the `from`, `declarer`, `type`, and `binding` fields, use the information you obtained in the [previous section](#getting-the-route-information).

@GeorgeLimaDev GeorgeLimaDev changed the title New Crowdin updates Doc reviewed by localization Nov 13, 2025
@github-actions
Copy link
Contributor

Documentation feedback for docs/localization/vtex-io-documentation-indicating-alternate-pages-in-cross-border-stores.md

General Feedback

The Guide is well-structured and provides a clear walkthrough of indicating alternate versions of localized pages in cross-border stores. However, there are a few areas where the content can be improved to better align with the Guide writing rules, particularly regarding the imperative voice in step titles and the consistency of instructions.

Actionable Feedback

  1. Title: The title is acceptable but could be more concise.
  2. Step Titles: Step titles should follow the format "Step N - Imperative title".
  3. Imperative Voice: Ensure all steps start with an imperative verb.
  4. Consistency: Maintain consistency in instructions and avoid unnecessary explanations within steps.
  5. Callout: The callout in step 2.3 is not a warning, but rather an important note.

Suggested Revision

---
title: "Indicating alternate versions of localized pages in cross-border stores"
slug: "vtex-io-documentation-indicating-alternate-pages-in-cross-border-stores"
hidden: false
excerpt: "Learn how to indicate alternate versions of localized pages."
createdAt: "2020-11-23T14:49:49.171Z"
updatedAt: "2025-10-30T16:07:14.409Z"
---

In this guide, you'll learn how to indicate alternate versions of localized landing pages in cross-border stores to improve SEO and ensure search engines display the correct content for each region.

If your store operates in multiple regions and you have different versions of a [landing page](https://developers.vtex.com/docs/guides/vtex-io-documentation-creating-a-new-custom-page) for each, you should link them as alternate versions. This practice helps search engines understand the relationship between your localized pages, ensuring they serve the right content to the right audience and improving your store SEO.

When you indicate alternate versions, you must do so in pairs. For example, if you point the US version of a page to a Brazilian one, the Brazilian page must also point back to the US version. This reciprocal linking enables search engines to accurately map the relationship between them, thereby preventing indexing errors.

![Frame 15](https://cdn.jsdelivr.net/gh/vtexdocs/dev-portal-content@main/images/vtex-io-documentation-indicating-alternate-pages-in-cross-border-stores-0.png)

Follow the steps below for each localized version of your landing page.

## Instructions

### Step 1 - Get route information

1.  In your terminal, [install](https://developers.vtex.com/docs/guides/vtex-io-documentation-installing-an-app) the `[email protected]` app.
2.  In the Admin, go to **Store Settings > Store > GraphQL IDE**.
3.  From the GraphQL IDE dropdown list, choose the `vtex.rewriter` app.
4.  Run the following query to get the internal data for the page path you want to update:

    ```graphql
    {
      internal {
        get(path: "/{URL}") {
          from
          declarer
          type
          id
          binding
        }
      }
    }
    ```

    ⚠️ Replace the values inside the curly brackets based on your scenario.

5.  Save the returned data.

### Step 2 - Update the route

1.  Clear the previous query and use the following mutation.

    ```graphql
    mutation saveInternal($args: InternalInput!) {
      internal {
        save(route: $args) {
          id
        }
      }
    }
    ```

2.  At the bottom of the page, click **Query Variables**.
3.  Complete the Query Variables section following the example below:

    ```json
    {
      "args": {
        "from": "/US/about-us",
        "declarer": "[email protected]",
        "type": "userRoute",
        "id": "[email protected]:store.custom::us-about-us",
        "binding": "748aafcf-3572-456d-5dec-6ddb3f26e43f",
        "alternates": [
          {
            "binding": "7cf37a3b-efc0-4e47-8201-d8b58kd4d3fd",
            "path": "/BR/sobre-nos"
          },
          {
            "binding": "8cf37a3b-edc0-4a47-8241-d8b58kfsd3fd",
            "path": "/UK/about-us"
          }
        ]
      }
    }
    ```

    -   For the `from`, `declarer`, `type`, and `binding` fields, use the information you obtained in the [previous section](#getting-the-route-information).
    -   For the `id` field, always set its value from the main binding, even if you're updating the secondary binding's route. This keeps a single canonical reference and prevents duplicate or conflicting entries across bindings. For example, if the main binding has the About Us page at `/US/about-us` with the id `vtex.store@2.x:store.custom::us-about-us`, use that same id for the secondary binding's route like `/BR/sobre-nos` to ensure consistency.
    -   In the `alternates` field, provide the `binding` and `path` for each alternate landing page.

        > ℹ️ **Note:** If you don't know the `binding` values of your stores, follow [this instruction guide on checking your account's `binding` IDs](https://developers.vtex.com/docs/guides/checking-your-stores-binding-id).

4.  Click `Run` to apply the changes.

Repeat this entire process for each alternate version of the landing page, updating the path in the initial query each time.

Was this feedback useful?

  • Yes
  • No

@barbara-celi barbara-celi merged commit 8aa50ad into EDU-16446 Nov 14, 2025
7 checks passed
@barbara-celi barbara-celi deleted the l10n_EDU-16446 branch November 14, 2025 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants