---
title: Shopify
url: https://rankjet.co/en/docs/integrations/shopify
description: Publish to your Shopify store's blog through a private app you create in Shopify
---

RankJet publishes to your Shopify store's blog through a private app that you create in your own Shopify account. The app gets two permissions, `write_content` and `write_files`, which let it publish blog posts and upload their images. It has no access to orders, customers or products. You create the app once, paste its details into RankJet, and articles go to your blog from then on.

## Before you start

- Sign in to Shopify as the store owner. The app and the store must belong to the same Shopify organization
- Your store needs at least one blog. If it has none, create one under **Online Store**, **Blog posts**, **Manage blogs**

## Create the app in Shopify

In RankJet, open **Settings**, go to the **Integrations** tab and click **Connect** on the **Shopify** card. The window shows the same steps, with copy buttons for the values you paste into Shopify.

1. Open the [Dev Dashboard](https://dev.shopify.com/dashboard) signed in as the store owner, go to **Apps** and click **Create app**
2. Name the app, for example RankJet. Set **App URL** to `https://rankjet.co`, untick **Embed app in Shopify admin**, set **Scopes** to `write_content,write_files` and click **Create app**
3. Under **Home**, click **Install app** and choose your store
4. Under **Settings**, copy the **Client ID** and the **Secret**

## Connect it to RankJet

1. In the RankJet window, fill in **Store name**, **Client ID** and **Secret**. The store name is the last part of your admin address: in `admin.shopify.com/store/your-store` it is `your-store`
2. Click **Connect**. RankJet checks the details and the app's permissions before it saves anything
3. If your store has more than one blog, choose one under **Which blog should we publish to?** and click **Connect** again

The Shopify card then shows **Connected** and the blog RankJet publishes to. The secret is stored encrypted and never shown again. To publish to a different blog later, disconnect and connect again.

## What gets published

| Part | Where it lands in Shopify |
| --- | --- |
| The article | A blog post with its title, body, summary and URL handle, with your store name as the author |
| Images | The main image becomes the post's featured image, and the images inside the article are uploaded to your store's files |
| SEO fields | The page title and meta description of the post's search engine listing |

When you edit an article and publish it again, RankJet updates the same blog post. To review posts in Shopify before they go live, tick **Publish articles as drafts** on the Shopify card.

## Troubleshooting

> Create the app while signed in as the store owner. An app created under another Shopify organization cannot connect to your store, and RankJet reports that the app and the store must belong to the same organization.

| What RankJet shows | What to do |
| --- | --- |
| **The app and the store must belong to the same Shopify organization** | Create the app from the store owner's login and install it on this store |
| **The app is missing permissions** | Add `write_content` and `write_files` to **Scopes**, click **Release** on a new version and install the app again |
| **We could not find an app with these details** | Copy the full **Client ID** and **Secret** from the app's **Settings**, with no spaces |
| **We could not find a store with that name** | Enter only the last part of your admin address `admin.shopify.com/store/your-store` |
| **No blog was found in the store** | Create a blog under **Online Store**, **Blog posts**, **Manage blogs** and connect again |
| **The Shopify connection is not active** | The app was removed from the store or its details changed. Click **Reconnect** on the Shopify card |

To stop publishing, click **Disconnect** on the Shopify card. Posts already published stay on your blog.

- [Autopilot and calendar](https://rankjet.co/en/docs/autopilot): Choose your publishing days, decide what goes live on its own and manage the calendar
- [Articles and review](https://rankjet.co/en/docs/articles): What a RankJet article contains, what it is based on and how to review it
- [Security and data](https://rankjet.co/en/docs/security): How RankJet stores your connections, what it can access and which data it keeps
