你是否曾遇過開啟 WordPress 網站地圖 (sitemap) 時,無法正常顯示 Sitemap,卻顯示「error on line 2 at column 6: XML declaration allowed only at the start of the document」的錯誤訊息?這不僅會影響搜尋引擎對網站的索引,還可能間接降低網站在搜尋結果中的排名。別擔心,你的網站沒有壞掉,只是迷路的小小空白在作怪!
今天這篇文章,提供了兩種解決方案,能夠幫助你快速解決 WordPress Sitemap Error 的問題。
文章目錄
為什麼會出現 error on line 2 at column 6:?
這個錯誤通常是因為佈景主題或外掛程式在 functions.php 或 wp-config.php 檔案中,不小心在 <?php 標籤前或 ?> 標籤後加入了多餘的空白字元。這些看似微不足道的空白,就像在高速公路上突然出現的障礙物,導致 XML 宣告無法順利通行,進而造成網站地圖解析錯誤。
網站地圖錯誤的影響不僅僅是無法正常顯示,更重要的是它會阻礙搜尋引擎爬蟲理解網站的結構和內容。長期下來,這可能導致網站收錄率下降,甚至影響網站在搜尋結果中的排名。因此,及時解決網站地圖錯誤至關重要。
TechMoon 貼心提醒
- 在修改任何網站檔案之前,請務必先備份,以防不時之需。備份網站檔案和資料庫是一個好習慣,可以讓你輕鬆還原網站到之前的狀態。
- 如果你不熟悉程式碼,建議請專業人士協助,以免造成其他問題。修改程式碼需要謹慎,錯誤的修改可能導致網站無法正常運作。
解決方案一:手動清除空白(進階)
首先,我們可以先仔細檢查 WordPress 跟目錄當中的 functions.php 和 wp-config.php 檔案。這不僅僅是簡單地瀏覽程式碼,而是需要逐行檢查,確保沒有任何多餘的空白字元。
以下是幾個需要特別注意的地方:
- 檔案開頭和結尾: 檢查檔案最上方 <?php 標籤前,以及最下方 ?> 標籤後,是否有任何空白行或空格。
- 程式碼區塊之間: 有時候,開發者會在程式碼區塊之間加入空白行來增加可讀性,但過多的空白行也可能導致問題。檢查這些空白行,確保沒有不必要的空白字元。
- 包含檔案的語法: 如果 functions.php 或 wp-config.php 檔案中包含了其他檔案(例如使用 include 或 require 語法),也要檢查被包含的檔案中是否有空白字元。
完成以上步驟後,儲存檔案並重新產生網站地圖,看看問題是否已經解決。如果問題仍然存在,那麼我們可能需要採取更進階的解決方案。
這個方法適用於進階使用者,懂得如何訪問 WordPress 根目錄以及能夠了解程式碼並自行排除這些問題的使用者。如果你對於除錯方面不擅長,那麼建議採用下面的解決方案。
解決方案二:腳本自動修正(推薦)
如果手動清除無效,或是你覺得網站檔案太多,不想一個個檢查,或者擔心手動修改可能出錯,那麼我們可以使用自動化腳本,快速、有效地移除多餘的空白字元,解決網站地圖錯誤。
登入 cPanel
首先,我們要登入網站的 cPanel 控制面板,然後打開檔案管理員,前往 WordPress 的根目錄。cPanel 是大多數網站託管服務商提供的網站管理工具,透過 cPanel,我們可以方便地管理網站檔案、資料庫、電子郵件等。
建立修正腳本
接著,建立一個名為 whitespacefix.php 的新檔案,並將以下程式碼複製貼上到檔案中:
<?php
function ___wejns_wp_whitespace_fix($input) {
$allowed = false;
$found = false;
foreach (headers_list() as $header) {
if (preg_match("/^content-type:\\s+(text\\/|application\\/((xhtml|atom|rss)\\+xml|xml))/i", $header)) {
$allowed = true;
}
if (preg_match("/^content-type:\\s+/i", $header)) {
$found = true;
}
}
if ($allowed || !$found) {
return preg_replace("/\\A\\s*/m", "", $input);
} else {
return $input;
}
}
ob_start("___wejns_wp_whitespace_fix");
?>
這段程式碼定義了一個名為 ___wejns_wp_whitespace_fix 的函式,它會檢查 HTTP 標頭,判斷是否允許移除空白字元,並使用正規表示式移除網站地圖輸出中的多餘空白。
完成後,你的檔案管理員應該會看到 whitespacefix.php 檔案。
修改 index.php
接著,打開網站根目錄下的 index.php 檔案,這是 WordPress 網站的入口檔案。在 <?php 標籤後方加入一行程式碼:
include('whitespacefix.php');
這行程式碼的作用是將我們剛剛建立的 whitespacefix.php 檔案包含進來,使得其中的程式碼能夠在網站執行時生效。完成後,你的 index.php 檔案應該會包含這行程式碼。
完成以上步驟後,你的網站地圖應該就能夠正常顯示了!這個腳本會自動移除 XML 宣告前的多餘空白,讓網站地圖正常運作。
如果問題還是存在,可能是因為你的網站有快取緩存。請清除快取緩存之後,再次重新整理 Sitemap 網址,就可以正常顯示。
網站地圖恢復正常與後續維護
恭喜你!透過以上方法,你已經成功解決了 WordPress 網站地圖的 XML 宣告錯誤。現在,你的網站地圖就可以正常使用,建議提交至 Google Search Console,引導搜尋引擎爬蟲探索你的網站內容,提升網站的 SEO 表現。
然而,解決問題並不代表一勞永逸。為了避免類似問題再次發生,我們建議你:
- 定期檢查網站檔案: 定期檢查 functions.php、wp-config.php 以及其他佈景主題和外掛程式的檔案,確保沒有多餘的空白字元。
- 謹慎安裝外掛程式和佈景主題: 在安裝新的外掛程式或佈景主題之前,先確認其來源可靠,並仔細閱讀相關說明文件,避免安裝來路不明的程式碼。
- 更新 WordPress 核心、外掛程式和佈景主題: 保持 WordPress 核心、外掛程式和佈景主題更新到最新版本,可以修復已知的錯誤和安全漏洞,提高網站的穩定性和安全性。
- 使用程式碼編輯器: 使用專業的程式碼編輯器,例如 Sublime Text、VS Code 等,這些編輯器可以顯示空白字元,幫助你更容易地發現和清除多餘的空白。
如果你還有其他 WordPress 相關問題,歡迎隨時來 TechMoon 科技月球探索,我們會持續分享更多實用的網站架設與 SEO 優化技巧,陪伴你不斷成長!
如果本篇文章對你有幫助,歡迎留言分享給我們知道!
相關文章
- 戰國策 WordPress 虛擬主機完整教學 – 免費 30 天主機申請試用服務,國內 WordPress 架站的好選擇
- 如何解決 WordPress 中「目前正在執行另一項更新程序」導致無法升級/更新的問題
- 如何修復 WordPress 網站無法顯示更新後最新內容的問題?
- UpdraftPlus – WordPress 免費自動備份外掛,一鍵輕鬆打包網站與資料庫內容,還可免費上傳至多個雲端儲存空間
- 如何修復 WordPress 出現 500 Internal Server Error 的解決方法
- WordPress 出現 504 Gateway Timeout Error 解決方法?
- 如何在 WordPress 中自定義滾動條?兩個方法教你快速設定!
- 如何停止 WordPress AutoSave 自動儲存功能?4 個方法幫你快速禁用!
- 如何解決在 WordPress 當中遇到建立數據庫連線時發生錯誤(Establishing a Database Connection)的情況
- 【2024 最新】網域註冊最便宜方案!TLD-List 完整教學,3 分鐘找到最便宜的首購、續約、移轉域名
- 戰國策 WordPress + SSL 虛擬主機評價,亞洲雲端服務業的領導品牌台灣本土虛擬主機推薦心得
- Archive Forever 免費將網站頁面截圖或圖片永久備份至區塊鏈當中,永遠不會受到審查或串改風險
新增留言