WordPress 插件更新噩夢(我自己的故事)和解決方案
已發表: 2022-09-15這是我自己的——噩夢般的——更新 WordPress 的故事——以及吸取的教訓。 我還在結尾處包含了一些指導方針,所以你不會陷入像我們這樣的情況!
一切進展順利……
您可能知道我們有一個電子商務分析業務——Putler。 我們使用 WooCommerce 和訂閱擴展以及許多其他插件來運行它的後端。 我們使用自己的插件將 WooCommerce 數據與 Putler 同步,因此我可以在 Putler 中獲得所有高級報告。
大約三年前我建立了 Putler 網站,之後更新了 3-4 次,一切都很順利。 到目前為止,一切都很好。
東西壞了……
有一天,一位客戶說他無法登錄到 Putler,儘管他已經訂閱了。
雖然聽起來很奇怪,但事實確實如此。 他的 PayPal 訂閱處於活動狀態,我們每月收到付款,但在 WooCommerce 中,他的訂閱顯示為“未收到付款”/“待取消”。
我們找不到發生這種情況的具體原因,因此將其稱為異常,並手動將他的訂閱標記為“活動”。
幾天后,另一位訂戶提出了類似的問題。 我們也手動糾正了這個問題,並要求我們的服務器管理員查看服務器上的任何問題。
服務器管理員說一切都很好。 我們收到付款很好,大多數訂閱在 WooCommerce 中顯示為活躍。所以我聳了聳肩,認為這是一個“臨時”問題。
生意岌岌可危……
一周後,當我查看月度收入數字時,我發現我們的月度收入下降了 20% 。 這對於經常性業務來說是不尋常的,所以我開始仔細查看訂單。
原來,在過去的兩周里,許多經常性訂單沒有得到處理。 PayPal 正在發送成功收款通知,但它們未能與系統中的實際訂閱鏈接。 最終,這些訂閱由於逾期付款而被取消。
自動取消訂閱是一個大問題。 如果我們沒有找到並糾正這一點,我們將失去所有業務,因為系統將在適當的時候取消所有訂閱。
我們著火了。
誰該受責備?
我們立即將責任歸咎於訂閱插件。 幾天前我們更新了它,我們認為新版本正在破壞它。 我們開始了廣泛的調試,並檢查了 PHP 錯誤日誌、WooCommerce 日誌、IPN 日誌等等。 我們可以達到破壞的確切功能。 每當收到 PayPal 通知時,處理過程都很順利,直到某個點,然後一切都靜默了。
我很生氣。 開始詛咒訂閱插件和布倫特。 Prospress 的 Brent Shepherd——Subscriptions 插件的製造商——實際上是一個好朋友,因此責備他很容易!!
然後我想到了尋求他的幫助——他畢竟是朋友。 所以在 Slack 上採訪了 Gabor Javorszky(來自 Prospress)並描述了我們的問題。 他說 PayPal 問題很常見,並要求我發送所有日誌。 他還建議另一個插件可能會導致問題。
距離第一次投訴已經過去了兩週,距離問題開始還有將近一個月的時間。 我將問題升級為最高優先級,並要求對所有內容進行廣泛審計。
兩天后,我們找到了真正的罪魁禍首。
多可惜…
這是 WooCommerce Putler 連接器插件。 我們自己的插件之一。
恥辱!!
事實上,連接器插件的最後一次更新解決了這個確切的問題。 我們沒有在我們自己的網站上更新到最新版本!
那是更大的恥辱!
學過的知識…
僅僅因為我們錯過了插件更新,我們就損失了一大筆收入、兩週的時間和許多付費客戶。 如果我們不能盡快解決問題,損失將是嚴重的。
是的,我們都遇到過在更新 WordPress 核心、插件或主題後事情變得糟糕的情況。 我們已經看到了“死亡的白屏”。 執行更新後,我們在實時網站上遇到了危機。
但這並不意味著我們可以在沒有更新的情況下離開我們的網站。
是的,不要妄下結論! (對不起布倫特!)
更新困境:成為還是不成為?
在您的實時站點上執行更新可能很危險。 不更新您的網站可能同樣 - 如果不是更多 - 危險。 所以你會怎麼做?
首先,讓我們回顧一下為什麼我們應該讓我們的網站保持最新……
- 安全更新——當然,我們不想被黑客入侵
- 錯誤修復、兼容性更新——我們也需要這些
- 新功能——非常有用,可以節省時間
- 支持——大多數高級插件只為付費用戶提供支持
現在讓我們看看為什麼我們不更新我們的網站:
- 頻繁更新——某些或其他的東西總是在更新!
- 缺乏時間——忙於其他職責,更新多個站點可能非常耗時
- 更新破壞網站的風險——重大更新肯定需要在上線前進行測試,小更新也可能導致網站崩潰
- 開發人員不可用- 如果其他人正在管理您的網站,他們的可用性和成本也將是一個因素
- 現場直播; 如果它沒有壞,就不要修復它——有道理——或者是嗎?
更新 WordPress 的終極指南——核心、插件和主題
那麼應該如何更新WordPress呢?
以下是我們自己遵循的一些準則:
- 定期備份WordPress 文件和數據庫
- 查看變更日誌以確定它是次要更新還是主要更新
- 如果是次要更新,請繼續執行(仍然,先備份)
- 一次更新一個插件
- 在試運行現場之前,先在登台服務器上測試任何主要內容
- 確認更新順利
- 如果有任何自定義代碼,請確保在更新之前它可以與新版本一起使用
- 如果使用子主題,切勿直接在實時站點上更新父主題。 首先在暫存環境中進行測試。
- WordPress 核心更新通常是安全的!
- 在確保您使用的 WC 插件是最新的之後,應進行WooCommerce升級。 最好在上線之前在本地/臨時環境上進行測試——尤其是在重大更新之間。
- 永遠不要將備份存儲在 wp-content 甚至 public_html 文件夾中
- 我們可以通過定期執行更新來最小化影響
一些關於執行 WP 更新的優秀文章:
- 在 WPMU Dev 上更新 WP 和 Multisite 的終極指南
- 在 SitePoint 上更新 WordPress 的指南
- 升級 WordPress – WP Codex 的擴展說明
- 如何在設計牆上更新 WP 主題
分享您的故事/最佳實踐……
希望我的故事能幫助你避免這樣的問題。經常更新,小心更新!
你有任何關於更新 WordPress 的恐怖故事嗎? 你是如何從他們那裡恢復過來的?
您現在遵循哪些“最佳實踐”來更新 WordPress/WooCommerce/插件/主題?
通過在下面發表評論來分享它們! 您的評論將幫助許多其他人。
圖片來源:Helgi Halldorsson,Pixabay,維基媒體,Giphy