
網站地圖(Sitemap)是一份列出網站所有重要網址的清單,格式是 XML,專門給搜尋引擎看。它的作用是告訴 Google「我的網站有這些頁面、最近更新了哪些」,讓新文章更快被發現、被收錄。
這篇文章 2015 年的版本教的是自己下載一支 PHP 程式、再設定轉址產生網站地圖。現在完全不需要這麼麻煩了——WordPress 從 5.5 版開始就內建網站地圖。
你的網站地圖在哪裡?
在瀏覽器打開:
https://你的網址/wp-sitemap.xml看到一份列出「文章、頁面、分類、標籤、作者」的清單,就代表網站地圖已經在運作,點進去可以看到每一類的網址。
如果打開是「找不到頁面」,常見原因是:
- WordPress 版本低於 5.5 → 請更新 WordPress。
- 後台「設定 → 閱讀」勾選了「阻止搜尋引擎索引這個網站」→ 勾選時 WordPress 會關閉網站地圖,網站正式上線後記得取消勾選。
- 已經安裝了 SEO 外掛 → 外掛會接手產生網站地圖,網址不同(見下一段)。
用 SEO 外掛的話,網址不一樣
有安裝 SEO 外掛時,通常會自動關閉 WordPress 內建的網站地圖,改用外掛產生的版本:
- Yoast SEO:
https://你的網址/sitemap_index.xml - Rank Math:
https://你的網址/sitemap_index.xml
兩者都能在外掛設定裡,用勾選的方式決定哪些內容要放進網站地圖,比寫程式方便。同一個網站只要一份網站地圖就好,不要同時開好幾個。
用內建網站地圖時,排除不需要的內容
內建網站地圖預設會列出作者頁與標籤頁。一個人經營的網站,作者頁內容跟首頁重複;標籤頁太多也容易產生內容很少的頁面。在 functions.php 加上(建議放在子主題或 Code Snippets 外掛裡):
// 網站地圖不列出作者頁
add_filter( 'wp_sitemaps_add_provider', function ( $provider, $name ) {
return 'users' === $name ? false : $provider;
}, 10, 2 );
// 網站地圖不列出標籤頁
add_filter( 'wp_sitemaps_taxonomies', function ( $taxonomies ) {
unset( $taxonomies['post_tag'] );
return $taxonomies;
} );排除特定幾篇文章或頁面(例如感謝頁、測試頁),把數字換成文章的 ID:
add_filter( 'wp_sitemaps_posts_query_args', function ( $args, $post_type ) {
if ( 'page' === $post_type ) {
$args['post__not_in'] = array( 12, 34 );
}
return $args;
}, 10, 2 );文章 ID 可以在後台文章列表,把滑鼠移到標題上,看瀏覽器左下角網址裡的 post= 後面的數字。
把網站地圖寫進 robots.txt
在 robots.txt 加上一行網站地圖的位置,搜尋引擎來抓網站時就會看到:
Sitemap: https://你的網址/wp-sitemap.xmlWordPress 如果沒有實際的 robots.txt 檔案,會自動產生一份虛擬的,而且已經包含內建網站地圖的位置;有裝 SEO 外掛時也會自動加上。可以打開 https://你的網址/robots.txt 確認。robots.txt 的其他設定,可以參考使用 robots.txt 優化你的 WordPress 網站。
提交到 Google Search Console
- 到 Google Search Console 加入並驗證你的網站。
- 左側選單點「Sitemap」。
- 在「新增 Sitemap」輸入網站地圖的網址(例如
wp-sitemap.xml),按「提交」。 - 過幾天回來看,狀態顯示「成功」,並且能看到「已找到的網頁」數量就完成了。
只要提交一次,之後 Google 會定期自己回來讀取,新文章不用再手動提交。Google 以前提供的「ping」通知網址已經在 2023 年停用,現在就是靠 Search Console 與 robots.txt。
Bing 也可以到 Bing Webmaster Tools 用同樣的方式提交,而且可以直接匯入 Google Search Console 的網站設定。
常見問題
提交了網站地圖,網頁就一定會被收錄嗎?
不一定。網站地圖是「告訴 Google 有這些網頁」,要不要收錄、排在第幾名,還是看內容的品質與實用性。內容很少、重複的頁面,就算列在網站地圖裡也可能不被收錄。
Search Console 顯示「無法擷取」?
先用瀏覽器打開網站地圖網址確認打得開。打得開的話,檢查是否有安全性外掛、防火牆或 CDN 擋住了 Googlebot;網站剛搬家或剛改網址時,也可能需要等幾天。
延伸閱讀
- WordPress robots.txt 怎麼寫?虛擬 robots.txt、Sitemap 設定與 noindex 正確用法
- WordPress 文章 SEO 怎麼做?標題、網址、內文、圖片與提交搜尋引擎的重點整理
- Google 結構化資料是什麼?JSON-LD 寫法與測試工具教學
網站地圖、Search Console 這些設定,是網站上線時就該做好的基本功。需要人幫忙設定,或想做一個 SEO 基礎打好的新網站,歡迎參考正威網路行銷的基隆網頁設計服務,也服務台北與全台客戶。







發表留言
還沒有人留言,歡迎第一個分享你的想法或問題。留言經審核後才會顯示,Email 不會公開。