En pocas palabras, OpenSearch es el estándar que utilizan tanto Firefox como MSIE para agregar motores de búsqueda (“proveedores de búsqueda” según Microsoft)… sí, esos que aparecen arriba a la derecha, justamente de esos estamos hablando.
La versión larga… bueno, la pueden [ver en la Wikipedia->OpenSearch@wiki] (donde más bien encontrarán una versión “media”) o en el sitio oficial de esta especificación (ahí sí está la versión larga).
Como todos saben (¿qué, acaso tú no?), una de las gracias de OpenSearch es que permite agregar motores de búsqueda de forma rematadamente fácil, de hecho, en este mismo momento…
- si estás ocupando Firefox (versión 2 o mejor), deberías notar que el cuadro alrededor del ícono del motor de búsqueda que tengas seleccionado actualmente tiene un tenue borde celeste
- si estás ocupando Internet Explorer (versión 7, o mejor ocupa Firefox), deberías notar que el fondo de la flecha que aparece al lado de la lupa está naranjo
Y si haces click allí, debería aparecerte la opción de agregar la búsqueda en yukei.net
Lógicamente, ahora surge la pregunta: ooooh… pero ¿cómo lo hace?
El documento de descripción OpenSearch
El primer paso es crear un archivo que contendrá la información necesaria para agregar tu sitio a los motores de búsqueda del navegador —se trata de un documento XML bastante sencillo, para el cual no necesitarás mucho más que recordar la URL de tu blog.
Pongo mi propio archivo como ejemplo:
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>yukei.net</ShortName>
<Description>Tecnologias de internet y herramientas para weblogs</Description>
<Tags>internet weblogs wordpress software tecnologia</Tags>
<Url type="text/html" method="get"
template="http://www.yukei.net/search/{searchTerms}"/>
<Image width="16" height="16">http://www.yukei.net/favicon.ico</Image>
<Image width="64" height="64">http://www.yukei.net/yukei-favicon.png</Image>
</OpenSearchDescription>
Ahora, a explicar algunas cosas:
- Las dos primeras líneas son necesarias y deben figurar tal cual… “a menos que sepas muy bien lo que estás haciendo”
- En
ShortName
va el nombre que se mostrará en el listado de motores de búsqueda del navegador… generalmente es buena idea poner nada más que el nombre del sitio Description
debe aparecer, puede tener hasta 1024 caracteres.Tags
, por otra parte, no es necesaria; puede tener hasta 256 caracteres, las tags se separan con espacios.Url
es la parte interesante, es absolutamente necesaria puesto que indica cómo utilizar el motor de búsqueda. En este caso la estructura ha resultado bastante sencilla, pero es necesario poner atención a los atributos de este elemento.- En primer lugar, el
type
es requerido y debe estar bien, indicando el MIME type correcto para cada caso. En el nuestro estext/html
porque entregaremos los resultados a través de una página web que es servida como HTML (a pesar de que valide [¿?] como XHTML), si estás sirviendo XHTML entoncestype="application/xhtml+xml"
. Otra posibilidad es entregar los resultados a través de RSS o Atom, lo que tiene su gracia, pero WordPress (hasta donde yo sé) no entrega resultados de búsqueda en RSS ni Atom. De todos modos, si tu intención es un plugin de búsqueda para Firefox o Explorer, entonces debes servir los resultados como HTML o XHTML. - El
method
sirve para indicar si se debe indicar una peticiónget
opost
para obtener los resultados. MSIE no soporta peticionespost
; si usas WordPress, debes especificarget
- Finalmente, el atributo
template
indica la forma en que se construirá la URL de la consulta. En el caso de WordPress, puede ser de la forma http://www.tublog.com/search/{searchTerms} o http://www.tublog.com/index.php?s={searchTerms}, que en el fondo es lo mismo —la única diferencia es la forma en que se le presentará la URL de la consulta al usuario
Un par de cosas más sobre
Url
: si deseas servir resultados en más de un tipo (por ejemplo, HTML, RSS y Atom), la puedes especificar todas las veces que sea necesario. Además, si quieres entregar sugerencias de búsqueda (como Google), puedes especificar la URL junto con eltype="application/x-suggestions-json"
- En primer lugar, el
- La
Image
corresponde a tu favicon. Es opcional, al igual que sus atributos.
¿Listo? ¿Muy difícil? También puedes utilizar alguno de estos generadores automáticos.
¿Ahora sí? Bien. ¿Y ahora qué? Ahora…
Autodiscovery
No, no tiene nada que ver con los programas de autos del Discovery Channel, es para que Firefox/MSIE detecte automáticamente el plugin (o complemento) de búsqueda y lo muestre como señalé antes. ¿Cómo? Fácil, agregando esta línea al <head />
de tus páginas:
<link rel="search" type="application/opensearchdescription+xml"
title="yukei.net" href="http://www.yukei.net/opensearch.xml">
Y cambiando el title
y href
por lo que corresponda… y el title
debe ser igual al ShortName
del plugin.