Hola mira una forma de hacerlo, teniendo en cuenta que tu server no tenga alguna limitaciones por seguridad.
// Palabra o frase a buscar
$Busqueda = 'linux';
// Genera la Url a google para realizar la busqueda codificando la frase
// o palabra por si contien caracteres especiales.
// subtituye PON_AQUI_EL_ENLACE_DEL_GOOGLE_ por
// h t t p : / / w w w . g o o g l e . c o m . c u / s e a r c h ? h l = e s
$Url = 'PON_AQUI_EL_ENLACE_DEL_GOOGLE_&q='.urlencode($Bus queda);
// Muestra la salida en pantalla, esta salida está en bruto, vamos que coge la
// pagina de google y la muestra tal cual.
echo file_get_contents($Url);
Lo que debes hacer es en vez de mostrarla en pantalla sería parsearla y extraer los enlaces y demás datos y acto seguido guardar los resultados al disco de tu server y de esta manera hacer una especie de cache.
Para cualquier cosa que pueda ayudar. Dame un toque.
Un saludo.