spinny:~/writing $ vim nextjs-technical-seo.md
1~2SEO kỹ thuật rất cần thiết để đảm bảo trang web Next.js của bạn dễ dàng được lập chỉ mục, nhanh chóng và cạnh tranh trong kết quả tìm kiếm. Hướng dẫn này bao gồm các chiến lược, công cụ và đoạn mã thực tế để đưa SEO của bạn lên tầm cao mới, với trọng tâm đặc biệt vào các trang web đa ngôn ngữ.3~4## 1. Meta Tags động và Open Graph5~6Next.js 13+ cho phép quản lý meta tag tập trung bằng hàm `generateMetadata`:7~8```tsx9export async function generateMetadata({ params }) {10 const { locale } = await params;11 const t = await getTranslations({ locale, namespace: 'common' });12 return {13 title: t('title'),14 description: t('description'),15 openGraph: {16 title: t('title'),17 description: t('description'),18 images: ['/public/placeholder.svg'],19 },20 icons: {21 icon: '/favicon.ico',22 },23 };24}25```26~27> **Mẹo:** Nhớ cập nhật meta tags cho từng ngôn ngữ và trang bằng cách sử dụng bản dịch động.28~29## 2. Sitemap tự động và robots.txt30~31Để tạo sitemaps và robots.txt, sử dụng [next-sitemap](https://www.npmjs.com/package/next-sitemap):32~33```bash34npm install next-sitemap35```36~37Cấu hình `next-sitemap.config.js` để hỗ trợ các ngôn ngữ:38~39```js40module.exports = {41 siteUrl: 'https://spinny.dev',42 generateRobotsTxt: true,43 i18n: {44 locales: [45 'it',46 'en',47 'fr',48 'de',49 'es',50 'ar',51 'hi',52 'ja',53 'zh',54 'pt',55 'bn',56 'ru',57 'id',58 'ur',59 'ko',60 'tr',61 'vi',62 'th',63 'pl',64 ],65 defaultLocale: 'it',66 },67};68```69~70> **Công cụ bổ sung:** Thử [next-seo](https://github.com/garmeeh/next-seo) để quản lý meta tag và dữ liệu có cấu trúc nâng cao.71~72## 3. Quốc tế hóa (i18n) và SEO đa ngôn ngữ73~74Next.js hỗ trợ các tuyến được bản địa hóa. Hãy nhớ:75~76- Sử dụng thẻ `hreflang` cho mỗi ngôn ngữ.77- Tạo sitemap đa ngôn ngữ.78- Dịch meta tags.79~80Ví dụ về thẻ `hreflang`:81~82```tsx83<link rel="alternate" href="https://spinny.dev/it" hreflang="it" />84<link rel="alternate" href="https://spinny.dev/en" hreflang="en" />85```86~87> **Phương pháp tốt nhất:** Luôn cung cấp bộ chọn ngôn ngữ hiển thị và duy trì tính nhất quán của URL.88~89## 4. Hiệu suất và Core Web Vitals90~91- Sử dụng `<Image />` của Next.js cho hình ảnh được tối ưu hóa.92- Bật lazy loading.93- Phân tích với [Lighthouse](https://developers.google.com/web/tools/lighthouse) và [Vercel Analytics](https://vercel.com/analytics).94- Giảm thiểu JavaScript và CSS không sử dụng.95- Tận dụng cache và CDN của Vercel.96~97## 5. Dữ liệu có cấu trúc (JSON-LD)98~99Thêm dữ liệu có cấu trúc để cải thiện khả năng hiển thị trong rich snippets:100~101```tsx102<script103 type="application/ld+json"104 dangerouslySetInnerHTML={{105 __html: JSON.stringify({106 '@context': 'https://schema.org',107 '@type': 'BlogPosting',108 headline: 'Technical SEO for Next.js Developers',109 datePublished: '2025-07-28',110 author: { '@type': 'Person', name: 'Filippo Spinella' },111 inLanguage: 'en',112 }),113 }}114/>115```116~117> **Mẹo:** Cũng bao gồm dữ liệu có cấu trúc cho breadcrumbs, bài viết và sản phẩm nếu applicable.118~119## 6. Xử lý lỗi và Trang 404 tùy chỉnh120~121Tạo trang `not-found.tsx` được bản địa hóa cho mỗi ngôn ngữ. Điều này cải thiện trải nghiệm người dùng và SEO.122~123> **Mẹo:** Tùy chỉnh cả các trang lỗi 500 và lỗi máy chủ.124~125## 7. Công cụ hữu ích126~127- **next-sitemap**: sitemaps và robots.txt128- **next-seo**: quản lý meta tag nâng cao129- **Google Search Console**: giám sát SEO130- **Ahrefs Webmaster Tools**: phân tích kỹ thuật131- **Screaming Frog**: crawling nâng cao132- **Mermaid**: để trực quan hóa luồng và kiến trúc SEO133~134## 8. Giám sát và Phân tích135~136Tích hợp Google Analytics, Vercel Analytics và giám sát Core Web Vitals.137~138- Sử dụng [Google Tag Manager](https://tagmanager.google.com/) để quản lý tag tập trung.139- Giám sát nhật ký truy cập và lỗi bằng các công cụ như Sentry.140~141~142## Kết luận143~144SEO kỹ thuật trong Next.js đòi hỏi sự chú ý đến các chi tiết như meta tags, hiệu suất, quốc tế hóa và dữ liệu có cấu trúc. Tự động hóa khi có thể và liên tục giám sát kết quả!145~146> **Danh sách kiểm tra cuối cùng:**147>148> - [x] Meta tags động149> - [x] Sitemap đa ngôn ngữ150> - [x] Dữ liệu có cấu trúc151> - [x] Hiệu suất được tối ưu hóa152> - [x] Giám sát chủ động153~
NORMAL · nextjs-technical-seo.md [readonly]153 lines · :q to close