Shopify App Proxies & Navigation: How to Link Your App's Front-End Pages to Your Storefront Menu

Hey fellow store owners and app builders!

I recently saw a super relevant question pop up in the Shopify Community from a user named Dualsided, and it’s a classic head-scratcher for anyone building or integrating a custom app: "How do I get my app's front-end app proxy page to show as a selectable link under Content → Menu → Links (specifically under the 'Apps' section)?"

It's a great question because, on the surface, you'd think if your app creates a page, it should just appear as an option, right? But with Shopify's evolving platform and various ways to build apps, it's not always as straightforward as it seems. Let's dig into what's happening here and how to get your app proxy page prominently displayed.

Understanding Shopify App Proxies

First, let's quickly recap what an App Proxy is. For those building custom functionalities, an app proxy is a powerful tool. It allows your app to serve dynamic content directly on your Shopify storefront under a specific URL prefix, like /apps/your-app-name/your-custom-page. When a customer visits that URL, Shopify routes the request to your app's server, which then generates and returns the content. It's fantastic for things like custom product builders, unique landing pages, or user dashboards that need to live within your Shopify domain.

Dualsided's question specifically refers to a "front-end app proxy page," which confirms they're looking to display content served by their app directly to their customers on the store.

The Navigation Menu Challenge: Why Your App Proxy Isn't Showing Automatically

Now, to the core of Dualsided's dilemma. When you go to your Shopify Admin → Online Store → Navigation and try to add a menu item, you'll see various options like "Products," "Collections," "Pages," "Blogs," and sometimes an "Apps" section. The expectation is that your app proxy page should magically appear under "Apps" as a selectable item.

Here's the rub: While your shopify.app.toml file defines and registers your app proxy route with Shopify (telling Shopify to redirect requests for that URL to your app), it doesn't automatically create a corresponding "page object" within Shopify's content management system that the navigation editor recognizes as a distinct, pre-defined link type. The "Apps" section in the menu link selector is typically populated by apps that use specific Shopify UI extensions or APIs designed to create content types or admin links that Shopify's navigation system can then expose. A raw app proxy, by itself, doesn't inherently trigger this.

The Direct Solution: Adding Your App Proxy Link to Your Storefront Navigation

Good news! Getting your app proxy page into your store's navigation is actually quite simple, even if it's not through the "Apps" section you might expect. You'll add it as a standard "Web address" link. Here's how:

Step-by-Step Instructions:

  1. Determine Your App Proxy URL: First, you need the exact URL for your app proxy page. This will typically follow the format /apps/YOUR-APP-PROXY-PREFIX/YOUR-PATH. For example, if your shopify.app.toml defines an app proxy with a prefix like my-cool-app, and you have a route for /dashboard, your URL might be /apps/my-cool-app/dashboard. Make sure to use the relative path (starting with /) rather than the full domain.

  2. Navigate to Shopify Navigation: Log in to your Shopify admin. Go to Online StoreNavigation.

  3. Choose Your Menu: Select the menu you want to add the link to (e.g., "Main menu," "Footer menu").

  4. Add Menu Item: Click on the "Add menu item" button.

  5. Name Your Link: In the "Name" field, type the text you want customers to see for your link (e.g., "My Custom Dashboard," "App Feature Page").

  6. Link to a Web Address: Click on the "Link" field. Instead of selecting an item from the dropdown, you'll see an option to paste a "Web address." Select this option.

  7. Paste Your App Proxy URL: Carefully paste your app proxy URL (e.g., /apps/my-cool-app/dashboard) into the field.

  8. Add and Save: Click "Add", then "Save menu". That's it!

Your app proxy page link will now appear in your storefront navigation, just like any other custom link you've added.

The Role of shopify.app.toml and Modern App Development

Dualsided's mention of a toml setting is astute. The shopify.app.toml file is indeed where you configure your app's capabilities, including app proxies. For example, a typical proxy configuration might look something like this in your shopify.app.toml:


[[app_proxy]]
url = "https://yourapp.com/proxy"
prefix = "/apps/my-cool-app"
asset_server = "false"

This configuration tells Shopify: "Hey, if anyone hits a URL starting with /apps/my-cool-app on my store, please send that request to https://yourapp.com/proxy." It's crucial for the routing, but it doesn't extend to automatically creating a navigation menu item in the Shopify admin UI.

For apps that *do* create selectable items in the "Apps" section of the navigation editor, they often leverage more advanced Shopify App Bridge functionalities or specific UI Extensions that register content types or admin links directly. These are usually for apps that aim for deeper integration into the Shopify admin experience or create content types that are more akin to native Shopify pages or blogs.

Wrapping Up

So, while your app proxy page won't automatically pop up under a dedicated "Apps" section when you're adding menu links for your storefront navigation, the solution is straightforward: use the "Web address" option. This ensures your customers can easily access the awesome, dynamic content your app provides right from your store's main menu. Keep building those fantastic Shopify apps!

Share:

Use cases

Explore use cases

Agencies, store owners, enterprise — find the migration path that fits.

Explore use cases