Shopify Integration
RankAscend publishes content to Shopify via the Admin REST API, using a custom app you create in the Shopify Developer Dashboard. Once connected, every article RankAscend generates is converted to HTML and posted as a live blog article on your chosen store blog.
Before you start
Shopify publishing requires you to create your own custom app in the Shopify Developer Dashboard. This gives you full control over the app's permissions and lets you revoke access at any time without affecting RankAscend's other integrations.
You will need:
- A Shopify store on any plan (including development stores)
- Admin access to the store
- Access to the Shopify Developer Dashboard
Creating your Shopify custom app
1. Open the Dev Dashboard
Log in to the Shopify Developer Dashboard. If you do not have a Partners account, create a free one.
2. Create a new app
Click Create app and give it a name, for example RankAscend. Select the store you want to connect as the development store.
3. Configure API scopes and release
In your app's configuration, set the API access scopes to:
read_contentwrite_content
These are the only two scopes RankAscend requests. Click Release to create a version of the app. Shopify requires at least one released version before OAuth can run.
4. Add the redirect URL
In your app's App setup page, find the Allowed redirection URL(s) field and add:
https://app.rankascend.com/api/auth/shopify/callback
If you are running RankAscend on a custom domain or locally, replace the origin with your actual URL.
5. Copy your credentials
Go to your app's Client credentials page and copy the Client ID and Client Secret. You will paste these into RankAscend in the next step.
Connecting in RankAscend
Go to Settings → Integrations → Shopify and complete the three-step connection flow.
Step 1: Enter your credentials
- Name
Store URL- Type
- string
- Description
Your Shopify store's
.myshopify.comURL, for exampleyour-store.myshopify.com. Do not use your custom domain here.
- Name
Client ID- Type
- string
- Description
The Client ID from your app's Client credentials page in the Dev Dashboard.
- Name
Client Secret- Type
- string
- Description
The Client Secret from the same page. Stored encrypted at rest.
Click Connect. You will be redirected to Shopify to authorise the app on your store.
Step 2: Select a blog
After authorising, you are returned to RankAscend and prompted to choose which blog to publish articles to. Most stores have one blog (usually titled News), but if your store has multiple blogs they all appear in the selector.
Click Complete Setup to save the selection. RankAscend will now publish to the chosen blog.
Step 3: Connected
Once a blog is selected, the integration card shows your store name, URL, active blog, and connection date. RankAscend runs a health check and shows No Issues when the connection is working correctly.
How publishing works
When a scheduled publish job runs for a Shopify site, RankAscend:
- Converts the article's Markdown body to HTML using the
markedlibrary - POSTs to
/admin/api/2024-10/blogs/{blogId}/articles.jsonwith anX-Shopify-Access-Tokenheader
- Name
title- Type
- string
- Description
The article title.
- Name
handle- Type
- string
- Description
The SEO-optimized URL slug.
- Name
body_html- Type
- string
- Description
Full HTML body converted from Markdown.
- Name
summary_html- Type
- string
- Description
The meta description.
- Name
published- Type
- boolean
- Description
Always
true. Articles go live immediately.
Shopify strips <script> tags from body_html, so JSON-LD structured data cannot be injected inline the way it is for GitHub or WordPress publishing. To add Article schema to your Shopify blog, add the JSON-LD block to your theme's blog post template instead.
The article URL returned by Shopify is stored in the Publish Log as the article link.
Per-content-type blog
By default all content formats publish to the blog you selected during setup. If you want different content types to publish to separate blogs, contact support — per-type blog mapping is available as an advanced configuration.
Error handling
| Error | Cause | Fix |
|---|---|---|
Shopify API error (401) | Access token is invalid or revoked | Disconnect and reconnect the integration |
Shopify API error (403) | App lacks the required scopes | Check that read_content and write_content are set in your app's configuration |
Shopify API error (404) | Blog ID no longer exists | Disconnect, reconnect, and select an existing blog |
HMAC verification failed | OAuth callback was tampered with | Retry the connection flow |
Failed jobs are retried automatically every 30 minutes. You can also reschedule any failed job manually from the Publish Log.
Disconnecting Shopify
Go to Settings → Integrations → Shopify and click Disconnect. RankAscend removes the stored credentials and access token. To fully revoke access, uninstall the app from your Shopify store under Settings → Apps in your Shopify admin.