Documentation
Feedback
Guides
Storefront Development

Storefront Development
Managing URLs with redirects and rewrite paths
In this guide, learn how to configure redirects and rewrites in your FastStore project to manage how users access your content.
Redirects are used to send users from one URL to another automatically. This is useful when a page has been moved, renamed, or removed. For example, if a page has been moved or renamed, the redirect ensures the user is sent to the new location.
Rewrites allow you to map custom URLs to existing page templates without changing the URL in the browser. This is useful when you want to hide complex or dynamic URL structures from users while maintaining clean and SEO-friendly URLs. For example, you can map a custom URL /sale to an existing Product Listing Page template.
In summary:
  • Redirects change both the URL the user sees and the destination.
  • Rewrites keep the URL the same but change the destination internally.
These two tools enhance content organization, help maintain a good user experience, and ensure search engines continue to index the correct content.

Creating redirects

FastStore provides a way to configure redirects through the faststore.config.js file. This configuration is based on the Next.js redirects.
For projects hosted on Vercel there are redirect limits such as the following: Number of redirects in the array: 1.024 maximum. String length for source and destination parameters: 4.096 maximum. For more information access the Vercel Redirects article.
  1. Open your FastStore project in your preferred code editor and go to the faststore.config.js file within your project directory.
  2. Inside the faststore.config.js, add the redirects function. This function will define your redirect rules, for example:

    _10
    account: "{accountName}",
    _10
    _10
    async redirects() {
    _10
    const redirects = require('./src/redirects.json');
    _10
    return redirects;
    _10
    },

    The redirects function requires the required.json file, which you will create in the next step. This file holds the redirect definitions.
  3. Go to the src folder and create the redirects.json file. Inside the redirects.json file, add the following:

    _10
    [
    _10
    {
    _10
    "source": "/office",
    _10
    "destination": "/about",
    _10
    "permanent": true
    _10
    }
    _10
    ]

    Property nameDescription
    sourceOriginal URL pattern that triggers the redirect. In this example, any URL starting with /office will be redirected.
    destinationNew URL to which users will be sent. Here, /about is the destination for users coming from /office.
    permanentThe type of redirect. Set to true for a permanent (308 status code) redirect, which search engines will cache. Set to false for a temporary (307 status code) redirect.
    For more information about each property, access the Next.js documentation.
  4. Run yarn dev to start your project in development mode.
  5. Open the browser and access the old URL (e.g., /office). If the redirect is set up correctly, you should be automatically redirected to the new URL (e.g., /about).

Creating rewrites

FastStore leverages Next.js rewrites to create custom routes while using existing Product Listing Page (PLP) templates. This allows you to map specific URLs to templates defined in your Headless CMS, providing flexibility in content organization and URL structure.
For more information on using rewrites with PLP templates, see the Using Rewrites with PLP template section on the Multiple page template documentation.
Contributors
1
Photo of the contributor
+ 1 contributors
Was this helpful?
Yes
No
Suggest edits (Github)
Contributors
1
Photo of the contributor
+ 1 contributors
On this page