通常網站都會提供搜尋的功能,如果你的網站經常需要使用者透過搜尋的方式來尋找自己需要的內容,例如:商品、目錄資料集、Wiki等類型的網站,你可以透過加入一個簡單的檔案就能讓使用者輕鬆的把你的網站搜尋功能加入到搜尋清單中,而不必讓使用者輸入複雜的代碼喔!
目前經過測試 Google Chrome, Brave, Microsoft Edge, Firefox都可以支援 OpenSearch的功能,惟 Vivaldi不知道為什麼拔掉了。
一、OpenSearch是什麼?
OpenSearch最早由 Amazon子公司 A9在 2005年的時候定義的一種格式。只要根據這個定義的格式規格撰寫 XML格式的檔案並提供在網站原始碼中,就可以讓瀏覽器輕鬆地將該網站的搜尋功能加入到瀏覽器中,並讓使用者快速使用。這對 Amazon做電商非常重要,讓使用者能夠快速地、隨時的搜尋商品。
二、編輯你的 OpenSearch
1.開啟記事本,貼上以下的代碼
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<ShortName>[簡短名稱]</ShortName>
<Description>[此搜尋引擎的完整描述]</Description>
<InputEncoding>[UTF-8]</InputEncoding>
<Image width="16" height="16" type="image/x-icon">[你的網站的favicon.ico]</Image>
<Url type="text/html" template="[搜尋網址]">
<Param name="[搜尋參數]" value="{searchTerms}"/>
</Url>
<moz:SearchForm>[網站網址]</moz:SearchForm>
</OpenSearchDescription>
2. 上面已經幫你中文化了,請將包含 [ ] 的部分修改為你的內容,以下將會每行為你講解內容
[簡短名稱]:這個搜尋引擎的簡短名稱,譬如你的品牌或網站名稱
[此搜尋引擎的完整描述]:描述這個搜尋引擎的功能,例如這個搜尋引擎將會搜尋什麼網站或內容
[UTF-8]:除非你的網站有其他的編碼,否則不要修改
[你的網站的favicon.ico]:你的網站的小圖示網址,這也會顯示在瀏覽器搜尋列、瀏覽器設定搜尋引擎的表格上
[搜尋網址]:搜尋網址,你的網站搜尋時會使用的網址,如果沒有特別指定可以輸入你的網站網址
[搜尋參數]:搜尋時會帶入的參數,例如 WordPress網站預設會使用 s
你可以透過使用自己的網站搜尋功能來確認,搜尋後網址會類似 https://life.aceidlo.net/?s=搜尋關鍵字
在關鍵字和等於前方的參數,就是你的搜尋參數
[網站網址]:這個僅供 Firefox瀏覽器使用,在 Firefox瀏覽器上點一下可以前往的網址,你可以輸入你的網站網址
3. 確認完成後,請儲存檔案為 opensearch.xml 檔案
三、上傳到網站
1.當你確認上述已經填寫並儲存後,請將 opensearch.xml 儲存到你的網站根目錄
四、加入到網站
接下來我們需要在網站原始碼中加入一段代碼,這樣瀏覽器解析網站時就會知道,有 OpenSearch的資源可用。
1.請在網站的 <head> 加入以下代碼。WordPress使用者可以編輯你的子佈景主題中的 header.php 或使用其他插入代碼的外掛。
<link rel="search" type="application/opensearchdescription+xml" title="[網站名稱]: [網站作者]" href="[你的網站網址]/opensearch.xml">
同樣的請將上述的 [ ] 修改為你的內容,將會如下:
<link rel="search" type="application/opensearchdescription+xml" title="Sid is Talking: Aceid" href="https://life.aceidlo.net/opensearch.xml">
2.新增到 <head>後,請清理網站的快取。接著瀏覽你的網站,再進到瀏覽器的搜尋引擎設定頁面就會發現,瀏覽器自動加入了你的網站。
目前發現有的瀏覽器需要你至少進行一次搜尋才會記錄,有的則是只要解析到以上代碼就會自動加入;而 Firefox則是會在搜尋列上提示這個網站可以加入。
未來你就可以提示網站使用者可以透過瀏覽器加入搜尋引擎,而不必自行輸入代碼來新增囉,是對使用者非常友善的一項功能。
五、延伸
上述的 OpenSearch的代碼格式是最簡單的,可以輕鬆擁有這項功能,不過他還有其他的內容可以加入,例如:你的網站提供搜尋建議、網站需要其他的搜尋參數等,這些你可以在 OpenSearch description format找到完整的說明。