Plně integrovaný Google Custom Search

MyEgo.cz

home foto blogy mywindows.cz kontakt

Plně integrovaný Google Custom Search

Google 20.12.06

Čím více poznávám služby Google, tím více se mi líbí. S odhozením XHTML a implementací Google Custom Search (provázané na AdSense) jsem mohl konečně vyzkoušet i přímé / plně integrované zobrazení výsledků Google hledání na tomto webu. Výsledek vypadá velice dobře. Nakonec, vyzkoušejte si to, políčko pro hledání je vpravo nahoře :-)

Celá implementace je přitom velice triviální, jedná se jen o vložení dvou JavaScript kódů, které vám vygeneruje Google Co-Op, jeden tvoří vyhledávací políčko a ten druhý zobrazení výsledků. Kvalita prohledávání webu pomocí Google je přitom podstatně lepší než vestavěný fulltext v MySQL 4.x/5.0. Jen samozřejmě doporučuji mít vždy kompletně zpracovanou a aktualizovanou mapu webu, a provádět „ping“ na Google při vložení nového článku (Google jej poté ihned zaindexuje).

Update:

Po četných připomínkách v komentářích i na MSN jsem tento postup aktualizoval. Výsledky hledání se nyní zobrazují jako samostatná stránka, na níž nejsou žádné další články ani reklama, takže se načítá opravdu velice rychle. Celé to přitom samozřejmě zapadá do stylu WELL.DONE.

Pokud chcete podobnou věc implementovat i ve své instalaci BLOG:CMS, postačí nahradit jeden řádek v globalfunctions.php, a to $query = requestVar('query'); za $query = requestVar('q');, do SEARCH vzhledu doplnit JavaScript od Google, a v kódu přehodit pořadí sekce if ($itemid) s if ($query).

Vlastní SEARCH vzhled vypadá poté takto triviálně:

<%ExtraSkin(header)%>
<h2>Hledání na WELL.DONE od Google</h2>
<%ExtraSkin(sitesearchresult)%>
</div>
<div id='menu'>
<%ExtraSkin(sitesearch)%>
<%ExtraSkin(counter)%>
<%ExtraSkin(footer)%>

