本教學操作環境:Windows10系統、WordPress 6.1版、Dell G3電腦。
wordpress報錯429怎麼辦?
WordPress報錯「429 Too Many Requests」完美解決方案
這段時間(實際上已經持續了好長一段時間)只要伺服器在中國的WordPress站長應該都會有一件煩人的事情,每當要升級WordPress版本,又或者升級WordPress平台的主題或者插件,都會受到“429 Too Many Requests”報錯提示。
#「429 Too Many Requests」原因
##有些WordPress站長,遇到429報錯可能第一時間的反應是,可能WordPress安裝包,WordPress主題或外掛檔出現了問題。其實是有可能的,但這次,不是。而只是國內無法存取wordpress.org的伺服器而已。 那麼是不是國內牆掉了wordpress.org呢,小編是ping了下wordpress.org,發現國內還是正常的訪問wordpress.org的IP位址,只是不太穩定而已。如下圖: #既然wordpress.org並沒有被牆,小編繼續翻閱資料,看能否找到一些蛛絲馬跡。終於在wordpress.org論壇找到:《Is wordpress.org restricting visits from China region?》大概的意思是:
(1)WordPress並沒有地理限制。中國區域出現429報錯,不是WordPress特別限制導致。
(2)WordPress論壇人員回覆稱,最近很可能是來自該IP位址的太多請求,因此您達到了ratelimit。
(3)中國提問者提出質疑,「我知道ngx_http_limit_req_module是有用的用於限制速率的nginx模組,但是很難相信中國的大部分地區都受到限制。IP地理位置資料庫看起來很像是地理阻止,它返回HTTP 429而不是HTTP 403。」
因此,為什麼WordPress在更新版本,或者升級主題及外掛時,訪問wordpress.org網站,均會報429錯誤?就留由大家去猜測了。
如何解決「429 Too Many Requests」
方案1:手動下載上傳檔案更新
就是當你需要更新到最新版本的WordPress時,又或是更新主題及外掛更新時,可以透過翻牆到wordpress.org,下載WordPress安裝包、WordPress主題及插件,再手動上傳到伺服器執行更新。
方案2:使用第三方WordPress最新版本鏡像
將以下PHP程式碼加入WordPress安裝檔的function.php,使用第三方映像檔來實作WordPress版本更新。
<?php add_filter('site_transient_update_core', function($value){ foreach ($value->updates as &$update) { if($update->locale == 'zh_CN'){ $update->download = 'http://www.xintheme.cn/download/wordpress-zh_CN.zip'; $update->packages->full = 'http://www.xintheme.cn/download/wordpress-zh_CN.zip'; } } return $value; });
方案3:完美解決方案-安裝Kill 429外掛程式
上述兩種方案,方案1過於麻煩,流程相對較複雜;方案2僅限於更新WordPress版本,無法更新WordPress主題及外掛。
我們更建議使用第3種方案,只需要安裝並啟用Kill 429插件,即可實現直接升級WordPress版本,及更新WordPress主題、插件。
推薦學習:《WordPress教學》