demostración de técnica avanzada de generación de urls para optimización de búsquedas
Post on 02-Jul-2015
11.855 Views
Preview:
DESCRIPTION
TRANSCRIPT
Introducción
Ayudando a Google a encontrar contenidorelevante
Un handler de mod_perl para impresionar a Google
Ernesto Hernández-Novich <emhn@inmobiliarios.com.ve>
Inmobiliarios.com.ve
agosto, 2007 / Perl Mongers, Caracas
Hernández-Novich Inmobiliarios.com.vemod_perl / REST
Introducción
Agenda
1 Introducción
Hernández-Novich Inmobiliarios.com.vemod_perl / REST
Introducción
¿Google necesita ayuda?. . . y algunos tips sobre usabilidad
Páginas dinámicasLos robots pueden no seguir algunos de estos enlacesLos enlaces no son fáciles de recordar para el usuario –Depende exclusivamente de sus marcas de navegación
JavaScript, formas y CookiesLos robots no ejecutan JavaScript, llenan formas o aceptanCookiesCada vez más usuarios rechazan los Cookies y el contenidoJavaScriptLlenar formas de búsqueda no es la mejor manera de navegarpor un sitio web
Hernández-Novich Inmobiliarios.com.vemod_perl / REST
Introducción
¿Qué es REST?
Representational State Transfer – Un nombre rimbombantepara explicar que se deben usar URLs legibles
http://site.com/catalog.php?id=69&action=customer&verbose=yes
URL largo y complejoNo es evidente a quéapunta¿Se puede volver aél. . . ?
http://site.com/customer/guitarra
URL compacto y másfácil de recordarUsualmente puede seruna marca de páginaválida
Hernández-Novich Inmobiliarios.com.vemod_perl / REST
Introducción
¿Cómo y para qué aprovecha estoInmobiliarios.com.ve?
Refinar amigablemente una búsqueda inmobiliariaPermitir que se dispare una búsqueda directamente desde elnavegador. . .Ayudar a Google en el cálculo correcto de la relevancia de losresultadosPermitir al usuario guardar una búsqueda parcial, que puedecompletar en cualquier momentoOfrecer otra forma de usar el sitio – DWIM
Hernández-Novich Inmobiliarios.com.vemod_perl / REST
Introducción
Interacción de mod_perl con Apache
Apache pasa por cada unade estas fases cuando daservicio a una solicitudwebmod_perl permite proveermanejadores para atendercada una de estas fases,con control completo deApache en cada una
Hernández-Novich Inmobiliarios.com.vemod_perl / REST
Introducción
Configuración de los manejadores en Apache
Per lLoadModule ICV : : Our : : Magic
<L o c a t i o n / q u i e r o/>P e r l T r a n s H a n d l e r
ICV : : Our : : Magic : : h a n d l e r</Locat ion >
Los manejadores se definen enICV::Our::Magic
Un manejador para la fase trans,que carga a un segundomanejador cuando se requiereOpera sobre el espacio webdeseado en el sitio
Hernández-Novich Inmobiliarios.com.vemod_perl / REST
Introducción
Directrices de configuración para Apacheapache2.conf. . .<L o c a t i o n / q u i e r o/>
ICVMagicSearchDSN" yourDSNstringHERE "O p t i o n a l U s e rO p t i o n a lP a s s
. . .</Locat ion >
En el módulo...use c o n s t a n t DSNSTRING =>
’ ICVMagicSearchDSN ’ ;push @ d i r e c t i v e s ,{
name => DSNSTRING ,r e q _ o v e r r i d e =>Apache2 : : Const : : ACCESS_CONF,args_how =>
Apache2 : : Const : : TAKE123 ,er rmsg=> DSNSTRING .
’ "DSN" [ User ] [ Pass ] ’ ,} ;
El módulo incorpora nuevasdirectivas de configuraciónSe definen callbacks paraprocesar las nuevas directivasSe puede restringir dónde puedeaparecer la directiva
Hernández-Novich Inmobiliarios.com.vemod_perl / REST
Introducción
Definición dinámica de manejadores dentro deApache
sub h a n d l e r{
my $r = s h i f t ;. . .i f ( $ s c r i p t
and $ u r i =~ m! $ s u r i !and $ u r i !~ m! $ f u r i ! )
{$r−>h a n d l e r
( " p e r l−s c r i p t " ) ;$r−>s e t _ h a n d l e r s
( Per lMapToStorageHandler=> Apache2 : : Const : : OK) ;
$r−>s e t _ h a n d l e r s( P e r l R e s p o n s e H a n d l e r=> \&r e s _ h a n d l e r ) ;
}. . .
}
handler decide cómo atenderesta solicitudCuando es necesario, se indica aApache que el manejadorres_handler manejará lasolicitudEn caso contrario, se transfiereel control a otro manejador
Hernández-Novich Inmobiliarios.com.vemod_perl / REST
Introducción
Generación de contenido desde un manejadorApache
sub r e s _ h a n d l e r{
my $r = s h i f t ;my $t = HTML : : Template−>new( . . . )$r−>p r i n t ( $t−>output ) ;r e t u r n Apache2 : : Const : : OK;
}
Dentro de los manejadores,podemos usar módulos comoHTML::Template para producircontenidoEl manejador debe devolverApache2::Const::OK paraindicar que procesócorrectamente elrequerimiento. . .. . . otros resultados permitenseñalar errores específicos alusuario
Hernández-Novich Inmobiliarios.com.vemod_perl / REST
Introducción
¿Qué se logra con todo esto?
El usuario puede construirsu búsquedagradualmente haciendoclicks sobre los enlacesLos términos de búsquedase agregan al cuadro debúsquedaautomáticamente – Elusuario puede completarloy pulsar Enter parabuscarEl texto de la páginacambia para ayudar alusuario
Hernández-Novich Inmobiliarios.com.vemod_perl / REST
top related