Jetpack 7.1 向插件搜索結果添加功能建議
已發表: 2019-04-02Jetpack 7.1 於本月早些時候發布,其中包含 WordAds、營業時間、聯繫信息、幻燈片和視頻的新塊。 此版本還悄悄地向插件搜索屏幕添加了建議,這一變化並未得到開發者社區的好評。 如果用戶搜索具有 Jetpack 已提供的功能的插件,該插件將在第一個插件卡槽中插入一個人工(且可忽略)的搜索結果,識別相應的 Jetpack 功能。

儘管插件搜索結果中的這些建議並未在 7.1 發布帖子中作為標題功能呈現,但它已清楚地列在更改日誌中的增強功能下。 在 WordPress 開發者 Mehul Gohil 在一個實時網站上發布了它的截圖後,越來越多的人開始注意到它:
如今,#WordPress 管理員中的插件搜索會建議產品/附加組件。 我看到這些建議的未來將被插件作者用來在某些插件搜索詞中將他們的產品放在首位,以便像管理員通知這樣的追加銷售。
你怎麼看待這件事? #DontHijackWPAdmin pic.twitter.com/TERjrPgEt6
— Mehul Gohil (@mehul_gohil0810) 2019 年 3 月 26 日
使用已安裝的插件操縱搜索結果,甚至插入人工結果,是 WordPress.org 上託管的插件中的一項重大新發展。 Automattic 為其他希望在用戶匹配某些搜索詞時推薦自己的附加組件或擴展的插件作者開創了先例。
在該功能的初步概念驗證中,Jetpack 產品負責人 Beau Lebens 解釋了向搜索屏幕添加建議的動機:
我們已經看到安裝和激活 Jetpack 的人經常在 wp-admin 的 Plugins > Add New 屏幕中搜索 Jetpack 功能(甚至按名稱)。 這個新模塊試圖發現這些搜索,並提供一個人工搜索結果,表明他們正在尋找的東西在他們已經擁有並且已經處於活動狀態的 Jetpack 中。
自首次發布以來的八年時間裡,Jetpack 已發展到 45 個模塊。 大多數用戶並不熟悉插件提供的所有內容。 事實上,許多用戶甚至可能自己都沒有安裝 Jetpack,因為它通常預裝了主機。 這些建議可能會阻止用戶添加替代的第三方插件,因為 Jetpack 在結果中的模塊位置巧妙地暗示這些是其現有模塊的劣等選項。
許多開發人員對該功能感到不安的原因之一是因為 UI 未能明確表明這是人為的結果,而不是由插件目錄的算法生成的結果。 儘管它旨在更多地用作通知,但對於普通用戶而言,它實際上與當前實現中的廣告沒有區別。 它推出的時間不長,但隨著時間的推移,它甚至可能使插件開發人員更難提供與 Jetpack 功能競爭的插件。
插件搜索結果中的功能建議成為 Post Status 的 Slack 上的熱門話題,Automattic 的 Gary Pendergast 在這裡重申了 Jetpack 團隊的意圖。
“我一直在與 Jetpack 上的一些人談論正在發生的事情,”Pendergast 說。 “我認為團隊的最終目標非常好,它解決了 WordPress 的一個真正問題。 網站所有者經常會安裝大量他們不需要的插件,這最終會產生各種安全、性能和穩定性問題。 在這個特定的用例中,如果網站所有者正在尋找 Jetpack 已經處理的功能,那麼所有者應該意識到這一點。”
Pendergast 還表示,他認為 WordPress 核心應該為任何插件提供一個 API,以便能夠做類似的事情。

