| 1 | # KTI Deployment Checklist |
| 2 | |
| 3 | ## Pre-Deployment Verification |
| 4 | |
| 5 | ### Build & Test |
| 6 | - [x] ✅ ContentLayer builds successfully (`npm run build:content`) |
| 7 | - [x] ✅ Next.js build completes without errors (`npm run build`) |
| 8 | - [x] ✅ All 7 KTI terms generated as static pages |
| 9 | - [x] ✅ URLs use "apa-itu-" prefix correctly |
| 10 | - [x] ✅ No TypeScript errors |
| 11 | - [x] ✅ Fixed async params for Next.js 15+ compatibility |
| 12 | |
| 13 | ### Content Quality |
| 14 | - [x] ✅ All terms have complete frontmatter |
| 15 | - [x] ✅ Descriptions are SEO-optimized (150-160 chars) |
| 16 | - [x] ✅ Related terms use correct "apa-itu-" prefix |
| 17 | - [x] ✅ Code examples are properly formatted |
| 18 | - [x] ✅ No MDX syntax errors |
| 19 | - [x] ✅ Bahasa Indonesia content is natural and clear |
| 20 | |
| 21 | ### SEO Optimization |
| 22 | - [x] ✅ Meta titles include "apa itu" or answer the question |
| 23 | - [x] ✅ Meta descriptions start with definition |
| 24 | - [x] ✅ OpenGraph metadata includes Indonesian locale (id_ID) |
| 25 | - [x] ✅ Canonical URLs are set correctly |
| 26 | - [x] ✅ Related terms create internal linking structure |
| 27 | |
| 28 | ### UI/UX |
| 29 | - [x] ✅ Navigation includes KTI link in header |
| 30 | - [x] ✅ Listing page shows all categories and difficulty levels |
| 31 | - [x] ✅ Detail pages have breadcrumbs |
| 32 | - [x] ✅ Related terms section works |
| 33 | - [x] ✅ Dark mode support |
| 34 | - [x] ✅ Mobile responsive design |
| 35 | |
| 36 | ## Deployment Steps |
| 37 | |
| 38 | ### 1. Final Build |
| 39 | ```bash |
| 40 | cd smbcloud-web |
| 41 | npm run build:content |
| 42 | npm run build |
| 43 | ``` |
| 44 | |
| 45 | ### 2. Test Locally (Optional) |
| 46 | ```bash |
| 47 | npm run start |
| 48 | # Visit http://localhost:3000/kti |
| 49 | # Test several term pages |
| 50 | ``` |
| 51 | |
| 52 | ### 3. Git Commit |
| 53 | ```bash |
| 54 | git add . |
| 55 | git commit -m "feat: Add KTI (Kamus Teknologi Informasi) with apa-itu- SEO strategy |
| 56 | |
| 57 | - Implement ContentLayer2 for KTI document type |
| 58 | - Create listing page with category/difficulty filtering |
| 59 | - Create detail pages with related terms |
| 60 | - Add 7 initial terms (API, Cloud Computing, Docker, DevOps, Git, Kubernetes, REST) |
| 61 | - Use 'apa-itu-' URL prefix for Indonesian SEO |
| 62 | - Optimize metadata for search engines |
| 63 | - Add navigation link to header" |
| 64 | |
| 65 | git push origin main |
| 66 | ``` |
| 67 | |
| 68 | ### 4. Deploy to Production |
| 69 | ```bash |
| 70 | # If using smbCloud |
| 71 | git push smb main |
| 72 | |
| 73 | # If using Vercel |
| 74 | vercel --prod |
| 75 | |
| 76 | # If using Netlify |
| 77 | netlify deploy --prod |
| 78 | ``` |
| 79 | |
| 80 | ## Post-Deployment Verification |
| 81 | |
| 82 | ### Functional Testing |
| 83 | - [ ] Visit `/kti` - listing page loads correctly |
| 84 | - [ ] Check statistics display (7 terms, categories, difficulty counts) |
| 85 | - [ ] Test category sections - all terms visible |
| 86 | - [ ] Test difficulty level sections - correct grouping |
| 87 | - [ ] Click through to `/kti/apa-itu-docker` - detail page loads |
| 88 | - [ ] Verify breadcrumbs work |
| 89 | - [ ] Click related terms - navigation works |
| 90 | - [ ] Test dark/light mode toggle |
| 91 | - [ ] Test mobile responsive layout |
| 92 | |
| 93 | ### SEO Verification |
| 94 | - [ ] View page source - meta tags present |
| 95 | - [ ] Check title tag format |
| 96 | - [ ] Verify meta description |
| 97 | - [ ] Check OpenGraph tags (og:title, og:description, og:url, og:locale) |
| 98 | - [ ] Verify canonical URL |
| 99 | - [ ] Check robots.txt allows indexing |
| 100 | - [ ] Verify sitemap.xml includes KTI pages |
| 101 | |
| 102 | ### Performance Testing |
| 103 | - [ ] Run Lighthouse audit (target: 90+ all categories) |
| 104 | - [ ] Check Core Web Vitals |
| 105 | - [ ] Test page load speed |
| 106 | - [ ] Verify images are optimized (if any added later) |
| 107 | |
| 108 | ## Post-Launch Tasks |
| 109 | |
| 110 | ### Immediate (Week 1) |
| 111 | - [ ] Submit sitemap to Google Search Console |
| 112 | - [ ] Submit sitemap to Bing Webmaster Tools |
| 113 | - [ ] Set up Google Analytics tracking for `/kti/*` |
| 114 | - [ ] Create initial social media posts announcing KTI |
| 115 | - [ ] Share on LinkedIn, Twitter, Instagram |
| 116 | - [ ] Post in Indonesian developer communities |
| 117 | |
| 118 | ### Short Term (Week 2-4) |
| 119 | - [ ] Monitor Google Search Console for indexing |
| 120 | - [ ] Check initial search rankings for "apa itu" queries |
| 121 | - [ ] Gather user feedback |
| 122 | - [ ] Fix any reported issues |
| 123 | - [ ] Add 5-10 more beginner terms |
| 124 | |
| 125 | ### Medium Term (Month 2-3) |
| 126 | - [ ] Implement search functionality |
| 127 | - [ ] Add social sharing buttons |
| 128 | - [ ] Create "Learning Path" feature |
| 129 | - [ ] Add newsletter signup |
| 130 | - [ ] Reach 20+ total terms |
| 131 | |
| 132 | ### Long Term (Month 4-6) |
| 133 | - [ ] Expand to 50+ terms |
| 134 | - [ ] Analyze top-performing content |
| 135 | - [ ] Create content calendar |
| 136 | - [ ] Enable community contributions |
| 137 | - [ ] Set up A/B testing for CTAs |
| 138 | |
| 139 | ## Monitoring Setup |
| 140 | |
| 141 | ### Google Search Console |
| 142 | ``` |
| 143 | 1. Add property: https://smbcloud.xyz |
| 144 | 2. Submit sitemap: https://smbcloud.xyz/sitemap.xml |
| 145 | 3. Set up URL inspection for sample KTI pages |
| 146 | 4. Monitor "apa itu" query performance |
| 147 | 5. Set up email alerts for critical issues |
| 148 | ``` |
| 149 | |
| 150 | ### Analytics Goals |
| 151 | ``` |
| 152 | Goal 1: Page View - /kti/* |
| 153 | Goal 2: Time on Page > 2 minutes |
| 154 | Goal 3: Click on Related Terms |
| 155 | Goal 4: Visit to smbCloud Console (conversion) |
| 156 | ``` |
| 157 | |
| 158 | ### Search Queries to Track |
| 159 | - "apa itu docker" |
| 160 | - "apa itu kubernetes" |
| 161 | - "apa itu cloud computing" |
| 162 | - "apa itu api" |
| 163 | - "apa itu devops" |
| 164 | - "apa itu git" |
| 165 | - "apa itu rest api" |
| 166 | - "kamus teknologi informasi" |
| 167 | - "istilah IT Indonesia" |
| 168 | |
| 169 | ## Success Criteria |
| 170 | |
| 171 | ### Week 1 |
| 172 | - ✅ All pages indexed by Google |
| 173 | - ✅ No 404 errors |
| 174 | - ✅ No console errors |
| 175 | - ✅ Mobile usability pass |
| 176 | |
| 177 | ### Month 1 |
| 178 | - ✅ 100+ organic visits |
| 179 | - ✅ Top 20 for at least 3 "apa itu" queries |
| 180 | - ✅ Average time on page > 2 minutes |
| 181 | - ✅ Bounce rate < 60% |
| 182 | |
| 183 | ### Month 3 |
| 184 | - ✅ 500+ organic visits/day |
| 185 | - ✅ Top 10 for 10+ "apa itu" queries |
| 186 | - ✅ 2+ featured snippets |
| 187 | - ✅ 20+ total terms published |
| 188 | |
| 189 | ### Month 6 |
| 190 | - ✅ 1,000+ organic visits/day |
| 191 | - ✅ Top 5 for 30+ "apa itu" queries |
| 192 | - ✅ 10+ featured snippets |
| 193 | - ✅ 50+ total terms published |
| 194 | - ✅ Recognized brand in Indonesian IT education |
| 195 | |
| 196 | ## Rollback Plan |
| 197 | |
| 198 | If critical issues are found: |
| 199 | |
| 200 | 1. **Immediate**: Hide KTI link from navigation |
| 201 | ```tsx |
| 202 | // components/header.tsx |
| 203 | // Comment out KTI link temporarily |
| 204 | ``` |
| 205 | |
| 206 | 2. **Quick Fix**: Set `published: false` on problematic terms |
| 207 | ```yaml |
| 208 | published: false # Hide from listing |
| 209 | ``` |
| 210 | |
| 211 | 3. **Full Rollback**: Revert to previous commit |
| 212 | ```bash |
| 213 | git revert HEAD |
| 214 | git push origin main |
| 215 | ``` |
| 216 | |
| 217 | ## Support & Documentation |
| 218 | |
| 219 | - **Technical Docs**: `KTI_SUMMARY.md` |
| 220 | - **SEO Strategy**: `APA-ITU-SEO-STRATEGY.md` |
| 221 | - **Content Guidelines**: `content/kti/README.md` |
| 222 | - **Contact**: support@smbcloud.xyz |
| 223 | |
| 224 | ## Notes |
| 225 | |
| 226 | - All 7 initial terms are production-ready |
| 227 | - URLs follow "apa-itu-" SEO strategy |
| 228 | - Content is in Bahasa Indonesia with English technical terms |
| 229 | - Progressive difficulty levels (pemula → menengah → lanjut) |
| 230 | - Built with Next.js 16 + ContentLayer2 |
| 231 | - Static generation for optimal performance |
| 232 | |
| 233 | --- |
| 234 | |
| 235 | **Deployment Date**: _____________ |
| 236 | **Deployed By**: _____________ |
| 237 | **Status**: ⬜ Ready | ⬜ In Progress | ⬜ Complete | ⬜ Issues Found |
| 238 | |
| 239 | **Production URL**: https://smbcloud.xyz/kti |
| 240 | |
| 241 | **Notes**: |
| 242 | _____________________________________________________________________________ |
| 243 | _____________________________________________________________________________ |
| 244 | _____________________________________________________________________________ |