← back to Wine Finder Next
SEO_DEPLOYMENT_CHECKLIST.md
571 lines
# SEO Deployment Checklist - Wine Membership Platform
**Platform:** http://45.61.58.125:7250/membership
**Date:** November 17, 2025
**Status:** Ready for Advanced SEO Deployment
---
## PRE-DEPLOYMENT VALIDATION
### 1. Schema Markup Validation
#### Google Rich Results Test
- [ ] Go to: https://search.google.com/test/rich-results
- [ ] Enter URL: `http://45.61.58.125:7250/membership`
- [ ] Verify all schema types detected:
- [ ] Organization
- [ ] WebSite with SearchAction
- [ ] Product (Château Margaux 1996)
- [ ] Product (DRC La Tâche 2005)
- [ ] FAQPage (8 questions)
- [ ] HowTo (5 steps)
- [ ] Review (3 reviews)
- [ ] AggregateRating (platform + products)
- [ ] BreadcrumbList
- [ ] Verify no errors or warnings
- [ ] Screenshot results for documentation
#### Schema.org Validator
- [ ] Go to: https://validator.schema.org/
- [ ] Test URL: `http://45.61.58.125:7250/membership`
- [ ] Verify JSON-LD passes validation
- [ ] Check for any warnings
- [ ] Document any issues
### 2. Metadata Validation
#### Title Tag Check
- [ ] View page source
- [ ] Verify title: "Tokenized Wine Membership | Rare Wine Investment & Shares | Wine DAO"
- [ ] Confirm length: 50-60 characters
- [ ] Verify keywords included: tokenized, wine, investment, shares, DAO
#### Meta Description Check
- [ ] Verify description present and under 160 characters
- [ ] Confirm call-to-action included
- [ ] Check for key benefits mentioned
- [ ] Verify no duplicate descriptions across pages
#### Open Graph Tags
- [ ] og:title present
- [ ] og:description present
- [ ] og:image URL valid (create if missing)
- [ ] og:type = "website"
- [ ] og:url correct
- [ ] Test with Facebook Sharing Debugger: https://developers.facebook.com/tools/debug/
#### Twitter Card Tags
- [ ] twitter:card = "summary_large_image"
- [ ] twitter:title present
- [ ] twitter:description present
- [ ] twitter:image URL valid
- [ ] Test with Twitter Card Validator: https://cards-dev.twitter.com/validator
### 3. Technical SEO Validation
#### Run Automated Validator
```bash
chmod +x /root/Projects/wine-finder-next/scripts/seo-validator.sh
/root/Projects/wine-finder-next/scripts/seo-validator.sh
```
- [ ] All tests pass (or document failures)
- [ ] Success rate >95%
- [ ] Save report for documentation
#### Manual Technical Checks
- [ ] Sitemap accessible: http://45.61.58.125:7250/sitemap.xml
- [ ] Sitemap contains /membership page
- [ ] Robots.txt accessible: http://45.61.58.125:7250/robots.txt
- [ ] Robots.txt allows indexing of /membership
- [ ] Canonical URL present in HTML head
- [ ] No duplicate canonical tags
- [ ] Language attribute set (lang="en")
### 4. Performance Testing
#### Google PageSpeed Insights
- [ ] Test URL: http://45.61.58.125:7250/membership
- [ ] Mobile score: Target 85+
- [ ] Desktop score: Target 90+
- [ ] Core Web Vitals pass:
- [ ] LCP (Largest Contentful Paint) <2.5s
- [ ] FID (First Input Delay) <100ms
- [ ] CLS (Cumulative Layout Shift) <0.1
#### Lighthouse Audit (Chrome DevTools)
- [ ] Open page in Chrome
- [ ] F12 → Lighthouse tab
- [ ] Run audit (Mobile + Desktop)
- [ ] Verify scores:
- [ ] Performance: 85+
- [ ] Accessibility: 95+
- [ ] Best Practices: 95+
- [ ] SEO: 95+
- [ ] Screenshot results
### 5. Mobile-Friendly Test
- [ ] Go to: https://search.google.com/test/mobile-friendly
- [ ] Enter URL: http://45.61.58.125:7250/membership
- [ ] Verify "Page is mobile-friendly"
- [ ] Check for any mobile usability issues
- [ ] Test on actual mobile device (iOS + Android)
### 6. Content Quality Check
#### Keyword Density
- [ ] "tokenized" appears 10+ times
- [ ] "wine investment" appears 15+ times
- [ ] "rare wine" appears 8+ times
- [ ] "fractional ownership" appears 5+ times
- [ ] Natural keyword distribution (not stuffed)
#### Heading Structure
- [ ] Single H1 tag present
- [ ] H1 contains primary keywords
- [ ] H2 tags for major sections
- [ ] H3 tags for subsections
- [ ] Proper hierarchy (no skipping levels)
#### Semantic HTML
- [ ] Article tags for wine bottles
- [ ] Section tags for content blocks
- [ ] Nav tag for navigation
- [ ] Header and footer tags
- [ ] Main tag for primary content
#### Accessibility
- [ ] ARIA labels on buttons
- [ ] Alt text on images (if any)
- [ ] Proper form labels
- [ ] Keyboard navigation works
- [ ] Color contrast sufficient
---
## SEARCH ENGINE SUBMISSION
### Google Search Console
#### Setup
1. [ ] Go to: https://search.google.com/search-console
2. [ ] Add property: `http://45.61.58.125:7250`
3. [ ] Choose HTML tag verification method
4. [ ] Update `/app/membership/layout.tsx` with verification code:
```tsx
verification: {
google: 'your-actual-verification-code-here',
}
```
5. [ ] Deploy changes
6. [ ] Click "Verify" in Search Console
#### Configuration
7. [ ] Submit sitemap: `http://45.61.58.125:7250/sitemap.xml`
8. [ ] Request indexing for /membership page
9. [ ] Set preferred domain (www vs non-www)
10. [ ] Configure email notifications
11. [ ] Link Google Analytics (if using)
#### Monitoring Setup
12. [ ] Enable email alerts for critical issues
13. [ ] Set up Core Web Vitals monitoring
14. [ ] Configure mobile usability reports
15. [ ] Enable rich results monitoring
### Bing Webmaster Tools
#### Setup
1. [ ] Go to: https://www.bing.com/webmasters
2. [ ] Add site: `http://45.61.58.125:7250`
3. [ ] Import from Google Search Console (easier)
- OR -
4. [ ] Use XML file verification method
5. [ ] Update verification code in metadata
#### Configuration
6. [ ] Submit sitemap: `http://45.61.58.125:7250/sitemap.xml`
7. [ ] Request URL inspection for /membership
8. [ ] Configure crawl settings
9. [ ] Enable email notifications
### Yandex Webmaster (Optional - If targeting Russian market)
1. [ ] Go to: https://webmaster.yandex.com/
2. [ ] Add site
3. [ ] Verify ownership
4. [ ] Submit sitemap
---
## POST-DEPLOYMENT MONITORING
### Week 1 Checklist
#### Daily Checks
- [ ] Check Search Console for indexing status
- [ ] Verify no crawl errors
- [ ] Monitor for schema markup errors
- [ ] Check for manual penalties
#### Weekly Checks
- [ ] Review Search Console performance data
- [ ] Check impressions for target keywords
- [ ] Monitor click-through rates
- [ ] Verify rich results appearing
### Month 1 Checklist
#### Keyword Tracking
- [ ] Set up rank tracking for 10 primary keywords
- [ ] Document baseline positions
- [ ] Monitor weekly changes
- [ ] Adjust strategy based on movement
#### Traffic Analysis
- [ ] Set up Google Analytics 4 (or alternative)
- [ ] Configure goals for conversions
- [ ] Track organic traffic sources
- [ ] Monitor bounce rate and session duration
#### Backlink Monitoring
- [ ] Set up Ahrefs or SEMrush project
- [ ] Track referring domains
- [ ] Monitor Domain Rating progress
- [ ] Identify toxic backlinks (disavow if needed)
---
## OPTIMIZATION PRIORITIES
### Priority 1: Critical (Week 1)
1. **Create Missing Visual Assets**
- [ ] Design Open Graph image (1200x630px)
- Include wine bottles
- Platform name
- Key value proposition
- [ ] Create Twitter Card image (same as OG)
- [ ] Generate favicon set
- [ ] Upload to /public directory
2. **Schema Markup Testing**
- [ ] Test all schema types with Google
- [ ] Fix any validation errors
- [ ] Verify rich results eligibility
- [ ] Monitor Search Console for rich result status
3. **Search Console Setup**
- [ ] Complete Google verification
- [ ] Complete Bing verification
- [ ] Submit sitemaps to both
- [ ] Request indexing
### Priority 2: Important (Week 2-4)
4. **Content Creation**
- [ ] Write "Complete Guide to Tokenized Wine Investment"
- Target: 2500+ words
- Include TOC, images, charts
- Optimize for featured snippets
- [ ] Create FAQ page (expand from schema)
- [ ] Write wine comparison article
- [ ] Produce explainer video (optional)
5. **Internal Linking**
- [ ] Add contextual links between pages
- [ ] Create related wine recommendations
- [ ] Build topical clusters (regions, vintages)
- [ ] Optimize anchor text
6. **Backlink Outreach**
- [ ] Research 50 target publications
- [ ] Create press release
- [ ] Write pitch templates
- [ ] Send first 10 outreach emails
### Priority 3: Enhancement (Month 2-3)
7. **Individual Wine Pages**
- [ ] Create /membership/chateau-margaux-1996
- [ ] Create /membership/drc-la-tache-2005
- [ ] Implement wine-specific schema per page
- [ ] Add detailed tasting notes
- [ ] Include historical pricing charts
8. **Conversion Optimization**
- [ ] Add social proof metrics (investor count)
- [ ] Display trust badges
- [ ] Implement urgency messaging
- [ ] Create scarcity alerts
- [ ] A/B test CTAs
9. **Performance Optimization**
- [ ] Optimize Core Web Vitals
- [ ] Implement image lazy loading
- [ ] Add resource preloading
- [ ] Compress assets further
- [ ] Enable HTTP/2 push
---
## VALIDATION TESTING URLS
### Google Tools
- Rich Results Test: https://search.google.com/test/rich-results
- Mobile-Friendly Test: https://search.google.com/test/mobile-friendly
- PageSpeed Insights: https://pagespeed.web.dev/
- Search Console: https://search.google.com/search-console
- Analytics: https://analytics.google.com/
### Schema Validators
- Schema.org Validator: https://validator.schema.org/
- Structured Data Linter: http://linter.structured-data.org/
- JSON-LD Playground: https://json-ld.org/playground/
### Social Media Validators
- Facebook Debugger: https://developers.facebook.com/tools/debug/
- Twitter Card Validator: https://cards-dev.twitter.com/validator
- LinkedIn Post Inspector: https://www.linkedin.com/post-inspector/
### SEO Audit Tools
- Lighthouse (Chrome DevTools): F12 → Lighthouse
- WebPageTest: https://www.webpagetest.org/
- GTmetrix: https://gtmetrix.com/
- Screaming Frog (desktop app): https://www.screamingfrog.co.uk/
### Backlink Checkers
- Ahrefs: https://ahrefs.com/backlink-checker
- Moz Link Explorer: https://moz.com/link-explorer
- Majestic: https://majestic.com/
---
## EMERGENCY TROUBLESHOOTING
### Issue: Schema Markup Not Detected
**Diagnosis:**
```bash
curl -s http://45.61.58.125:7250/membership | grep -o 'application/ld+json'
```
**Fixes:**
1. Verify JsonLd component is rendered
2. Check for JavaScript errors in console
3. Ensure JSON is valid (use JSONLint.com)
4. Verify dangerouslySetInnerHTML syntax
5. Clear cache and hard reload
### Issue: Page Not Indexing
**Diagnosis:**
- Check robots.txt: `curl http://45.61.58.125:7250/robots.txt`
- Check for noindex meta tag in page source
- Verify sitemap includes page
- Check Search Console for crawl errors
**Fixes:**
1. Ensure robots.txt allows Googlebot
2. Remove any noindex directives
3. Submit URL for indexing in Search Console
4. Wait 2-7 days for crawling
### Issue: Low Lighthouse SEO Score
**Common Causes:**
- Missing meta description
- Non-unique page titles
- Missing canonical URL
- Broken internal links
- No hreflang (if multi-language)
**Fixes:**
1. Run Lighthouse audit
2. Review specific failed audits
3. Fix issues one by one
4. Re-run audit to verify
### Issue: Core Web Vitals Failing
**LCP (Loading) Issues:**
- Optimize images (WebP, compression)
- Preload critical resources
- Remove render-blocking JavaScript
- Use CDN for static assets
**FID (Interactivity) Issues:**
- Code split large bundles
- Defer non-critical JavaScript
- Use React.lazy() for components
- Reduce JavaScript execution time
**CLS (Visual Stability) Issues:**
- Set explicit width/height on images
- Reserve space for dynamic content
- Avoid inserting content above existing content
- Use CSS transform instead of layout properties
---
## SUCCESS METRICS TRACKING
### Weekly Tracking (First Month)
```
Week 1:
- Indexed pages: ___
- Impressions: ___
- Clicks: ___
- Average position: ___
- Schema errors: ___
Week 2:
- Indexed pages: ___
- Impressions: ___
- Clicks: ___
- Average position: ___
- Rich results: ___
Week 3:
- Indexed pages: ___
- Impressions: ___
- Clicks: ___
- Average position: ___
- Backlinks: ___
Week 4:
- Indexed pages: ___
- Impressions: ___
- Clicks: ___
- Average position: ___
- Organic revenue: $___
```
### Monthly Tracking
```
Month 1:
- Total organic traffic: ___
- Top keywords in top 100: ___
- Featured snippets won: ___
- Backlinks acquired: ___
- Domain Rating: ___
Month 2:
- Total organic traffic: ___
- Top keywords in top 100: ___
- Featured snippets won: ___
- Backlinks acquired: ___
- Domain Rating: ___
Month 3:
- Total organic traffic: ___
- Top keywords in top 100: ___
- Featured snippets won: ___
- Backlinks acquired: ___
- Domain Rating: ___
```
---
## QUICK REFERENCE COMMANDS
### Check Server Status
```bash
curl -I http://45.61.58.125:7250/membership
```
### Validate Schema Markup
```bash
curl -s http://45.61.58.125:7250/membership | \
grep -A 500 'application/ld+json' | \
head -n 500 | \
jq '.'
```
### Check Sitemap
```bash
curl -s http://45.61.58.125:7250/sitemap.xml | head -n 50
```
### Check Robots.txt
```bash
curl -s http://45.61.58.125:7250/robots.txt
```
### Run SEO Validator
```bash
chmod +x /root/Projects/wine-finder-next/scripts/seo-validator.sh
/root/Projects/wine-finder-next/scripts/seo-validator.sh
```
### Monitor Server Logs
```bash
pm2 logs wine-finder-next --lines 100
```
### Check Build Status
```bash
cd /root/Projects/wine-finder-next
npm run build
```
---
## FINAL PRE-LAUNCH CHECKLIST
### Code Quality
- [ ] No console.log() statements in production
- [ ] No TODO comments in critical files
- [ ] All TypeScript errors resolved
- [ ] ESLint warnings addressed
- [ ] Build completes successfully
### SEO Completeness
- [ ] All schema types implemented
- [ ] Metadata complete on all pages
- [ ] Sitemap generated and accessible
- [ ] Robots.txt configured correctly
- [ ] Canonical URLs set
### Performance
- [ ] Images optimized
- [ ] Gzip compression enabled
- [ ] Caching headers set
- [ ] No render-blocking resources
- [ ] Lazy loading implemented
### Monitoring
- [ ] Search Console verified
- [ ] Analytics configured
- [ ] Error tracking set up
- [ ] Uptime monitoring enabled
- [ ] Performance monitoring active
### Documentation
- [ ] SEO strategy documented
- [ ] Keyword targets defined
- [ ] Content calendar created
- [ ] Success metrics defined
- [ ] Team responsibilities assigned
---
## SIGN-OFF
**Deployment Approved By:**
- [ ] Technical Lead: _________________ Date: _______
- [ ] SEO Specialist: _________________ Date: _______
- [ ] Product Owner: _________________ Date: _______
**Go-Live Date:** _________________
**Post-Launch Review Date:** _________________
**Next SEO Audit Date:** _________________
---
**Document Version:** 1.0
**Created:** November 17, 2025
**Status:** READY FOR DEPLOYMENT