XML Sitemap
XML sitemap 列出你希望搜尋引擎發現的 URL,建議只放 canonical 且可索引的頁面。
定義
XML Sitemap 是列出網站重要 URL 的 XML 檔案,幫助搜尋引擎更有效率地發現與爬取。它不是排名保證,但能改善大型站的收錄與更新效率。
為什麼重要
- 加速新頁面被發現與爬取,尤其是孤立頁面
- 讓大型站與 pSEO 站更容易管理收錄範圍
- 搭配 Search Console 監控索引狀態與錯誤
- 提供 lastmod 讓搜尋引擎知道內容更新時間
- 支援圖片、影片、新聞等特殊內容的額外標記
- 是 SEO 技術審計的基本項目之一
- 幫助多語言網站區分不同語言版本的 URL
怎麼做(實作重點)
- 只放 canonical + indexable URL(避免 noindex、重導、404、軟 404)
- lastmod 只在內容真正更新時才更新(避免自動刷新日期)
- 大型網站使用 sitemap index 分割(每個 sitemap 最多 50,000 URL)
- 在 robots.txt 加上 Sitemap: 指令
- 定期驗證 sitemap 中的 URL 是否都返回 200
- 使用 gzip 壓縮大型 sitemap(.xml.gz)
- 在 CI/CD pipeline 中自動生成 sitemap
範例
xml
<?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-01-01</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://example.com/products/widget</loc>
<lastmod>2025-01-10</lastmod>
</url>
</urlset>javascript
// 自動生成 sitemap(Node.js 範例)
const { SitemapStream, streamToPromise } = require('sitemap');
const { createWriteStream } = require('fs');
const sitemap = new SitemapStream({ hostname: 'https://example.com' });
const writeStream = createWriteStream('./public/sitemap.xml');
sitemap.pipe(writeStream);
sitemap.write({ url: '/', lastmod: new Date(), priority: 1.0 });
sitemap.write({ url: '/blog', lastmod: new Date() });
sitemap.end();相關連結
常見問題
關於這個詞彙的常見問答。