|
|
@@ -0,0 +1,147 @@
|
|
|
+/**
|
|
|
+ * SEO 工具库 - 站点 URL / 多语言路径 / 元数据辅助(P1 技术 SEO)
|
|
|
+ * 站点地址经 NEXT_PUBLIC_SITE_URL 注入(演示 localhost:3000,生产 https://dotouch.ai)
|
|
|
+ */
|
|
|
+import type { Metadata } from 'next';
|
|
|
+
|
|
|
+export const LOCALES = ['vi', 'en', 'zh-CN', 'zh-TW'] as const;
|
|
|
+export type Locale = (typeof LOCALES)[number];
|
|
|
+
|
|
|
+/** 站点基址(尾无斜杠) */
|
|
|
+export function siteUrl(): string {
|
|
|
+ const u = process.env['NEXT_PUBLIC_SITE_URL'] || 'http://localhost:3000';
|
|
|
+ return u.replace(/\/$/, '');
|
|
|
+}
|
|
|
+
|
|
|
+/** 各页面 4 语言 title/description(本地化撰写,非直译) */
|
|
|
+type PageMeta = { title: string; desc: string };
|
|
|
+export const SEO_META: Record<Locale, Record<string, PageMeta>> = {
|
|
|
+ vi: {
|
|
|
+ home: {
|
|
|
+ title: 'API AI giá rẻ cho Việt Nam | DeepSeek, GLM, Qwen',
|
|
|
+ desc: 'DoTouch.AI – Nền tảng API AI Trung Quốc giá rẻ (DeepSeek V4, GLM 5.2, Qwen). Tương thích OpenAI, giá bằng 70% Trung Quốc, thanh toán MoMo/ZaloPay.',
|
|
|
+ },
|
|
|
+ models: {
|
|
|
+ title: 'Mô hình AI | DeepSeek, GLM, Qwen API giá rẻ',
|
|
|
+ desc: 'Danh sách mô hình AI tại DoTouch.AI: DeepSeek V4, GLM 5.2, Qwen Max. So sánh ngữ cảnh, giá cả và khả năng. OpenAI-compatible.',
|
|
|
+ },
|
|
|
+ detail: {
|
|
|
+ title: '{model} API – Giá rẻ 30%, OpenAI Compatible',
|
|
|
+ desc: 'Gọi {model} qua API tại DoTouch.AI với giá rẻ hơn 30%. Xem giá, thông số, khả năng và ví dụ code.',
|
|
|
+ },
|
|
|
+ pricing: {
|
|
|
+ title: 'Bảng giá API AI | Giá bằng 70% Trung Quốc',
|
|
|
+ desc: 'Bảng giá API AI tại DoTouch.AI – trả trước, tính theo token, giá chỉ bằng 70% giá nội địa Trung Quốc. Thanh toán MoMo, ZaloPay, Stripe.',
|
|
|
+ },
|
|
|
+ catalog: {
|
|
|
+ title: 'Model Catalog · 236 mô hình | DoTouch.AI',
|
|
|
+ desc: 'Toàn bộ 236 mô hình AI từ Alibaba DashScope tại DoTouch.AI. Tìm mô hình phù hợp theo nhu cầu và ngân sách.',
|
|
|
+ },
|
|
|
+ docs: {
|
|
|
+ title: 'Tài liệu API | DoTouch.AI',
|
|
|
+ desc: 'Tài liệu API DoTouch.AI: bắt đầu nhanh, API Reference, mã lỗi và quy tắc tính phí.',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ en: {
|
|
|
+ home: {
|
|
|
+ title: 'Affordable AI API for Vietnam | DeepSeek, GLM, Qwen',
|
|
|
+ desc: 'DoTouch.AI – Affordable Chinese LLM API platform (DeepSeek V4, GLM 5.2, Qwen). OpenAI-compatible, 70% of China price, MoMo/ZaloPay payments.',
|
|
|
+ },
|
|
|
+ models: {
|
|
|
+ title: 'AI Models | DeepSeek, GLM, Qwen API',
|
|
|
+ desc: 'DoTouch.AI model catalog: DeepSeek V4, GLM 5.2, Qwen Max. Compare context, pricing and capabilities. OpenAI-compatible.',
|
|
|
+ },
|
|
|
+ detail: {
|
|
|
+ title: '{model} API – 30% Cheaper, OpenAI Compatible',
|
|
|
+ desc: 'Call {model} via DoTouch.AI API at 30% lower cost. See pricing, specs, capabilities and code examples.',
|
|
|
+ },
|
|
|
+ pricing: {
|
|
|
+ title: 'AI API Pricing | 70% of China Price',
|
|
|
+ desc: 'DoTouch.AI API pricing – prepaid, metered per token, at only 70% of China domestic price. Pay with MoMo, ZaloPay, Stripe.',
|
|
|
+ },
|
|
|
+ catalog: {
|
|
|
+ title: 'Model Catalog · 236 Models | DoTouch.AI',
|
|
|
+ desc: 'All 236 AI models from Alibaba DashScope on DoTouch.AI. Find the right model for your needs and budget.',
|
|
|
+ },
|
|
|
+ docs: {
|
|
|
+ title: 'API Documentation | DoTouch.AI',
|
|
|
+ desc: 'DoTouch.AI API docs: quickstart, API reference, error codes and billing rules.',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ 'zh-CN': {
|
|
|
+ home: {
|
|
|
+ title: '低价 AI API | DeepSeek、GLM、Qwen 越南直连',
|
|
|
+ desc: 'DoTouch.AI – 国产大模型 API 中转平台(DeepSeek V4、GLM 5.2、Qwen)。OpenAI 兼容,国内价 7 折,支持 MoMo/ZaloPay 等本地支付。',
|
|
|
+ },
|
|
|
+ models: {
|
|
|
+ title: '模型列表 | DeepSeek、GLM、Qwen API',
|
|
|
+ desc: 'DoTouch.AI 模型列表:DeepSeek V4、GLM 5.2、Qwen Max。对比上下文、价格与能力,OpenAI 兼容。',
|
|
|
+ },
|
|
|
+ detail: {
|
|
|
+ title: '{model} API – 7 折低价,OpenAI 兼容',
|
|
|
+ desc: '通过 DoTouch.AI API 以 7 折价格调用 {model}。查看价格、规格、能力与代码示例。',
|
|
|
+ },
|
|
|
+ pricing: {
|
|
|
+ title: 'API 定价 | 国内价 7 折',
|
|
|
+ desc: 'DoTouch.AI API 定价 – 预充值、按 token 计量,仅国内价 7 折。支持 MoMo、ZaloPay、Stripe 支付。',
|
|
|
+ },
|
|
|
+ catalog: {
|
|
|
+ title: '模型大全 · 236 个模型 | DoTouch.AI',
|
|
|
+ desc: 'DoTouch.AI 上阿里云百炼全部 236 个在售模型。按需求与预算找到合适模型。',
|
|
|
+ },
|
|
|
+ docs: {
|
|
|
+ title: 'API 文档 | DoTouch.AI',
|
|
|
+ desc: 'DoTouch.AI API 文档:快速开始、API 参考、错误码与计费规则。',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ 'zh-TW': {
|
|
|
+ home: {
|
|
|
+ title: '低價 AI API | DeepSeek、GLM、Qwen 越南直連',
|
|
|
+ desc: 'DoTouch.AI – 國產大模型 API 中轉平台(DeepSeek V4、GLM 5.2、Qwen)。OpenAI 相容,中國國內價 7 折,支援 MoMo/ZaloPay 等本地支付。',
|
|
|
+ },
|
|
|
+ models: {
|
|
|
+ title: '模型列表 | DeepSeek、GLM、Qwen API',
|
|
|
+ desc: 'DoTouch.AI 模型列表:DeepSeek V4、GLM 5.2、Qwen Max。比較上下文、價格與能力,OpenAI 相容。',
|
|
|
+ },
|
|
|
+ detail: {
|
|
|
+ title: '{model} API – 7 折低價,OpenAI 相容',
|
|
|
+ desc: '透過 DoTouch.AI API 以 7 折價格呼叫 {model}。查看價格、規格、能力與程式碼範例。',
|
|
|
+ },
|
|
|
+ pricing: {
|
|
|
+ title: 'API 定價 | 中國國內價 7 折',
|
|
|
+ desc: 'DoTouch.AI API 定價 – 預儲值、按 token 計量,僅中國國內價 7 折。支援 MoMo、ZaloPay、Stripe 支付。',
|
|
|
+ },
|
|
|
+ catalog: {
|
|
|
+ title: '模型大全 · 236 個模型 | DoTouch.AI',
|
|
|
+ desc: 'DoTouch.AI 上阿里雲百煉全部 236 個在售模型。按需求與預算找到合適模型。',
|
|
|
+ },
|
|
|
+ docs: {
|
|
|
+ title: 'API 文件 | DoTouch.AI',
|
|
|
+ desc: 'DoTouch.AI API 文件:快速開始、API 參考、錯誤碼與計費規則。',
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+/** 构建多语言 alternates(canonical + hreflang 4 语言 + x-default) */
|
|
|
+export function alternatesFor(path: string, locale: string): Metadata['alternates'] {
|
|
|
+ const base = siteUrl();
|
|
|
+ const languages: Record<string, string> = {};
|
|
|
+ for (const l of LOCALES) {
|
|
|
+ languages[l] = `${base}/${l}${path}`;
|
|
|
+ }
|
|
|
+ languages['x-default'] = `${base}/vi${path}`;
|
|
|
+ return { canonical: `${base}/${locale}${path}`, languages };
|
|
|
+}
|
|
|
+
|
|
|
+/** 取当前语言某页面的 title/description */
|
|
|
+export function pageMeta(locale: string, page: string): PageMeta {
|
|
|
+ return (SEO_META[locale as Locale]?.[page] ?? SEO_META.en[page]) as PageMeta;
|
|
|
+}
|
|
|
+
|
|
|
+/** 模型 ID → 展示名(SEO 标题用) */
|
|
|
+export const MODEL_NAMES: Record<string, string> = {
|
|
|
+ 'glm-5.2': 'GLM 5.2',
|
|
|
+ 'deepseek-v4': 'DeepSeek V4',
|
|
|
+ 'deepseek-v4-pro': 'DeepSeek V4 Pro',
|
|
|
+ 'qwen-max': 'Qwen Max',
|
|
|
+};
|