Bỏ qua điều hướng
chuanweb.com
Quay lại tất cả bài viết

SEO kỹ thuật cho website tĩnh Astro: sitemap, robots và structured data

chuanweb.com 2 phút đọc
SEO kỹ thuật cho website tĩnh Astro: sitemap, robots và structured data

Website tĩnh chạy nhanh là lợi thế lớn cho SEO, nhưng nếu bỏ quên khâu kỹ thuật — sitemap, robots, structured data — thì nội dung hay cũng khó lên top. Astro v5 cung cấp sẵn công cụ cho hầu hết các việc này, chỉ cần bật đúng chỗ.

Sitemap và robots.txt chuẩn

Astro có sẵn tích hợp @astrojs/sitemap. Thêm vào cấu hình:

// astro.config.mjs
import { defineConfig } from 'astro/config';
import sitemap from '@astrojs/sitemap';

export default defineConfig({
  site: 'https://chuanweb.com',
  integrations: [sitemap()],
});

Sau khi build, file sitemap-index.xml và danh sách URL được sinh tự động trong dist. Đồng thời tạo robots.txt trong thư mục public:

User-agent: *
Allow: /
Sitemap: https://chuanweb.com/sitemap-index.xml

Thẻ canonical chống nội dung trùng lặp

Khi cùng một nội dung xuất hiện ở nhiều URL, Google cần biết bản chính thức. Dùng Astro.canonicalURL trong layout:

---
// src/layouts/BaseLayout.astro
const { title } = Astro.props;
---

<!doctype html>
<html lang="vi">
<head>
  <meta charset="utf-8" />
  <title>{title} · chuanweb.com</title>
  <link rel="canonical" href={Astro.canonicalURL} />
</head>
<body>
  <slot />
</body>
</html>

Structured data bằng JSON-LD

Dữ liệu có cấu trúc giúp Google hiển thị rich snippet. Cho trang blog, dùng schema Article hoặc BlogPosting ngay trong chính bài viết:

---
const { title, description, pubDate, tags } = Astro.props;
const jsonLd = {
  '@context': 'https://schema.org',
  '@type': 'BlogPosting',
  headline: title,
  description,
  datePublished: pubDate,
  keywords: tags.join(', '),
  url: Astro.canonicalURL,
};
---

<script type="application/ld+json" set:html={JSON.stringify(jsonLd)} />

Google sẽ đọc BlogPosting và có thể hiển thị ngày đăng, mô tả đậm hơn trong kết quả tìm kiếm.

Meta cơ bản vẫn phải chắc

  • <title> duy nhất cho từng trang, chứa từ khóa chính.
  • meta name="description" trong 150–160 ký tự, miêu tả trúng nhu cầu người đọc.
  • meta name="viewport" và lang="vi" luôn đúng để Google xác định ngôn ngữ.

Kết luận

  • Bật @astrojs/sitemap và khai báo site chính xác — nền tảng cho mọi kiểm tra crawl.
  • Canonical + robots.txt + JSON-LD là bộ ba không thể thiếu cho blog Astro.
  • Sau khi ra mắt, dùng Google Search Console để gửi sitemap và theo dõi lỗi lập chỉ mục.

💡 Tốc độ trang là yếu tố xếp hạng. Hosting nhanh giúp Core Web Vitals đạt mục tiêu dễ hơn — xem gói Hostinger giá VN (link affiliate, bạn không trả thêm phí).

sitemap, robots.txt và structured data là phần SEO kỹ thuật không mỹ quan trọng nhưng thiếu nó thì mất hết giá trị nội dung. Tôi làm riêng hạng mục này cho website tĩnh — xem bảng giá SEO kỹ thuật.

Chia sẻ bài viết này