9.2 KiB
SEO Requirements vs Implementation - Page-by-Page Comparison
🏠 HOME PAGE (/ or /home/)
✅ Title Tag
Required: Retail ERP & POS for Indian MSMEs | POZO
Implemented: ✅ MATCHES
- Location:
server/seo-middleware.jsline 168 - Also in:
src/PozoApp/Pages/HomePage.jsxline 326
✅ Meta Description
Required: Fast billing, smart inventory, GST-ready POS. POZO helps kirana, mini-supermarkets & retail chains speed checkout, connect weighing scales, and manage multi-store ops.
Implemented: ✅ MATCHES
- Location:
server/seo-middleware.jsline 169
⚠️ Canonical URL
Required: https://www.pozo.app/home/ (change to https://www.pozo.app/ after migration)
Implemented: ⚠️ PARTIAL
- Currently generates: Dynamic based on request path
- Issue: Uses
/home/currently, needs to change to/after migration - Location:
server/seo-middleware.jslines 463-475 - Action: Update after migration to use root
/instead of/home/
✅ OG/Twitter Tags
Required:
- og:title:
Retail ERP & POS for Indian MSMEs | POZO - og:description:
Fast billing, smart inventory, GST-ready POS for kirana & supermarkets. - og:url:
https://www.pozo.app/home/ - og:image:
https://www.pozo.app/static/og/pozo-home.jpg - twitter:card:
summary_large_image
Implemented: ✅ MOSTLY MATCHES
- Location:
server/seo-middleware.jslines 610-631 - Issues:
- og:description uses full description (not shortened version)
- og:image uses
/og/home.jpg(not/static/og/pozo-home.jpg) - Action: Update image path to
/static/og/pozo-home.jpgif that's the correct asset
✅ JSON-LD (Organization + Website + WebPage)
Required:
{
"@context":"https://schema.org",
"@graph":[
{
"@type":"Organization",
"name":"POZO",
"url":"https://www.pozo.app/",
"logo":"https://www.pozo.app/static/brand/logo.png",
"foundingDate":"2019",
"sameAs":[]
},
{
"@type":"WebSite",
"name":"POZO",
"url":"https://www.pozo.app/",
"potentialAction":{
"@type":"SearchAction",
"target":"https://www.pozo.app/search?q={query}",
"query-input":"required name=query"
}
},
{
"@type":"WebPage",
"url":"https://www.pozo.app/home/",
"name":"Retail ERP & POS for Indian MSMEs | POZO",
"isPartOf":{"@id":"https://www.pozo.app/"},
"description":"Fast billing, smart inventory, GST-ready POS. POZO helps kirana, mini-supermarkets & retail chains speed checkout, connect weighing scales, and manage multi-store ops."
}
]
}
Implemented: ✅ MATCHES (with minor differences)
- Location:
server/seo-middleware.jslines 553-596 - Also in:
src/PozoApp/Pages/HomePage.jsxlines 291-321 - Differences:
- Logo path: Uses
/src/Images/PozoAppFavicon.pnginstead of/static/brand/logo.png - WebPage URL: Uses dynamic
pageUrl(currently/home/but will be/after migration) - Action: Update logo path to
/static/brand/logo.pngif that's the correct asset
- Logo path: Uses
📝 BLOG PAGE (/blog or /home/blog)
✅ Title Tag
Required: POZO Blog — Retail ERP, POS & Grocery Billing Guides
Implemented: ✅ MATCHES
- Location:
server/seo-middleware.jsline 196
✅ Meta Description
Required: Practical guides on POS billing, weighing-scale integration, GST e-invoices, multi-store ERP & inventory control for Indian retailers.
Implemented: ✅ MATCHES
- Location:
server/seo-middleware.jsline 197
⚠️ Canonical URL
Required: https://www.pozo.app/home/blog (later → /blog)
Implemented: ⚠️ PARTIAL
- Currently generates: Dynamic based on request path
- Issue: Uses
/home/blogcurrently, needs to change to/blogafter migration - Action: Update after migration
❌ JSON-LD (CollectionPage + Breadcrumbs)
Required:
{
"@context":"https://schema.org",
"@type":"WebPage",
"@id":"https://www.pozo.app/home/blog",
"name":"POZO Blog — Retail ERP, POS & Grocery Billing Guides",
"isPartOf":{"@id":"https://www.pozo.app/"},
"description":"Practical guides on POS billing, weighing-scale integration, GST e-invoices, multi-store ERP & inventory control for Indian retailers."
}
{
"@context":"https://schema.org",
"@type":"BreadcrumbList",
"itemListElement":[
{"@type":"ListItem","position":1,"name":"Home","item":"https://www.pozo.app/home/"},
{"@type":"ListItem","position":2,"name":"Blog","item":"https://www.pozo.app/home/blog"}
]
}
Implemented: ❌ MISSING
- Current State:
- Blog page uses generic WebPage schema from middleware (lines 587-593)
- No CollectionPage type
- No BreadcrumbList for blog page
- Location:
src/AdminPanel/Blog/Blog.jsx- No JSON-LD found - Action Required:
- Add CollectionPage schema to blog page
- Add BreadcrumbList schema to blog page
- Update middleware to detect blog page and inject proper schemas
💰 PRICING PAGE (/pricing or /home/pricing-pozoapp)
✅ Title Tag
Required: Pricing - Retail ERP & POS Plans | POZO
Implemented: ✅ MATCHES
- Location:
server/seo-middleware.jsline 182 - Also in:
src/PozoApp/Components/PricingPozoApp.jsxline 708
✅ Meta Description
Required: Simple plans for MSMEs. Fast billing, inventory, GST e-invoice, weighing-scale integration, WhatsApp e-bills & multi-store controls. Book a demo.
Implemented: ✅ MATCHES
- Location:
server/seo-middleware.jsline 183
⚠️ Canonical URL
Required: Should be https://www.pozo.app/pricing (after migration)
Implemented: ⚠️ PARTIAL
- Currently: Dynamic based on request path
- Action: Update after migration
✅ JSON-LD (SoftwareApplication + WebPage + Breadcrumbs)
Required:
{
"@context":"https://schema.org",
"@type":"SoftwareApplication",
"name":"POZO",
"applicationCategory":"BusinessApplication",
"operatingSystem":"Web",
"url":"https://www.pozo.app/home/pricing-pozoapp",
"offers":{
"@type":"Offer",
"priceCurrency":"INR",
"availability":"https://schema.org/InStock"
},
"featureList":[
"Fast POS billing","Inventory & purchase","GST e-invoice",
"Weighing-scale integration","WhatsApp e-bill","Multi-store ERP"
]
}
{
"@context":"https://schema.org",
"@type":"WebPage",
"@id":"https://www.pozo.app/home/pricing-pozoapp",
"name":"Pricing — Retail ERP & POS Plans | POZO",
"description":"Simple plans for MSMEs with POS billing, inventory, GST e-invoice & multi-store controls."
}
{
"@context":"https://schema.org",
"@type":"BreadcrumbList",
"itemListElement":[
{"@type":"ListItem","position":1,"name":"Home","item":"https://www.pozo.app/home/"},
{"@type":"ListItem","position":2,"name":"Pricing","item":"https://www.pozo.app/home/pricing-pozoapp"}
]
}
Implemented: ✅ MATCHES (with minor URL difference)
- Location:
src/PozoApp/Components/PricingPozoApp.jsxlines 670-703 - Differences:
- URL uses
/pricinginstead of/home/pricing-pozoapp(will be correct after migration) - All other fields match exactly
- URL uses
- Note: Pricing page has proper JSON-LD in component, but middleware also injects generic schema
📊 Summary
✅ Fully Implemented
- Home Page: Title, Meta Description, OG Tags, JSON-LD (with minor path differences)
- Blog Page: Title, Meta Description
- Pricing Page: Title, Meta Description, JSON-LD (SoftwareApplication + WebPage + Breadcrumbs)
⚠️ Needs Updates
-
Home Page:
- Canonical URL (change
/home/to/after migration) - Logo path (update to
/static/brand/logo.png) - OG image path (update to
/static/og/pozo-home.jpg)
- Canonical URL (change
-
Blog Page:
- Canonical URL (change
/home/blogto/blogafter migration) - MISSING: CollectionPage JSON-LD
- MISSING: BreadcrumbList JSON-LD
- Canonical URL (change
-
Pricing Page:
- Canonical URL (already uses
/pricingin component, but middleware may override)
- Canonical URL (already uses
🔧 Action Items
Immediate Fixes (Before Migration)
-
Update Home Page JSON-LD Logo Path
- File:
server/seo-middleware.jsline 560 - Change:
/src/Images/PozoAppFavicon.png→/static/brand/logo.png
- File:
-
Update Home Page OG Image Path
- File:
server/seo-middleware.jsline 171 - Change:
/og/home.jpg→/static/og/pozo-home.jpg(if asset exists)
- File:
-
Add Blog Page CollectionPage Schema
- File:
src/AdminPanel/Blog/Blog.jsx - Add: CollectionPage JSON-LD schema
- Add: BreadcrumbList JSON-LD schema
- File:
After Migration
-
Update All Canonical URLs
- Remove
/home/prefix from all URLs - Update middleware path mapping
- Update component URLs
- Remove
-
Verify OG Image Assets
- Ensure
/static/og/pozo-home.jpgexists - Update all OG image paths if needed
- Ensure
🎯 Implementation Status
| Page | Title | Meta Desc | Canonical | OG Tags | JSON-LD | Status |
|---|---|---|---|---|---|---|
| Home | ✅ | ✅ | ⚠️ | ⚠️ | ⚠️ | 80% |
| Blog | ✅ | ✅ | ⚠️ | ✅ | ❌ | 60% |
| Pricing | ✅ | ✅ | ⚠️ | ✅ | ✅ | 90% |
Overall: 77% Complete
Last Updated: 2025-01-27