I’m building a public app that integrates a discussion/forum system into Shopify storefronts. The primary goal is to enhance the user experience and — most importantly — improve SEO for merchants by injecting forum-related content directly into product and collection pages.
To do this, I’m using App Proxy to render content dynamically from our backend. We’ve set up the proxy and installed the app on a test store (forum25.myshopify.com). The password is: a
Here’s an example proxy endpoint that works as expected when accessed directly:
https://forum25.myshopify.com/apps/forum/product/gift-card
What we’re now trying to do is inject that content directly into the product page HTML, so it’s server-rendered, indexable by crawlers, and avoids the limitations of JavaScript-based widgets.
We’ve attempted this using the following Liquid code inside a product template:
{{ 'apps/forum/product/' | append: product.handle | app_proxy_url | remote }}
However, this does not render the app proxy response in the output — it simply renders the path (e.g. apps/forum/product/gift-card) as a string. Can be seen on the product page: https://forum25.myshopify.com/products/gift-card
We’ve verified
- The app is installed with
write_app_proxy
scope - The App Proxy endpoint is correctly configured and responding with valid HTML
- The tag is used inside a
.liquid
template, not inside a dynamic section - We’re avoiding any JavaScript fallback to maintain SEO integrity
Our key question:
What is the officially supported way to inject the response from an App Proxy server-side into a product or collection page — so it is visible to search engines and rendered without relying on client-side JavaScript?