Tối ưu tốc độ website PHP thuần cho SEO và trải nghiệm người dùng
27/09/2025 Admin
Slug: sitemap-robots-php-thuan\
Mô tả: Sitemap và Robots.txt là hai công cụ quan trọng giúp Google hiểu và thu thập dữ liệu website. Bài viết hướng dẫn chi tiết cách tạo Sitemap và Robots.txt trong website PHP thuần chuẩn SEO 2025.\
Tags: SEO Onpage, Sitemap, Robots.txt, PHP thuần, Google Index
1. Sitemap và Robots.txt là gì?
1.1. Sitemap XML
Sitemap là tệp tin liệt kê tất cả các URL quan trọng của website.\
• Giúp Google nhanh chóng tìm thấy và index trang mới.\
• Hỗ trợ hiển thị thông tin bổ sung (ngày cập nhật, tần suất thay đổi).
1.2. Robots.txt
Robots.txt là tệp cấu hình trong thư mục gốc của website.\
• Hướng dẫn bot tìm kiếm nên và không nên crawl những gì.\
• Giúp tiết kiệm crawl budget (ngân sách crawl).
2. Vì sao Sitemap & Robots.txt quan trọng với website PHP thuần?
Trong WordPress hay các CMS phổ biến, Sitemap & Robots.txt thường được plugin tạo tự động. Nhưng với PHP thuần, bạn phải:\ • Viết code xuất sitemap XML theo chuẩn Google.\ • Tự tạo file Robots.txt và duy trì thủ công.\ • Đảm bảo cập nhật sitemap khi có bài viết mới. Nếu làm tốt:\ • Google sẽ index nhanh, không bỏ sót trang.\ • Tránh tình trạng index những URL không mong muốn (admin, query string).\ • Cải thiện hiệu quả SEO tổng thể.3. Cấu trúc Sitemap chuẩn Google
Một Sitemap cơ bản trông như sau:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
<lastmod>2025-09-27</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://example.com/seo-onpage-php-thuan</loc>
<lastmod>2025-09-20</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Ý nghĩa:
• `<loc>`: URL trang.\ • `<lastmod>`: Ngày cập nhật cuối.\ • `<changefreq>`: Tần suất thay đổi nội dung.\ • `<priority>`: Mức độ ưu tiên (0.1 – 1.0).4. Code tạo Sitemap động trong PHP thuần
Ví dụ: tự động lấy bài viết từ cơ sở dữ liệu MySQL và xuất sitemap XML.
<?php
header("Content-Type: application/xml; charset=utf-8");
// Kết nối DB
$conn = new mysqli("localhost", "user", "password", "database");
$result = $conn->query("SELECT slug, updated_at FROM posts");
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
// Trang chủ
echo "<url>
<loc>https://example.com/</loc>
<lastmod>".date('Y-m-d')."</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>";
// Bài viết
while($row = $result->fetch_assoc()) {
echo "<url>
<loc>https://example.com/".$row['slug']."</loc>
<lastmod>".$row['updated_at']."</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>";
}
echo '</urlset>';
?>
Lưu file với tên `sitemap.php` và rewrite thành `sitemap.xml` qua `.htaccess`.
5. Cấu trúc Robots.txt chuẩn SEO
Ví dụ cơ bản:
User-agent:
Disallow: /admin/
Disallow: /tmp/
Allow: /
Sitemap: https://example.com/sitemap.xml
Giải thích:
• `User-agent: ` → áp dụng cho tất cả bot.\ • `Disallow: /admin/` → không cho index thư mục admin.\ • `Allow: /` → cho phép crawl toàn bộ phần còn lại.\ • `Sitemap:` → khai báo sitemap để Google đọc.6. Checklist tối ưu Sitemap & Robots.txt cho PHP thuần
6.1. Checklist Sitemap
• Đảm bảo sitemap không quá 50,000 URL.\ • Nếu nhiều hơn, chia thành nhiều sitemap nhỏ và tạo sitemap index.\ • Tự động cập nhật khi thêm/sửa/xóa bài viết.\ • Đặt file sitemap ở thư mục gốc: `https://example.com/sitemap.xml`.6.2. Checklist Robots.txt
• Không chặn các file CSS, JS cần thiết cho giao diện.\ • Chặn URL query string không cần index (ví dụ `?id=123`).\ • Luôn khai báo đường dẫn sitemap trong robots.txt.\ • Kiểm tra file robots bằng công cụ Google Search Console.7. Những lỗi thường gặp khi làm Sitemap & Robots.txt
• Chặn nhầm toàn bộ website bằng `Disallow: /`.\ • Không cập nhật sitemap khi thêm bài viết mới.\ • Đặt sai định dạng XML khiến Google không đọc được.\ • Không khai báo sitemap trong robots.txt → Google khó tìm thấy.\ • Đặt file ở sai vị trí (trong thư mục con thay vì gốc).8. Nâng cao: Sitemap đa ngôn ngữ & Sitemap hình ảnh
8.1. Sitemap đa ngôn ngữ (hreflang)
Nếu website PHP thuần có nhiều phiên bản ngôn ngữ, bạn có thể thêm thẻ `<xhtml:link>` trong sitemap.
<url>
<loc>https://example.com/seo-onpage</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/seo-onpage"/>
<xhtml:link rel="alternate" hreflang="vi" href="https://example.com/vi/seo-onpage"/>
</url>
8.2. Sitemap hình ảnh
Giúp index hình ảnh nhanh hơn.
<url>
<loc>https://example.com/seo-onpage</loc>
<image:image>
<image:loc>https://example.com/uploads/seo.jpg</image:loc>
<image:caption>SEO Onpage cho website PHP thuần</image:caption>
</image:image>
</url>