4.1 KiB
4.1 KiB
Wix SEO Metadata Review
SEO Metadata We Generate (BlogSEOMetadataResponse)
Available Fields:
- ✅ seo_title - SEO optimized title
- ✅ meta_description - Meta description
- ✅ url_slug - URL slug for the blog post
- ✅ blog_tags - Array of tag strings (NOW being used for Wix post tags via lookup/create)
- ✅ blog_categories - Array of category strings (NOW being used for Wix post categories via lookup/create)
- ✅ social_hashtags - Hashtags for social media
- ✅ open_graph - Open Graph metadata object:
- title
- description
- image
- url
- type
- ✅ twitter_card - Twitter Card metadata object:
- title
- description
- image
- card (type)
- ✅ canonical_url - Canonical URL
- ✅ focus_keyword - Main SEO keyword
- ❌ json_ld_schema - JSON-LD structured data (NOT being posted - would need frontend implementation)
- ❌ schema - Legacy schema field (NOT being used)
- ❌ reading_time - Estimated reading time (NOT being posted)
- ❌ optimization_score - SEO optimization score (NOT being posted)
- ❌ generated_at - Generation timestamp (NOT being posted)
What We're Currently Posting to Wix
✅ Posted via seoData:
- Keywords (from
focus_keyword,blog_tags,social_hashtags)- Main keyword:
focus_keyword→isMain: true - Additional keywords:
blog_tagsandsocial_hashtags→isMain: false
- Main keyword:
- Meta Tags:
meta description→<meta name="description">seo_title→<meta name="title">
- Open Graph Tags:
og:title,og:description,og:image,og:type,og:url
- Twitter Card Tags:
twitter:title,twitter:description,twitter:image,twitter:card
- Canonical URL:
<link rel="canonical">
✅ NOW Being Posted (Recently Implemented):
-
Blog Categories (
blog_categories)- ✅ Implemented:
lookup_or_create_categories()method - ✅ Behavior: Case-insensitive lookup, auto-create if missing
- ✅ Result: Categories from SEO metadata are posted as
categoryIds(UUIDs)
- ✅ Implemented:
-
Blog Tags (
blog_tagsfor post organization)- ✅ Implemented:
lookup_or_create_tags()method - ✅ Behavior: Case-insensitive lookup, auto-create if missing
- ✅ Result: Tags from SEO metadata are posted as
tagIds(UUIDs) - Note:
blog_tagsare used BOTH for SEO keywords AND for Wix post tags
- ✅ Implemented:
-
JSON-LD Structured Data (
json_ld_schema)- Issue: Wix doesn't support JSON-LD in backend API
- Solution: Would need frontend implementation using
@wix/site-seopackage - Status: Not implemented
-
URL Slug (
url_slug)- Issue: Not being passed to Wix
- Status: Wix generates URL automatically, but we could potentially set it
Implementation Status
✅ Fully Implemented:
- SEO keywords in
seoData.settings.keywords - Meta description tag
- SEO title tag
- Open Graph tags (title, description, image, type, url)
- Twitter Card tags (title, description, image, card type)
- Canonical URL link tag
✅ Fully Implemented:
- Blog Categories: Auto-lookup/create from
blog_categories - Blog Tags: Auto-lookup/create from
blog_tags - Wix Ricos API Integration: Uses official Wix API with fallback to custom parser
❌ Not Implemented (Optional):
- JSON-LD structured data (frontend only - requires
@wix/site-seopackage) - URL slug setting (Wix auto-generates URLs)
- Reading time (metadata only, not applicable)
- Optimization score (metadata only, not applicable)
Summary
✅ All major SEO metadata is now being posted to Wix:
- SEO keywords (main + additional)
- Meta tags (description, title)
- Open Graph tags (title, description, image, type, url)
- Twitter Card tags (title, description, image, card type)
- Canonical URL
- Blog Categories (auto-lookup/create)
- Blog Tags (auto-lookup/create)
The only missing piece is JSON-LD structured data, which requires frontend implementation in the Wix site code using @wix/site-seo package (not a backend concern).