跳至主內容

什麼是網站地圖?

image

定義

網站地圖(Sitemap)是一個組織和列出網站所有頁面的檔案,用於告知搜尋引擎網站的結構。像建築藍圖或地圖一樣,網站地圖幫助搜尋引擎爬蟲有效地導航和索引網站。

網站地圖有兩種主要類型。第一種是XML網站地圖,主要為搜尋引擎建立,格式化為易於機器而非人類閱讀。第二種是HTML網站地圖,建立的頁面使網站訪客可以一目了然地查看整個網站結構。從SEO角度來看,XML網站地圖更重要,通常位於網站根目錄中,檔案名稱為'sitemap.xml'。

網站地圖對於新網站、擁有大量頁面的大型網站、內部連結連接不良的網站以及外部連結較少的網站特別有用。當搜尋引擎難以自然發現所有頁面時,您可以透過網站地圖明確通知頁面的存在。

特點

  • 提高搜尋引擎爬取效率:網站地圖幫助搜尋引擎機器人快速準確地找到網站的所有重要頁面。
  • 加快新內容索引:透過將新頁面新增到網站地圖並通知搜尋引擎,它們可以比透過常規爬取更快地被索引。
  • 提供頁面中繼資料:您可以為每個URL提供額外資訊,如最後修改日期、更新頻率和優先順序。
  • 支援各種內容類型:除了常規網頁外,還存在用於特殊內容類型(如圖片、影片和新聞)的專門網站地圖。
  • 自動生成和更新:大多數CMS平台(WordPress、Shopify等)提供自動生成和更新網站地圖的功能。

使用方法

以下是有效建立和使用網站地圖的方法:

步驟1:生成網站地圖 您可以根據網站的規模和技術堆疊以各種方式生成網站地圖。如果使用WordPress等CMS,Yoast SEO等外掛會自動生成網站地圖。對於靜態網站或自訂網站,您可以使用線上網站地圖生成器或直接使用程式語言建立。

步驟2:最佳化網站地圖 在網站地圖中僅包含您希望被搜尋引擎索引的頁面。排除重複內容、重新導向頁面、帶有noindex標籤的頁面和錯誤頁面。此外,由於單個網站地圖檔案不能超過50,000個URL和50MB的大小,大型網站必須拆分為多個網站地圖並使用網站地圖索引檔案進行管理。

步驟3:在robots.txt中指定網站地圖位置 在robots.txt檔案中指定網站地圖位置使搜尋引擎更容易找到網站地圖。在檔案末尾新增「Sitemap: https://yoursite.com/sitemap.xml」。

步驟4:提交到Google Search Console 登入Google Search Console並在「網站地圖」部分提交您的網站地圖URL。這使Google可以立即識別網站地圖並開始爬取。

步驟5:提交到其他搜尋引擎 最好也將網站地圖提交到其他搜尋引擎的網站管理員工具,如Bing Webmaster Tools和Naver Search Advisor。

步驟6:定期更新和監控 網站地圖應定期更新以反映網站變更。在Google Search Console中檢查網站地圖狀態,並立即修復任何錯誤。

範例

範例1:基本XML網站地圖結構

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://zero-coke.com/</loc>
<lastmod>2024-03-23</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://zero-coke.com/blog/what-is-seo</loc>
<lastmod>2024-03-20</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://zero-coke.com/blog/what-is-backlink</loc>
<lastmod>2024-03-22</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>

此範例顯示了最基本的XML網站地圖結構。您可以為每個URL指定位置(loc)、最後修改日期(lastmod)、變更頻率(changefreq)和優先順序。

範例2:網站地圖索引檔案 對於大型網站,需要索引檔案來管理多個網站地圖:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://zero-coke.com/sitemap-pages.xml</loc>
<lastmod>2024-03-23</lastmod>
</sitemap>
<sitemap>
<loc>https://zero-coke.com/sitemap-blog.xml</loc>
<lastmod>2024-03-23</lastmod>
</sitemap>
<sitemap>
<loc>https://zero-coke.com/sitemap-images.xml</loc>
<lastmod>2024-03-22</lastmod>
</sitemap>
</sitemapindex>

