【wordpress】如何解決精選圖片用中文檔名,分享到 FB 時會出現錯誤問題?

【wordpress】如何解決文章分享到 FB 時,文章精選圖無法正確顯示問題?

近期 Facebook 的更新可能讓許多網站管理者遇到挑戰,尤其是當你發現分享到 Facebook 的文章封面圖因包含中文檔名而出現 og:image 撈取失效的情況。這篇文章將提供一套全面的解決方案,從根本上解決這個問題。

問題產生的原因

FB 網址分享破圖不是你的問題,Facebook 最近的調整導致它不再支援中文檔名的 og:image。如果您的精選代表圖(封面圖)檔名包含中文字符,分享到 Facebook 時會出現抓取失敗,導致圖片顯示破圖。

最佳解決方案:未來圖片上傳後強制轉檔名

為了預防此類問題,可以通過以下程式碼強制將未來上傳到 WordPress 的圖片中文檔名轉換為英文。請在網站添加以下代碼,將圖片檔名在上傳時自動改為以「my_prefix_」開頭,妳可以加到您 WordPress 網站的 functions.php 檔案中,或使用 WPCode、Code Snippet 等外掛來實現:

function rename_image_on_upload($filename) {
    if (preg_match('/[一-龥]/u', $filename)) {
        $info = pathinfo($filename);
        $ext  = empty($info['extension']) ? '' : '.' . $info['extension'];
        $name = basename($filename, $ext);
        return 'my_prefix_' . time() . $ext; // 在這裡定義重新命名的英文詞
    }
    return $filename;
}
add_filter('sanitize_file_name', 'rename_image_on_upload', 10);
解決精選圖片用中文檔名,分享到 FB 時會出現圖片無法顯示問題的代碼
解決精選圖片用中文檔名,分享到 FB 時會出現圖片無法顯示問題的代碼

如下圖所示,最新圖片上傳後,檔案名稱(檔名)被強制改為以「my_prefix_」開頭,並附加一長串數字(上傳時間的 Unix 時間戳),這樣文章分享到 Facebook 就不怕精選圖片無法正確顯示了:

圖片被強制轉檔名了
圖片被強制轉檔名了

進階處理:批次重命名

為了處理現有的中文檔名圖片,建議使用 Phoenix Media Rename 外掛。切換媒體庫的「清單模式」,選擇需要重命名的圖片,使用「Rename from Post」功能,可以批次將中文檔名圖片強制轉換成英文檔名。

如果遇到權限問題,可以通過 sFTP 或其他工具管理網站資料夾權限,將權限變更為 755 即可。

FB 網址批次失效清除快取

解決了名稱問題後,舊文章中的圖片也需要處理。使用以下步驟進行批次失效清除快取:

  1. 收集所有網址:下載並安裝 list_all_urls_shortcode 檔案,將其中的程式碼放入 functions.php 或 Code Snippet。
  2. 創建文章或頁面:輸入並儲存短碼,顯示所有網址列表。
  3. 複製所有網址:按下「複製所有網址」按鈕。
  4. 使用 Facebook Debugger 工具:前往 Facebook Debugger,選擇「批次失效工具」,將複製的網址貼上去並按下偵錯。

一次只能清除 50 個網址,若超過則會顯示略過的網址。重複這個步驟直到所有網址都清除完畢。

修復結果

這個解決方案成功修復了因 Facebook 無法正確抓取中文檔名圖檔導致的破圖問題。若您覺得操作過於複雜或困難,我們也提供相關技術支援服務:

  • 變更所有中文檔名圖檔為英文圖檔
  • 建立良好的圖片命名習慣
  • 重新關聯正確圖檔與資料表
  • 確保 Facebook 分享圖片不再破圖
  • 拯救您上千小時的工作時間
  • 解決因破圖導致客戶流失的問題

如需幫助,歡迎聯繫我們的技術支援團隊。

5 1 投票
文章評分

如果對文章內容有任何問題,或有想讓小翔另外補充的的內容,歡迎在底下留言讓我知道。

在這裡,我想讓您知道在 小翔教你SEO 網站中,有些連結為聯盟營銷連接,這代表,當人們點擊該連結,並前往其他網站進行購買動作時,我將會從銷售中獲得少部分佣金(但不會影響你購買的價格)。

有關更詳細的聯盟連接說明,請前往 聯盟計畫聲明(FTC) 頁面觀看。

by 小翔

訂閱
通知
guest

0 評論
在線反饋
查看所有評論
0 Shares
Share
Tweet
Share
Pin