Blog Mappings

Blog mappings define how your WordPress content is organized when synced to Shopify. Each mapping connects a WordPress category to a Shopify blog.

Understanding Blog Mappings

WordPress                    Shopify
─────────────────────────────────────
Category: "News"      →      Blog: "News"
Category: "Tutorials" →      Blog: "Guides"
Category: "Reviews"   →      Blog: "Product Reviews"

Each mapping connects:

  • Source: A WordPress category (or custom taxonomy)
  • Destination: A Shopify blog
  • Language: Optional locale for multilingual content

Creating Blog Mappings

Step 1: Access Mappings

  1. Go to Shopify > Apps > Wash
  2. Select your WordPress connection
  3. Navigate to Blogs tab

Step 2: Add New Mapping

  1. Click Add Mapping
  2. Select the WordPress category from the dropdown
  3. Select or create the Shopify blog
  4. Configure mapping options
  5. Click Save

Mapping Options

OptionDescriptionDefault
Auto-syncSync posts automatically when publishedEnabled
Include draftsSync draft posts to Shopify as draftsDisabled
Sync updatesUpdate Shopify article when WordPress post changesEnabled
Sync deletionsDelete Shopify article when WordPress post is deletedDisabled
Include subcategoriesInclude posts from child categoriesDisabled

Plan Limits

The number of mappings depends on your subscription:

PlanMax MappingsCustom Taxonomies
Free1No
Pro10Yes
Business50Yes
EnterpriseUnlimitedYes

Mapping Strategies

One-to-One Mapping

Each WordPress category maps to one Shopify blog:

WordPress: News → Shopify: News
WordPress: Tips → Shopify: Tips
WordPress: Reviews → Shopify: Reviews
Best for: Simple blog structures with clear content separation.

Many-to-One Mapping

Multiple WordPress categories to a single Shopify blog:

WordPress: Company News → Shopify: Blog
WordPress: Press Releases → Shopify: Blog
WordPress: Events → Shopify: Blog
Best for: Consolidating WordPress categories into Shopify's simpler blog structure.

Language-Based Mapping

Different language categories to language-specific blogs:

WordPress: Blog (EN) → Shopify: Blog (locale: en)
WordPress: Blog (DE) → Shopify: Blog (locale: de)
WordPress: Blog (FR) → Shopify: Blog (locale: fr)
Best for: Multilingual sites using WPML or Polylang.

Shopify Translations API

Wash integrates with Shopify's Translations API to provide native multilingual support for your synced content.

How It Works

WordPress (WPML/Polylang)
        ↓
Wash detects language
        ↓
Primary content → Shopify Article
Translations → Shopify Translations API
        ↓
Shopify Markets displays correct language

Enabling Translations API

  1. Go to Shopify > Apps > Wash > Connection > Settings
  2. Navigate to Hreflangs tab
  3. Enable Use Shopify Translations API
  4. Configure your default language
  5. Save changes

Supported Fields

The following article fields are translated via the Translations API:

FieldTranslations API KeyNotes
TitletitleArticle headline
Contentbody_htmlFull article body
Excerptsummary_htmlArticle summary
HandlehandleURL slug
SEO Titlemetafields.seo.titleMeta title tag
SEO Descriptionmetafields.seo.descriptionMeta description

Translation Workflow

1. Publish post in WordPress (primary language)
   └─ Wash syncs to Shopify as primary article

2. Add translation in WordPress (WPML/Polylang)
   └─ Wash detects linked translation

3. Sync translation
   └─ Wash calls Shopify Translations API:
      POST /admin/api/2024-10/graphql.json
      mutation translationsRegister {
        translationsRegister(
          resourceId: "gid://shopify/Article/123"
          translations: [{
            locale: "de",
            key: "title",
            value: "German Title"
          }]
        ) {
          translations { ... }
        }
      }

4. Shopify Markets displays translated content
   └─ Based on customer's locale

Requirements for Translations API

  • Shopify Markets enabled with multiple languages
  • WPML or Polylang installed in WordPress
  • Business plan or higher for Wash
  • Primary article must exist before translations

Translations API vs Hreflang Tags

AspectTranslations APIHreflang Tags
Content storageSingle article, multiple translationsSeparate articles per language
URL structure/de/blogs/news/article/blogs/news-de/artikel
Shopify MarketsNative integrationManual theme code
SEOAutomatic hreflangManual hreflang tags
ComplexityLower (recommended)Higher

Custom Taxonomies

Pro plans and above support custom taxonomies beyond standard categories:

  • WooCommerce product categories
  • Custom post type taxonomies
  • ACF taxonomy fields

Enabling Custom Taxonomies

  1. Go to WordPress > Wash > Settings > Sync
  2. Enable Custom Taxonomies
  3. Select which taxonomies to expose
  4. Save and refresh Shopify app

Sync Settings per Mapping

Content Options

SettingDescription
Sync excerptsInclude post excerpts as Shopify summaries
Sync tagsMap WordPress tags to Shopify article tags
Sync featured imagesInclude featured image in sync
Convert blocksConvert Gutenberg blocks to Shopify-compatible HTML

URL Options

SettingDescription
Preserve slugsKeep WordPress slugs as Shopify handles
Add language prefixPrepend language code to handle
Smart redirectionsCreate redirects for changed URLs

Troubleshooting

Category Not Appearing

  • Check that category has published posts
  • Verify category is not excluded in WordPress settings
  • Refresh the connection to reload categories

Posts Not Syncing

  • Verify the post is in a mapped category
  • Check that post status is "Published"
  • Review sync logs for errors
  • Ensure auto-sync is enabled for the mapping

Translations Not Appearing

  • Verify primary article exists in Shopify
  • Check that Shopify Markets has the language enabled
  • Ensure WPML/Polylang translation is linked to primary post
  • Review Translations API errors in sync logs

Duplicate Articles

  • Check for overlapping category mappings
  • Verify "Include subcategories" settings
  • Review posts with multiple categories

Related Documentation