範例3:圖片網站地圖 用於圖片搜尋最佳化的專用網站地圖:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://zero-coke.com/blog/seo-guide</loc>
<image:image>
<image:loc>https://zero-coke.com/img/seo-infographic.png</image:loc>
<image:title>SEO最佳化資訊圖</image:title>
<image:caption>初學者SEO指南</image:caption>
</image:image>
</url>
</urlset>

範例4:使用Node.js動態生成網站地圖

const { SitemapStream, streamToPromise } = require('sitemap');
const { createWriteStream } = require('fs');

async function generateSitemap() {
const sitemap = new SitemapStream({
hostname: 'https://zero-coke.com'
});

const writeStream = createWriteStream('./public/sitemap.xml');
sitemap.pipe(writeStream);

// 新增首頁
sitemap.write({
url: '/',
changefreq: 'daily',
priority: 1.0
});

// 新增部落格文章
const posts = await getBlogPosts(); // 從資料庫取得
posts.forEach(post => {
sitemap.write({
url: `/blog/${post.slug}`,
lastmod: post.updatedAt,
changefreq: 'weekly',
priority: 0.8
});
});

sitemap.end();
await streamToPromise(sitemap);
console.log('網站地圖生成成功。');
}

generateSitemap();

優缺點

優點

  • 提高搜尋引擎可發現性:提供網站地圖使搜尋引擎能夠完整發現您網站的所有重要頁面。這對於具有複雜內部連結結構的網站或新網站特別有用。

  • 加快索引速度:在發布新內容或更新現有內容時,您可以透過網站地圖立即通知搜尋引擎,顯著縮短索引時間。

  • 提供額外中繼資料:您可以向搜尋引擎傳遞URL重要性、更新頻率和最後修改日期等資訊,以調整爬取優先順序。這對於具有有限爬取預算的大型網站尤其重要。

缺點

  • 需要維護:如果您的網站經常變更,網站地圖也必須持續更新。如果沒有自動化,這可能成為額外的工作負擔。

  • 不保證排名:擁有網站地圖不會自動提高搜尋排名。網站地圖僅僅是輔助爬取和索引的工具,實際排名由內容品質和反向連結等其他因素決定。

  • 錯誤配置的不良影響:如果網站地圖包含404錯誤頁面、重複內容或重新導向頁面,可能會使搜尋引擎感到困惑並浪費爬取預算。因此,準確的配置和定期檢查至關重要。

常見問題

問:如果我沒有網站地圖,我的網站會不會不出現在搜尋引擎中? 答:不,即使沒有網站地圖,搜尋引擎也可以透過跟隨內部連結來發現和索引頁面。但是,擁有網站地圖會使這個過程更加高效和快速。對於新網站或具有複雜內部連結結構的網站,網站地圖尤其重要。

問:網站地圖中的priority和changefreq值會影響搜尋排名嗎?:Google已正式聲明它忽略優先順序值,changefreq也只是參考,並不是很重要。這些值只是相對提示,搜尋引擎使用自己的演算法確定爬取優先順序。實際上,lastmod(最後修改日期)是更有用的資訊。

問:我應該多久更新一次網站地圖? 答:這取決於您網站的更新頻率。如果您是每天發布新內容的新聞網站,應該即時更新,而每月更新1-2次的小型商業網站應相應更新。大多數CMS平台在新增或修改頁面時會自動更新網站地圖。

問:我也應該建立HTML網站地圖嗎? 答:雖然HTML網站地圖對SEO沒有顯著的直接影響,但從使用者體驗角度來看可能很有用。它們幫助訪客快速找到所需頁面,特別是在具有複雜結構的大型網站上。如果資源允許,最好同時提供XML和HTML網站地圖。