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:

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_content
  • write_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.com URL, for example your-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:

  1. Converts the article's Markdown body to HTML using the marked library
  2. POSTs to /admin/api/2024-10/blogs/{blogId}/articles.json with an X-Shopify-Access-Token header
  • 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.

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

ErrorCauseFix
Shopify API error (401)Access token is invalid or revokedDisconnect and reconnect the integration
Shopify API error (403)App lacks the required scopesCheck that read_content and write_content are set in your app's configuration
Shopify API error (404)Blog ID no longer existsDisconnect, reconnect, and select an existing blog
HMAC verification failedOAuth callback was tampered withRetry 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.

Was this page helpful?