Komentáře

  1. 1 Googlista 20.12.06, 03:12:09
    FB

    To je síce pekné, že je dobre mať spravenú sitemapu, ale čo s webmi, napríklad diskusnými fórami alebo portálmi kde sa nachádza aj pár desiatok tisíc podstránok (články, diskusie na fóre a ich stránkovanie)?

  2. 2 Machi 20.12.06, 06:12:27
    FB

    Google zaindexuje stránku hned pouze v případě, že se na ní nachází Google AdSense ;) Jinak to ovšem vypadá skvěle...

  3. 3 Cycle 20.12.06, 07:12:31
    FB

    A ještě jsem zkusil místo klávesy Enter stisknout tlačítko "Hledání zde" (což by dle popisku mělo způsobit skok na rozšířené vyhledávání, jak chápu text na tomto tlačítku, nebo alespoň na samostatnou vyhledávací stránku), nicméně se nestalo vůbec nic.

  4. 4 Bobesh 20.12.06, 07:12:33
    FB

    To vyhledávání jsem zkoušel, ale má to svý mouchy. Zkusil jsem například vyhledat svoje příspěvky (podle přezdívky) a u pár odkazů to vyhodilo nalezený text v komentáři, ale odkaz ukazoval na zcela jiný článek, kam jsem nepřispíval, ale jinak dobrý :-)

  5. 5 stulda 20.12.06, 07:12:51
    FB

    Výsledky hledání jsou možná lepší, ale tohle javascriptové řešení se mi příliš nezamlouvá. A proč výsledky hledání nezobrazuješ na samostatné stránce? Mylím, že je zbytečné pod výsledky zobrazovat obsah předchozí stránky.

  6. 6 Lukáš Pokorný 20.12.06, 08:12:25
    FB

    např. k diskuznímu fůru by určitě šel dopsat plug-in, který by sitemapu automaticky upgradoval.

  7. 7 Ati 20.12.06, 08:12:44
    FB

    Pěkný, líbí, užitečný, dík. Pěkné a klidné svátky a v Novém Roce jen tak dál. Ati

  8. 8 Petr 20.12.06, 10:12:10
    FB

    Povedlo se ti do výsledků připojit AdSense? Zkoušel jsem to a i když jsem zadával správné údaje - email, PSČ a konec telefonu, tak mi to hlásilo že takový AdSense účet neexistuje :-(

  9. 9 mylan 20.12.06, 11:12:00
    FB

    Chybička sa asi vloudila, ale vyhľadávanie mi funguje len na hlavnej stránke webu. Pri článkoch vedie formulár vyhľadávania na daný článok a tak sa výsledky hľadania nezobrazia...

  10. 10 Ján "johno" Suchal 20.12.06, 11:12:40
    FB

    Mne to vyhľadávanie nefunguje. Teda na konkrétne tejto podstránke. Na titulnej strane to ide.

    Firefox 2.0

  11. 11 Radek Hulán 20.12.06, 12:12:05
    FB

    [10] díky, opraveno, zapomněl jsem přenastavit CACHE plugin..

  12. 12 Michal 20.12.06, 02:12:17
    FB

    oprava: Já nevím, ale mě to hledání nefunguje

  13. 13 Ondra Kelka 20.12.06, 02:12:20
    FB

    Tak jsem to zkusil použít na svém webu a bohužel nefunguje mi čeština, tedy tak jak má. Na webu si na všechny stránky přidám searchbox a odkážu ho třeba na hledej.asp a tam vložím dotyčný javascript. Zadám slovo "škola" a v QueryStringu je mimojiné q=%9Akola - to odpovídá písmenu š např. podle této tabulky. Dostanu bohužel známý čtvereček. Celkem nefunguje pro písmena š, ž, ť. Podle této stránky jsem postižen chybou kódování Windows1250 VS ISO. Celý web je samozřejmě ve Win1250. Na webu myego.cz funguje škola bez problémů. Takže předpokládám, že google nechce pracovat s Win1250, nebo se mýlím? Co dělám špatně?

  14. 14 Radek Hulán 20.12.06, 02:12:20
    FB

    [1] podle mého názoru se na fórum Google hledání vůbec nehodí, každý má v patičce nějaký podpis, a Google není schopen rozlišit, co je podstatný text a co je pouze podpis, a poté třeba hledá text "AMD X2" a nachází jej na všech stránkách..

  15. 15 Radek Hulán 20.12.06, 02:12:24
    FB

    [12] zjevně máš blokovaný iframe s výsledky hledání ve svém browseru.. Je to jen tvoje chyba.

    [13] ano, Google pracuje s UTF-8, můžeš použít urldecode() a poté iconv('cp1250','utf8',$s)

  16. 16 Gizmo 20.12.06, 02:12:46
    FB

    Mám problém, šířka výsledků hledání je standartně 600, já mám však užší stránku. Dá se to nějak změnit?
    gizmo@tiscali.cz

  17. 17 Radek Hulán 20.12.06, 02:12:49
    FB

    [16] nastav si AdSense na "bottom-top", nikoliv na stranu, a změň si v definici JavaScriptových proměnných číslo "600" na "500".

  18. 18 Tomáš Halada 20.12.06, 02:12:56
    FB

    Zajímavý tip, díky. Jde ovlivnit zobrazení odkazu "Podobné stránky" v gogole výsledcích?

  19. 19 SneakerXZ 20.12.06, 03:12:09
    FB

    Tohle je velice pěkný. :)

    Jinak Google Adsense platí za každý pokus o hledání nebo jen když někdo v hledání klikne na reklamu?

  20. 20 Radek Hulán 20.12.06, 03:12:10
    FB

    [19] jen za kliknutí na reklamu, samozřejmě..

  21. 21 Xsoft 20.12.06, 03:12:15
    FB

    Dobře, tak přiznávám, že jsem se v postupu ztratil:

    /www/admin/libs/globalfunctions.php
    $query = requestVar('query'za 'q'
    změněno

    Do
    /www/admin/forms/searchform.template
    vložen 1. google search kód (jen kód, nic jineho)

    do SEARCH vzhledu
    to znamena web admin - Upravit vzhled 'default': Hledání ?
    doplnit JavaScript od Google,
    hotovo (<%ExtraSkin(header)%> <h2>Hledání na ...</h2> a pod tím JS kód)

    a v kódu přehodit pořadí sekce if ($itemid) s if ($query)
    tak toto nemuzu najit. Oč prosím jde?

    Jinak při pokudu o hledání dostávám zprávu: Blog nenalezen

  22. 22 Radek Hulán 20.12.06, 04:12:15
    FB

    [21] vyzkoušej toto:
    http://hulan.cz/download/blogcms/globalfunctions.zip...

  23. 23 Xsoft 20.12.06, 04:12:23
    FB

    [23] Funguje - díky,
    až večer přijedu domu, kouknu kde se mi to lišilo.
    (ještě mám trochu rozhozené výsledky, ale to už jde jen o úpravu šablony).

  24. 24 jirka 20.12.06, 10:12:29
    FB

    kratičký dotaz : co přesně myslíš "pingem na google". Dík

  25. 25 Radek Hulán 20.12.06, 10:12:47
    FB

    [24] fopen() na http://www.google.com/webmasters/sitemaps/ping?sitemap=URL_mapy