Plně integrovaný Google Custom Search
Čí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)%>
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)?
Google zaindexuje stránku hned pouze v případě, že se na ní nachází Google AdSense ;) Jinak to ovšem vypadá skvěle...
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.
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ý :-)
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.
např. k diskuznímu fůru by určitě šel dopsat plug-in, který by sitemapu automaticky upgradoval.
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
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 :-(
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...
Mne to vyhľadávanie nefunguje. Teda na konkrétne tejto podstránke. Na titulnej strane to ide.
Firefox 2.0
[10] díky, opraveno, zapomněl jsem přenastavit CACHE plugin..
oprava: Já nevím, ale mě to hledání nefunguje
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ě?[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..
[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)
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
[16] nastav si AdSense na "bottom-top", nikoliv na stranu, a změň si v definici JavaScriptových proměnných číslo "600" na "500".
Zajímavý tip, díky. Jde ovlivnit zobrazení odkazu "Podobné stránky" v gogole výsledcích?
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?
[19] jen za kliknutí na reklamu, samozřejmě..
Dobře, tak přiznávám, že jsem se v postupu ztratil:
/www/admin/libs/globalfunctions.php
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,
a pod tím JS kód)
a v kódu přehodit pořadí sekce
tak toto nemuzu najit. Oč prosím jde?
Jinak při pokudu o hledání dostávám zprávu: Blog nenalezen
[21] vyzkoušej toto:
http://hulan.cz/download/blogcms/globalfunctions.zip...
[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).
kratičký dotaz : co přesně myslíš "pingem na google". Dík
[24]
fopen()
nahttp://www.google.com/webmasters/sitemaps/ping?sitemap=URL_mapy