跳至主要內容

    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();

    相關連結

    常見問題

    關於這個詞彙的常見問答。

    回到詞彙表