OpenSearch 描述文档是声明 Web 搜索服务的 XML 文件,需以 UTF-8 编码,根元素为 ,含 ShortName、Description、Url(含 {searchTerms} 占位符)等必需字段,并通过 HTML 标签声明以便浏览器发现。OpenSearch 描述文档(Open
Search Description Document)是一个 XML 文件,用于向客户端(如浏览器、搜索工具)声明一个可被发现和使用的搜索服务。它不是 OpenSearch(AWS 或开源搜索引擎)的配置文件,而是 Web 搜索插件标准(由 Mozilla 和 Microsoft 等早期推动)的规范。
以下是编写 OpenSearch 描述文档 XML 的核心要点和示例:
基本结构与必需字段
XML 必须以 UTF-8 编码,根元素为 ,并声明命名空间:xmlns="http://a9.com/-/spec/opensearch/1.1/"
必需子元素包括:
- ShortName:≤16 字符的简短名称(如 “MySite Search”)
- Description:≤1024 字符的说明(如 “Search articles on MySite”)
-
Url:含
type和template属性的搜索端点,rel="search"表示默认搜索;支持 {searchTerms} 占位符
Url 元素写法与参数支持
是关键部分,常见写法如下:
- GET 请求(最常用):
- 支持多个参数(用 & 连接):
template="https://example.com/s?k={searchTerms}&lang=zh&format=json" - 支持可选占位符:
{searchTerms}(必填)、{language}、{inputEncoding}、{outputEncoding} - 若需 POST 请求,设
method="post",但多数浏览器仅支持 GET
可选但推荐的增强字段
提升兼容性与体验,建议补充:
-
Image:16×16 或 64×64 PNG 或 ICO 图标(用于地址栏显示)
https://example.com/favicon.ico - InputEncoding 和 OutputEncoding:明确声明编码(通常为 UTF-8)
-
Tags:空格分隔的关键词(如
)search site example - Developer、Contact、Attribution:归属信息(非强制)
完整示例(可直接保存为 opensearch.xml)
https://example.com/opensearch.xml),并在网站 HTML 的 中用 声明,浏览器才能自动发现。
不复杂但容易忽略编码声明和 Url template 中的 {searchTerms} 占位符格式。








