Gravatar de Armonth

OpenSearch: el buscador de tu blog en Firefox

Y quién dice en Firefox dice también en Internet Explorer.

Opensearch con SigTEn agosto hice una página con motores de búsqueda que con un click se añadían a los buscadores de Mozilla Firefox.

Este sistema depende de que el lector llegue a la web donde le permitimos añadirlo y haga click para ello ¿por qué no hacerlo más fácil?. Concretamente una entrada en el menú de buscadores que aparezca al visitar el sitio, cómo se puede apreciar en la imagen que acompaña la entrada.

Las ventajas son claras: no requiere javascript, fácil de implementar, se puede poner en cualquier plantilla por defecto, el código en portada es una línea, es compatible no sólo con Firefox si no también con Internet Explorer y el campo “Añadir buscador” sólo aparece en tu blog por lo que no saturas la lista del usuario.

Por último cabe mencionar que es una “implementación” adaptada de una entrada del blog de menéame donde al verlo me animé a ponerlo en práctica (no llegue a mirarlo antes pero pensé en su momento que sería un rollo de implementar).

Manos a la obra

Lo único que hace falta es un fichero XML y una línea de código, crearemos en nuestra plantilla (wp-content/themes/loquesea/) el fichero opensearch.php con el siguiente contenido:

<?php require_once('../../../wp-config.php'); ?>
<?php header('Content-Type: text/xml; charset=utf-8'); ?>

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
                xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <ShortName><?php bloginfo('name'); ?></ShortName>
  <Description>Buscador de <?php bloginfo('name'); ?></Description>
  <InputEncoding>UTF-8</InputEncoding>
  <Image height="16" width="16"><?php bloginfo('url'); ?>/favicon.ico</Image>
  <Url type="text/html" method="GET" template="<?php bloginfo('url'); ?>/">
    <Param name="s" value="{searchTerms}"/>
  </Url>
  <SearchForm><?php bloginfo('url'); ?></SearchForm>
</OpenSearchDescription>

Lo que hacemos es crear el fichero PHP que será enviado como XML, los campos son autodescriptivos pero por completar:

  • ShortName: nombre que tendrá el buscador (ej: SigT).
  • Description: la descripción, sale después de “Añadir” (ej: Buscador de SigT.net).
  • InputEncoding: por defecto UTF-8, normalmente no hay que tocarlo.
  • Image: imagen del favicon.
  • Url: el método de hacer la búsqueda, en WordPress siempre se usa GET.
  • Param name: el parámetro que se añadirá después de la URL, en este caso /?s= seguido de los términos de búsqueda.
  • SearchForm: la url donde está el formulario de búsqueda.

Por último sólo tenemos que añadir una línea en el fichero header.php:

<link rel="search" type="application/opensearchdescription+xml" title="Buscador de <?php bloginfo('url'); ?>" href="<?php bloginfo('template_url') ?>/opensearch.php" />

Y ya está.

Aparte de que podemos extenderlo a cualquier formato así nos ahorramos un plugin e incluso podemos ahorrarnos toda la parte de PHP (salvo el header()) poniendo el nombre del blog, las URL’s y la descripción a mano sin usar funciones. En realidad así lo tengo yo pero lo he puesto con funciones para quien no quiera tocar código.

6 Comentarios (feed)

  1. Gravatar de Hereldar Hereldar nos comenta:

    Vaya, nunca pensé que fuera tan sencillo, además sirve ya tengas wp o lo que sea. Acabo de aplicarlo en uno de los sitios que llevo, no creo que mucha gente lo use porque la mayoría de los usuarios utilizan ie6 así que ni se enterarán pero total no me ha llevado ni 5 minutos xD. Muchas gracias por ponerlo aquí.

    Martes, 25 de Diciembre/2007 @ 19:36

  2. Gravatar de Leandro Leandro nos comenta:

    Y para las páginas que no ofrezcan un search plugin para instalar, existe un addon para firefox que permite crear motores de búsquedas en casi cualquier sitio con solo elegir una opción en el menú contextual.

    Miércoles, 26 de Diciembre/2007 @ 0:56

  3. Gravatar de aNieto2k aNieto2k nos comenta:

    Buenas fiera, el código que has puesto arriba tiene un error.

    <?php require_once(ABSPATH. ‘wp-config.php’); ?>

    Lamentablemente, no disponemos de la definición de ABSPATH si no hemos integrado el wp-config.php, por ese motivo hemos recurrir a los puntos para encontrar el fichero.

    Prueba con esto.

    <?php require_once('../../../wp-config.php’); ?>

    Saludos

    Miércoles, 26 de Diciembre/2007 @ 3:23

  4. Gravatar de Armonth Armonth nos comenta:

    Corregido…

    Miércoles, 26 de Diciembre/2007 @ 3:27

  5. Gravatar de Nukeador Nukeador nos comenta:

    Información adicional, incluido como añadir sugerencias de búsqueda:

    http://developer.mozilla.org/es/docs/Creaci%C3%B3n_de_plugins_OpenSearch_para_Firefox

    Miércoles, 26 de Diciembre/2007 @ 23:58

  6. Gravatar de iBlog&Capich iBlog&Capich nos comenta:

    Muchas gracias, hace tiempo lo intente yo sólo pero me salia un error en el XML y pues como no me era muy necesario pues lo deje, ahora ya quedaron mis dos páginas listas.

    Mil Gracias

    Viernes, 21 de Marzo/2008 @ 4:08

No seas tímido, da tu opinión

Sé respetuoso con los demás, la diferencia de opiniones enriquece la discusión, los comentarios bajo ciertas circunstancias pueden ser moderados y requerir aprobación.