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
- Go to Shopify > Apps > Wash
- Select your WordPress connection
- Navigate to Blogs tab
Step 2: Add New Mapping
- Click Add Mapping
- Select the WordPress category from the dropdown
- Select or create the Shopify blog
- Configure mapping options
- Click Save
Mapping Options
| Option | Description | Default |
|---|---|---|
| Auto-sync | Sync posts automatically when published | Enabled |
| Include drafts | Sync draft posts to Shopify as drafts | Disabled |
| Sync updates | Update Shopify article when WordPress post changes | Enabled |
| Sync deletions | Delete Shopify article when WordPress post is deleted | Disabled |
| Include subcategories | Include posts from child categories | Disabled |
Plan Limits
The number of mappings depends on your subscription:
| Plan | Max Mappings | Custom Taxonomies |
|---|---|---|
| Free | 1 | No |
| Pro | 10 | Yes |
| Business | 50 | Yes |
| Enterprise | Unlimited | Yes |
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
- Go to Shopify > Apps > Wash > Connection > Settings
- Navigate to Hreflangs tab
- Enable Use Shopify Translations API
- Configure your default language
- Save changes
Supported Fields
The following article fields are translated via the Translations API:
| Field | Translations API Key | Notes |
|---|---|---|
| Title | title | Article headline |
| Content | body_html | Full article body |
| Excerpt | summary_html | Article summary |
| Handle | handle | URL slug |
| SEO Title | metafields.seo.title | Meta title tag |
| SEO Description | metafields.seo.description | Meta 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
| Aspect | Translations API | Hreflang Tags |
|---|---|---|
| Content storage | Single article, multiple translations | Separate articles per language |
| URL structure | /de/blogs/news/article | /blogs/news-de/artikel |
| Shopify Markets | Native integration | Manual theme code |
| SEO | Automatic hreflang | Manual hreflang tags |
| Complexity | Lower (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
- Go to WordPress > Wash > Settings > Sync
- Enable Custom Taxonomies
- Select which taxonomies to expose
- Save and refresh Shopify app
Sync Settings per Mapping
Content Options
| Setting | Description |
|---|---|
| Sync excerpts | Include post excerpts as Shopify summaries |
| Sync tags | Map WordPress tags to Shopify article tags |
| Sync featured images | Include featured image in sync |
| Convert blocks | Convert Gutenberg blocks to Shopify-compatible HTML |
URL Options
| Setting | Description |
|---|---|
| Preserve slugs | Keep WordPress slugs as Shopify handles |
| Add language prefix | Prepend language code to handle |
| Smart redirections | Create 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