# Phase 9 — Content Modernization, Publication Features & SEO Enrichment ## Status: Implemented; Linux validation pending Implemented in this pass: - Additive Prisma models/fields for SEO metadata, article view logs, newsletter campaigns, article series, editorial reviews, comment likes, and reading lists. - Backend APIs for related articles, public series pages, newsletter unsubscribe, admin analytics, review workflow, newsletter campaigns, series management, comment likes, and authenticated reading lists. - Frontend API clients and visible admin panels for analytics, reviews, newsletter campaigns, and series management. - Article page support for comment likes, API-backed related articles, author/profile navigation, and richer SEO metadata consumption. - Seed/reference content now finalizes 23 published articles, refreshes old dates/slugs, promotes former draft/review items, and adds Phase 9 SEO fields. - Sitemap/RSS generation now uses canonical paths, `dateModified`, `metaDescription`, and full-content RSS payloads. Not run locally by request: frontend/backend builds and Prisma generation. Validate on Linux with the commands in `ARCH.md`/`AGENTS.md`. All work targets the `SERVER/` directory. Content research uses web search and Context7 for technical accuracy. Schema changes are additive (nullable/defaulted) and backward-compatible. --- ## Overview Phase 9 has three pillars: 1. **Content modernization.** 17 of 18 articles have placeholder content. All are dated 1403. AI model references are two generations stale. The publication needs to be current, factually accurate, and complete. 2. **Publication features.** Ten features a real tech publication needs but Teknav currently lacks: newsletter campaigns, article series, related articles, comment votes, writer analytics, syntax highlighting, social share, admin time-series charts, editorial review workflow, and a bookmark/reading-list system. 3. **SEO enrichment.** Every article needs `metaDescription`, Open Graph metadata, JSON-LD structured data, and a canonical URL. OG images generated locally. Sitemap and RSS updated. --- ## 9.1 — Article Content Expansion ### Goal Full Persian prose for all 17 stub articles + refresh art1. Every article must be factually current as of Ordibehesht 1405 / April 2026. ### Research Process (per article) 1. **Web search** the topic for the latest benchmarks, releases, and numbers. 2. **Context7** for articles touching library APIs, language specs, or framework internals (Rust, Kubernetes, WebAssembly). 3. Apply the model reference mapping below throughout. ### Model Reference Update Table | Outdated reference | Replace with (1405 / 2026) | |---|---| | Claude 3 Opus | Claude Opus 4.7 | | GPT-4 / GPT-4 Turbo | GPT-4o / o3 | | Gemini Ultra / Gemini 1.5 | Gemini 2.5 Pro | | Phi-3 | Phi-4 | | Mistral 7B / Mistral Large | Mistral Large 2 | | Llama 3.2 | Llama 4 Scout / Maverick | | H100 (as cutting-edge) | GB200 / Blackwell | | B200 (as upcoming) | B200 (shipping), GB200 NVL72 (current flagship) | | NeurIPS 2024 / ICML 2024 | NeurIPS 2025 / ICML 2025 | ### Content Requirements (per article) - Minimum 800 words of substantive Persian prose. - At least two `
` citing a real expert or published finding. - One `` with a key takeaway. - One `` citing sources. - Factually current as of Ordibehesht 1405. ### Article Date Refresh | ID | Slug | New Date (Persian) | New dateEn | |---|---|---|---| | art1 | ai-clean-data | ۱۴۰۵/۰۲/۰۱ | 2026-04-21 | | art2 | custom-ai-chips | ۱۴۰۵/۰۱/۲۵ | 2026-04-14 | | art3 | browser-architecture | ۱۴۰۵/۰۱/۲۰ | 2026-04-09 | | art4 | software-supply-chain | ۱۴۰۵/۰۱/۱۵ | 2026-04-04 | | art5 | iranian-startups-scale | ۱۴۰۵/۰۱/۱۰ | 2026-03-30 | | art6 | small-llms | ۱۴۰۵/۰۱/۰۵ | 2026-03-25 | | art7 | edge-computing | ۱۴۰۴/۱۲/۲۵ | 2026-03-16 | | art8 | synthetic-data | ۱۴۰۴/۱۲/۱۵ | 2026-03-06 | | art9 | ai-hardware-roadmap | ۱۴۰۴/۱۲/۰۵ | 2026-02-24 | | art10 | quantum-computing | ۱۴۰۴/۱۱/۲۵ | 2026-02-14 | | art11 | microservices-vs-monolith | ۱۴۰۴/۱۱/۱۵ | 2026-02-04 | | art12 | fintech-regulation | ۱۴۰۴/۱۱/۰۵ | 2026-01-25 | | art13 | llm-security | ۱۴۰۴/۱۰/۲۵ | 2026-01-15 | | art14 | data-governance | ۱۴۰۴/۱۰/۱۵ | 2026-01-05 | | art15 | robotics-warehouse | ۱۴۰۴/۱۰/۰۵ | 2025-12-26 | | art16 | open-source-ai | ۱۴۰۴/۰۹/۲۵ | 2025-12-16 | | art17 | rust-systems | ۱۴۰۴/۰۹/۱۵ | 2025-12-06 | | art18 | venture-capital-ai | ۱۴۰۴/۰۹/۰۵ | 2025-11-26 | Rename art10 slug: `quantum-computing-2024` → `quantum-computing`. --- ## 9.2 — New Articles (1405 Topics) Five new articles on topics that did not exist or were not prominent in 1403. | ID | Slug | Title | Category | Author | Date | |---|---|---|---|---|---| | art19 | claude-opus-47-reasoning | کلود اوپوس ۴.۷ و تحول در مدلهای استدلالی | ai | آرسام صباغ | ۱۴۰۵/۰۲/۰۸ | | art20 | agentic-ai-production | هوش مصنوعی عاملی از آزمایشگاه تا تولید | ai | آرسام صباغ | ۱۴۰۵/۰۲/۰۵ | | art21 | vibe-coding | وایبکدینگ و آینده برنامهنویسی با هوش مصنوعی | software | سیداحمدرضا محجوب | ۱۴۰۵/۰۱/۲۸ | | art22 | ai-energy-crisis | بحران انرژی مراکز داده: قیمت واقعی هوش مصنوعی | future | رادمان قلیچی | ۱۴۰۵/۰۱/۲۲ | | art23 | llama4-open-frontier | Llama 4 و مرز جدید مدلهای متنباز | ai | آرسام صباغ | ۱۴۰۵/۰۱/۱۸ | **art19:** Claude Opus 4.7 معرفی، مقایسه با o3 و Gemini 2.5 Pro، بنچمارکهای MATH/GPQA/SWE-bench، دلالتهای عملی برای توسعهدهندگان. **art20:** چرخه think-act-observe، معماریهای multi-agent، ریسکهای autonomy، مقایسه Claude Code، OpenAI Operator، Google Mariner. **art21:** تعریف Vibe Coding (اصطلاح Karpathy)، تأثیر بر چرخه توسعه، نقد جدیپذیری، مقایسه Cursor، Copilot، Claude Code. **art22:** مصرف برق مراکز داده AI (500+ TWh در 2026)، چالشهای شبکه، PUE، تأثیر بر اهداف کربن. **art23:** Llama 4 Scout/Maverick/Behemoth، معماری MoE، مقایسه با GPT-4o و Claude Sonnet 4.6، استقرار on-premise. --- ## 9.3 — SEO Metadata Layer ### New Fields per Article in `teknav-data.js` ```js { metaDescription: '...', // 120–155 chars, Persian plain text keywords: ['کلمه ۱', ...], // 6–10 Persian terms ogTitle: '...', // og:title override (defaults to title) ogDescription: '...', // 200–300 chars for og:description ogImage: '/images/og/slug.jpg', canonicalPath: '/articles/slug', dateModified: '2026-...', // ISO — for JSON-LD dateModified and sitemap} ``` ### Prisma Schema Changes ```prisma model Article { // existing fields unchanged ... metaDescription String? @db.VarChar(160) keywords String[] @default([]) ogTitle String? @db.VarChar(200) ogDescription String? @db.VarChar(300) ogImage String? canonicalPath String? dateModified DateTime? } ``` All nullable/defaulted — no migration failure on existing rows. After change: `prisma:generate` → `prisma:apply`. ### `seed.ts` Update Extend the article upsert to include all new SEO fields. ### Article Detail Page `` Block ```html {title} | تکناو ``` ### JSON-LD Structured Data Inject `