← 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