Skip to main content
The Shopify connector posts articles to one blog in your store — the “News” blog every store starts with, or any blog you’ve created since. There are two ways to connect. Most stores should use your own Shopify app: you create a private app for your store in Shopify’s Dev Dashboard and paste its credentials into SeoSorted. Nothing is installed from the App Store, and only your store can use the app.
The app only needs the content scopes (read_content, write_content). It can create and read blog articles. It cannot see orders, customers, or payment data.

Before you start

  • You need to be the store owner, or staff with permission to develop apps.
  • Your store needs at least one blog: Shopify admin → Content → Blog posts → Manage blogs.

Step 1 — Create the app in the Dev Dashboard

  1. In Shopify admin, open Settings → Apps → Develop apps and click Build apps in Dev Dashboard.
Shopify admin App development page with the Build apps in Dev Dashboard button highlighted

Settings → Apps → Develop apps

  1. In the Dev Dashboard, open Apps, click Create app, then Create app manually.
Shopify Dev Dashboard Apps page with the Create app button highlighted

Create app

Create app menu open with Create app manually highlighted

Create app manually — use the form, not the CLI

  1. Fill in the form:
    • App name: SEOsorted
    • App URL: https://shopify.dev/apps/default-app-home
    • Untick Embed app in Shopify admin
    • Scopes: read_content,write_content
    Then click Create app.
Create an app form with App name SEOsorted, App URL, Embed app in Shopify admin unticked and Scopes read_content,write_content highlighted

The four fields to set

  1. Shopify asks you to release the first version. Click Release.
Release version dialog with the Release button highlighted

Release the version

  1. On the app’s Overview, click Install app, choose your store, and approve the access request with Install.
App overview with the Install app button highlighted

Install the app on your store

Shopify store picker with the store highlighted

Pick the store to install on

Install app permission screen listing staff and store data access with the Install button highlighted

Approve the access request

  1. Back on the app’s Overview, the Credentials card has the Client ID and Client secret (starts with shpss_). Use the copy buttons — you’ll paste both into SeoSorted.
App overview Credentials card with Client ID and a masked Client secret highlighted

Client ID and Client secret

Create the app from the same store’s admin. Shopify only issues tokens to a Dev Dashboard app for stores in the same Shopify organization, so an app created in another account (for example an agency’s) is refused with “Shopify only lets an app get a token for stores in the same organization”.
Since January 1, 2026 Shopify no longer lets you create legacy custom apps that show an Admin API access token (shpat_…). The Dev Dashboard app above replaces them — you paste the Client ID and Client secret instead of a token, and SeoSorted renews access every 24 hours on its own.

Step 2 — Connect in SeoSorted

Project Settings → Integrations → Shopify → Connect, and keep Your own Shopify app selected.
Connect Shopify dialog with Your own Shopify app selected, setup steps, and Store URL, Client ID and Client secret fields

Connecting with your own Shopify app

string
required
Your admin URL, e.g. https://admin.shopify.com/store/seosorted-demo — copy it from the browser bar while you’re in the Shopify admin. seosorted-demo.myshopify.com or just seosorted-demo work too. Your custom domain does not.
string
required
From the Credentials card on the app’s Overview in the Dev Dashboard.
string
required
From the same page; starts with shpss_. We store it encrypted and only use it to renew the store’s access token.
Click Connect. We request a token from Shopify straight away, so a wrong value fails here rather than on your first publish.

Step 3 — Pick a blog

If your store has one blog, it’s selected for you and you’re done. With several, the Configure Shopify dialog opens — choose the blog your theme actually renders and save.
Configure Shopify dialog with a Publish to blog dropdown set to News

Choosing the destination blog

You can change the blog any time with Configure on the Shopify card.

Step 4 — Publish

Open an article, click Publish, choose Shopify, then Publish now.
Publish dialog showing Published with a myshopify.com blogs URL

Published, with a link to the storefront article

The article appears in Shopify admin → Content → Blog posts, visible and dated.
Shopify Blog posts list showing Publishing Automation Checklist, visible, in the News blog

The article in the Shopify admin

Articles are created published (visible immediately) with:

Re-publishing, unpublishing and deleting

  • Re-publish updates the same Shopify article in place.
  • Unpublish hides the article on your storefront.
  • After an unpublish, SeoSorted forgets the article. Publishing it again creates a new Shopify article; the hidden one stays in your blog.
  • Deleting the article in SeoSorted deletes it in Shopify.
The success dialog links to the myshopify.com URL, which redirects to your custom domain. On a development store — or any store with password protection on — that link asks for the storefront password before it renders.

Tracking AI crawlers

Shopify’s storefront can’t be proxied through Cloudflare or run server code, so AI crawler tracking isn’t available for Shopify stores.

Common problems

The app was created in a different Shopify account than the store. Create the app again from this store’s own admin (Settings → Apps → Develop apps → Build apps in Dev Dashboard) and use its Client ID and Client secret.
Either the Client ID was mistyped, or the app was never released and installed on this store. In the Dev Dashboard, click Release, then Install app on the app’s home page, and try again.
The Client secret was rotated or copied incompletely. Copy both values again from the Credentials card on the app’s Overview. If you rotate the Client secret later, reconnect with the new one.
Add read_content,write_content under the app’s scopes, Release a new version, and approve the updated permissions on your store.
Check the Store URL. Use the admin URL or the .myshopify.com domain — custom domains are not accepted.
We couldn’t renew the store’s 24-hour token — usually because the app was uninstalled or its Client secret rotated. Reconnect with the current Client ID and Client secret.
The store has no blog yet. Create one in Shopify admin → Content → Blog posts → Manage blogs, then reopen the setup dialog.