Guide
By Axel Antas-Bergkvist Published May 9, 2026 Updated May 28, 2026

How to bulk edit Shopify article SEO (at scale)

If you have a dozen Shopify articles, hand-editing them for SEO is annoying but doable. If you have several hundred — or you’ve inherited a store with a multi-year archive across two or three blogs — it’s a wall. You can’t refresh a meta description on every article, fix a heading pattern across the archive, or standardize tags without opening each article in the Shopify admin one at a time. That’s the gap this guide closes.

The problem: Shopify has no real bulk content editor

The Shopify admin lets you list your articles under Online Store → Blog posts, and you can do a few bulk actions from there: change publish status, change author, move articles to a different blog, or delete in bulk. That’s genuinely useful for housekeeping.

But it stops at metadata and status. There is no native way to bulk-edit the things that actually move SEO on a Shopify blog: article bodies, page titles, meta descriptions, internal links, summaries, or heading structure. The SEO surface in particular — Search engine listing preview → Edit website SEO — is shallow (page title plus meta description) and strictly one article at a time. For a 200-article archive, a “quick” meta-description sweep turns into a week of clicking.

The Admin API can technically update articles in bulk, but writing one-off scripts that batch, retry, and respect rate limits is its own project, and the moment you mistype a field path you’ve quietly damaged content on your live store.

The approach: sync down, edit the folder, push back

The fix is to stop editing inside the Shopify admin and bring the whole blog to where bulk edits are easy: a folder of plain markdown files on your Mac.

That round trip is what Specter does. It’s a native macOS app that does two-way sync between Shopify and a local folder. Run the connection flow, pick a folder, and Specter pulls every article from every blog on the store down as a .md file. Crucially, it’s a two-way sync — it can edit articles that are already published, not just create drafts. That’s the whole point for SEO, where the URLs that matter are the ones already ranking.

The workflow looks like this:

  1. Sync every article down to a folder. Each article becomes a markdown file. Frontmatter at the top preserves the title, handle (URL slug), blog assignment, tags, summary, featured-image URL, and the SEO fields — meta_title and meta_description.
  2. Run one pass across the folder. Hand it to Claude, ChatGPT, Gemini, or any other AI tool (here’s the Claude workflow on Shopify) — or run a five-line Python or shell script. Either operates on the folder like any other set of text files.
  3. Run a dry-run preview in Specter. Before anything touches your live store, you see exactly which articles will be created, updated, or flagged as a conflict.
  4. Push back. Specter sends the edits to Shopify over the Admin API once the preview looks right. It batches, throttles, and retries in the background — long sweeps don’t trip Shopify’s rate limits the way ad-hoc scripts do.

Because every editable field lives in the frontmatter or body, this isn’t limited to prose. You can bulk-edit titles, meta descriptions, handles, blog assignments, tags, and summaries the same way you edit the body — they’re just lines in the file.

What’s in the frontmatter

Every Shopify article in your sync folder opens with a YAML block that exposes the SEO and structural surface:

Everything an article-level SEO sweep touches is in there. The body sits below the frontmatter as plain markdown.

Concrete bulk SEO jobs worth running

These are the tasks that are miserable one-by-one in the Shopify admin and trivial across a folder:

This is the territory people mean by “programmatic SEO” on Shopify — generating or updating metadata and content at scale with a repeatable process rather than hand-editing each article. A folder of markdown is exactly the input a script wants.

Safety: preview the diff before it touches Shopify

Bulk automation is powerful precisely because it’s indiscriminate, which is also the risk. The dry-run preview is the safety net. It’s not a vague “this will sync N articles” — it shows the actual creates, updates, and conflicts so you can read the blast radius of an edit before a single byte reaches your live store.

Conflict prompts are the second layer. If you changed an article inside the Shopify admin and changed it locally, Specter asks you which version wins instead of silently clobbering one. After a 300-article sweep, that’s the difference between a clean update and a quiet disaster.

A fair warning: review the diff. The fact that you can rewrite every article in one pass doesn’t mean you should mass-publish whatever an AI produced. Spot-check the output, especially on articles that already get traffic.

The mental model

Shopify stays your publishing home. Your Mac holds the source of truth as markdown. The bulk work — whether it’s an AI rewrite or a five-line script — happens in the folder, where doing something to every article at once is the natural case rather than the impossible one. Specter just keeps the two ends honest, within the strict article/blog scope it’s been granted, so a sweeping SEO edit lands exactly the way the preview said it would.

Buy Specter Pro — $99/year Browse all Shopify guides