插件團隊表示 Jetpack 的人工搜索結果不會違反 WordPress.org 指南
儘管很容易想出不同的方式來濫用這種途徑來宣傳插件的現有功能,但 WordPress.org 的插件團隊已準備好根據具體情況處理各種實現的潛在湧入。
“這並不是在做任何廣告——它只是為你已經擁有但可能不知道的插件添加搜索結果,所以這並不違反任何規則,”Samuel “Otto” Wood 說。 “如果它以某種方式具有誤導性,那就不同了。”
Wood 表示,團隊討論過這個問題,但得出的結論是,其他插件中類似功能的任何實現都需要進行審查,看看它是否在做任何誤導性的事情。
“實際上,這總是需要某種判斷,”伍德說。 “例如,如果一個插件要插入其他插件的搜索結果,那就不行了,因為它具有誤導性。 但是,情況並非如此。 它只是想說“嘿,你已經安裝了一個插件,它可以滿足你的需求”,所以它試圖在這方面有所幫助。 誠然,這不一定是實現該目標的最佳方式。 但它非常有效。”
Wood 並沒有硬性要求人工結果可以被忽略,但他表示,只要開發人員在通常不會出現的屏幕中插入一些東西,具有消除功能就是很好的用戶體驗。 他認為許多其他插件作者不太可能實現類似的東西,因為大多數不是幾十個插件和附加組件的集合。 但是,這種建議似乎也適用於包含數十個 Gutenberg 塊的塊收集插件。
“當所有重要的插件作者都實現它時,用戶真的很難,”Gohil 在回應他在推特上發布的截圖評論時說。 “他們正在使用 JS 通過鉤子 'admin_enqueue_scripts' 侵入插件搜索,這並不好。 我不贊成。”
如果更多插件作者開始添加建議,用戶可能會在看到任何真實結果之前看到幾行人工結果,具體取決於他們安裝了哪些插件。 插件開發人員已經在集思廣益,以消除功能建議。 不久之後,像 Hide Jetpack Promotions 這樣的插件將刪除人工搜索結果以保持 WordPress.org 提供的結果。
Wood 表示,插件團隊不打算為插件作者編寫任何新指南,以便在搜索屏幕上創建自己的功能建議實現。
“差異始終是一種意圖,”伍德說。 “JP 的目的是通知用戶存在他們可能不知道的功能。 這是試圖對用戶有所幫助,而不是試圖阻止競爭。 它不會刪除搜索結果。 它不會對它們重新排序或過濾它們。 它只是添加了一張關於您正在搜索的功能的卡片。 如果你沒有JP,那麼它什麼也做不了。 這不是為其他插件或類似的東西做廣告。”
Jetpack 也在跟踪超過三個字符的搜索詞,Wood 確認這也在指南範圍內,只要向用戶披露即可。
“直到你同意 ToS 之後,整個跟踪模塊才會激活,老實說,這是允許的,”伍德說。 “他們會跟踪很多東西以獲取統計數據等。 實際上,許多其他插件也是如此。 只要您在跟踪任何內容之前先詢問用戶,就允許跟踪數據。 選擇加入是規則。”
Wood 說他發現搜索詞跟踪是不必要的,因為 WordPress.org 已經通過其在 ElasticSearch 上運行的新搜索系統收集了這些信息。
“無論如何,我們在 WordPress.org 服務器上獲得了所有搜索詞,所以我們和他們都已經有了它們,”伍德說。 “畢竟,Automatticians 構建了我們最新的插件搜索引擎。 當他們真的收到所有通過搜索引擎運行的搜索時,使用 Jetpack 跟踪他們似乎是一種浪費。”
Jetpack 的人工搜索結果雖然可以忽略,但仍佔據榜首,完全繞過了算法。 它使 Jetpack 的內置功能看起來像是一個提升列表或優於目錄中可用的所有其他選項。
儘管建議的模塊可能與其他 Jetpack 功能比第三方插件更和諧地工作,但這些模塊在功能方面是相當通用的。 它們滿足了大多數用戶的基本需求,但很少提供比專用於執行類似操作的獨立插件更多的選項。 用戶很可能正在尋找 Jetpack 提供的替代品。 通過切換輕鬆關閉搜索結果中的建議的能力可能對外交大有幫助。
