Lav din egen søgemaskine med Google site-search

Med lidt simpel kodning kan man lave et søgeplugin, der bruger Google site-søgning, hvorved man lade Google gøre arbejdet. [Læs mere]

Ret mig, hvis jeg tager fejl, men det er vist muligt at lave sin egen Google-søgning, hvor man vælger hvilke sider, Google skal søge på. Her er dog et tip, som jeg brugte på et tidspunkt, fordi søgemaskinen på EBblog langt fra er noget at råbe hurra for.

Det går i alt sin enkelhed ud på, at man udnytter Googles "site-søgning", hvor man ved at skrive "site:ebblog.dk" kun søger på ebblog.dk-sitet. Dette gøres ved hjælp af noget basal PHP kode og en simpel formular:

  1. Brugeren indtaster sin søgning i tekstfeltet og trykker "Søg"
  2. Ved hjælp af PHP lægges denne søgning sammen med (i dette tilfælde) "site:ebblog.dk"
  3. Der viderestilles til en søgning på Google

Min simple søgemaskine til EBBlog kan ses på puskas.dk/ebblog.

Bemærk at søgeresultaterne vil blive sorteret efter Google Page Rank og ikke kronology, men kan man leve med det, kan man altså lave en ok søgemaskine :-)

Du kan se koden til søgemaskinen på puskas.dk/ebblog/source.txt, men for nemheds skyld, har jeg pastet den ind her:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<? // Tjekker for søgestreng og viderestiller, hvis der er en søgestreng ?>
<? if ($s) { ?>
<META HTTP-EQUIV="Refresh"
CONTENT="0; URL=http://www.google.com/search?q=site:ebblog.dk+<? echo $s; ?>">
<? } else { ?>
<? // Hvis der ikke er nogen søgestreg, vises søgeformularen ?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Søg på ebblog.dk</title>
</head>
<body>
<font face="Verdana, Arial, Helvetica, sans-serif">
<h3>Søg på ebblog.dk</h3>
<form method="get" action="<?php echo $PHP_SELF; ?>">
<input type="text" name="s" />
<input type="submit" value="Søg" />
</form>
<? } ?>
</body>
</html>

Med en simpel "if"-sætning tjekkes det, om $s (den parameter, som jeg har defineret i tekstfeltets "name"-felt) eksisterer (så ved vi, at der er foretaget en søgning). Hvis den gør det så viderestilles der til:

http://www.google.com/search?q=site:ebblog.dk+<? echo $s; ?>">

Her slås søgningen ($s) sammen med "site:ebblog.dk" og vi lander på en Google-søgning.

Det du skal gøre er, udover selvfølgelig at ændre i H2-overskriften, at ændre "site:ebblog.dk" til "site:" og så noget andet, så spiller det.

Nu kan du evt. lave et browsersøgeplugin (hvor man kan søge via tekstfeltet i øverste højre hjørne af Internet Explorer 7 og Firefox 2 (og nyere). Jeg har tidligere lagt en guide til, hvordan du laver dit eget søgeplugin ud her på Online Minds, blot skal du i din xml-fil pege på sin søgeside. I dette tilfælde, hvor søgemaskinen ligger på puskas.dk/ebblog skriver vi:

<Url type="text/html" template="http://puskas.dk/ebblog?s={searchTerms}" />

Lav et ikon til søgemaskinen, som beskrevet i guiden og inkludér det i søgesidens meta-tags, og så er du flyvende.

Du er selvfølgelig mere end velkommen til at tyvstjæle koden, hvis du har lyst. I vores tilfælde med EBblog har det i hvert fald hjulpet at trække lidt på Google, indtil leverandøren giver os en ordentlig søgemaskine, vi kan være bekendt.