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
- In Shopify admin, open Settings → Apps → Develop apps and click Build apps in Dev Dashboard.

Settings → Apps → Develop apps
- In the Dev Dashboard, open Apps, click Create app, then Create app manually.

Create app

Create app manually — use the form, not the CLI
-
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
- App name:

The four fields to set
- Shopify asks you to release the first version. Click Release.

Release the version
- On the app’s Overview, click Install app, choose your store, and approve the access request with Install.

Install the app on your store

Pick the store to install on

Approve the access request
- 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.

Client ID and Client secret
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.
Connecting with your own Shopify app
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.shpss_. We store it encrypted and only use it to renew
the store’s access token.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.
Choosing the destination blog
Step 4 — Publish
Open an article, click Publish, choose Shopify, then Publish now.
Published, with a link to the storefront article

The article in the Shopify admin
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.
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
“Shopify only lets an app get a token for stores in the same organization”
“Shopify only lets an app get a token for stores in the same organization”
“Shopify couldn't find this app on the store”
“Shopify couldn't find this app on the store”
“Shopify rejected the Client ID or Client secret”
“Shopify rejected the Client ID or Client secret”
“The app doesn't have the write_content scope”
“The app doesn't have the write_content scope”
read_content,write_content under the app’s scopes, Release a new version, and
approve the updated permissions on your store.“We couldn't reach that store”
“We couldn't reach that store”
.myshopify.com domain — custom domains are
not accepted.The card says “Your Shopify connection needs to be renewed”
The card says “Your Shopify connection needs to be renewed”
No blogs to choose from
No blogs to choose from

