# SEO với Nuxt (Vue.js / Nuxt.js) > Meta tag, useHead, useSeoMeta, structured data, sitemap, robots.txt, Open Graph, chia sẻ trên mạng xã hội - 20 câu hỏi phỏng vấn - Senior - [Câu hỏi phỏng vấn: Vue.js / Nuxt.js](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van.md) ## 1. Sự khác biệt chính giữa useHead và useSeoMeta trong Nuxt là gì? **Câu trả lời** useHead là một composable chung để quản lý tất cả các thẻ trong head HTML (title, script, link, style, meta), trong khi useSeoMeta chỉ chuyên cho các thẻ meta SEO với kiểu TypeScript nghiêm ngặt. useSeoMeta mang lại độ an toàn kiểu tốt hơn và tự động kiểm tra các thuộc tính SEO như og:image, twitter:card, trong khi useHead yêu cầu cấu hình thẻ meta thủ công. Nên dùng useSeoMeta cho metadata SEO và useHead cho các phần tử head khác. ## 2. Thẻ canonical là gì và tại sao nó quan trọng đối với SEO? **Câu trả lời** Thẻ canonical (rel=canonical) cho công cụ tìm kiếm biết đâu là phiên bản chính của một trang khi nhiều URL có nội dung tương tự hoặc giống nhau. Nó ngăn phạt nội dung trùng lặp và hợp nhất PageRank về URL canonical. Trong Nuxt, thẻ canonical được tạo tự động theo mặc định cho mỗi trang, trỏ đến URL hiện tại. Có thể tắt hoặc tùy chỉnh nó qua useSeoMeta với canonical: false hoặc một URL cụ thể. Rất quan trọng đối với các trang có phân trang, bộ lọc hoặc phiên bản đa ngôn ngữ. ## 3. Làm thế nào để tắt lập chỉ mục một trang cụ thể trong Nuxt mà vẫn cho phép crawling? **Câu trả lời** Sử dụng useSeoMeta với robots: 'noindex, follow' cho phép crawler truy cập trang và đi theo các liên kết, nhưng ngăn lập chỉ mục trong kết quả tìm kiếm. Cách này được ưu tiên hơn robots.txt cho các trang đã được lập chỉ mục, vì robots.txt chặn crawling nhưng không xóa trang khỏi chỉ mục. Phương án thay thế: dùng defineRouteRules với robots: 'noindex' để cấu hình tập trung. Để chặn crawling hoàn toàn, cần robots.txt với Disallow nhưng kém linh hoạt theo từng trang. ## Còn 17 câu hỏi nữa - Các thuộc tính Open Graph thiết yếu để chia sẻ mạng xã hội hiệu quả là gì? - Làm thế nào để tạo sitemap động trong Nuxt từ một API bên ngoài? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Vue.js / Nuxt.js khác - [Kiến thức nền tảng JavaScript](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/javascript-fundamentals.md): 20 câu hỏi, Junior - [JavaScript hiện đại (ES6+)](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/es6-modern-javascript.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về Vue](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/vue-basics.md): 22 câu hỏi, Junior - [Component Vue](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/vue-components.md): 20 câu hỏi, Junior - [Vue Router](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/vue-router.md): 18 câu hỏi, Junior - [Pinia State Management](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/pinia-state-management.md): 20 câu hỏi, Junior - [Vuex (Legacy)](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/vuex-legacy.md): 15 câu hỏi, Mid-Level - [Composition API](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/composition-api.md): 24 câu hỏi, Mid-Level - [Tính reactive của Vue](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/vue-reactivity.md): 20 câu hỏi, Mid-Level - [Kiến thức cơ bản về Nuxt](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/nuxt-fundamentals.md): 22 câu hỏi, Mid-Level - [Data Fetching trong Nuxt](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/nuxt-data-fetching.md): 20 câu hỏi, Mid-Level - [SSR & SSG trong Nuxt](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/nuxt-ssr-ssg.md): 22 câu hỏi, Mid-Level - [Server Routes Nuxt](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/nuxt-server-routes.md): 20 câu hỏi, Mid-Level - [Module Nuxt](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/nuxt-modules.md): 18 câu hỏi, Mid-Level - [Composables trong Vue](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/vue-composables.md): 20 câu hỏi, Mid-Level - [Form & Validation Vue](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/vue-forms-validation.md): 20 câu hỏi, Mid-Level - [Quản lý trạng thái Nuxt](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/nuxt-state-management.md): 18 câu hỏi, Mid-Level - [Testing trong Vue](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/vue-testing.md): 20 câu hỏi, Mid-Level - [Triển khai Nuxt & CI/CD](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/nuxt-deployment-cicd.md): 22 câu hỏi, Mid-Level - [Hiệu năng Vue](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/vue-performance.md): 22 câu hỏi, Senior - [Các mẫu nâng cao trong Vue](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/vue-advanced-patterns.md): 24 câu hỏi, Senior - [TypeScript với Vue](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/typescript-vue.md): 22 câu hỏi, Senior - [Xác thực Nuxt](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/nuxt-auth.md): 20 câu hỏi, Senior - [Quốc tế hóa trong Nuxt](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/nuxt-i18n.md): 18 câu hỏi, Senior - [Kiến trúc Vue](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/vue-architecture.md): 22 câu hỏi, Senior - [Bảo mật Nuxt](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/nuxt-security.md): 20 câu hỏi, Senior - [Hệ sinh thái Vue](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/vue-ecosystem.md): 18 câu hỏi, Senior - [Di chuyển Vue 2→3 & Nuxt 2→3](https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/migration-vue2-vue3-nuxt2-nuxt3.md): 22 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/vue-nuxt/cau-hoi-phong-van/nuxt-seo