Alfonso Moure Ortega - SEO Team Leader Relevant Traffic Span - Consultor SEO
Moure Profesional

Archivo

Archivo para Martes, 23 de junio de 2009

Geocodificar una dirección postal con los servicios de Google

Martes, 23 de junio de 2009 Sin comentarios

Es un tema archiconocido y muy usado hoy en día, y por si fuera poco, hipersimple: conseguir las coordenadas de una ubicación por su nombre o mediante una dirección postal. ¿Desde dónde? Pues bueno, hay muchos servicios que ofrecen este tipo de trabajo: desde Geonames (un proyecto increible que recoge coordenadas e información geográfica e incluso demográfica de prácticamente todo el planeta… muy recomendable) hasta los servicios de GData para Google Maps.

La ventaja de usar Google Data (AKA GData) es que el trabajo ya viene hecho, y de paso, está integrado diréctamente en el Google Maps API y por lo tanto el esfuerzo es minomo. Y encima, podemos hacer la consulta de manera asíncrona mediante AJAX. Si usaramos servicios como el de Geonames deberíamos currarnos nosotros mismos esta parte. Pero bueno, todo esto es texto redundante y a nadie le interesan mis verborreas absurdas sobre este tema. Vamos al grano.

function showAddress(address)
{
var geocoder = new GClientGeocoder();
geocoder.getLatLng(address,
function(point)
{
if (!point)
alert(address + ” –> no encontrado en Google Geo Services.”);
else
map.setCenter(point, 13);
}
);
}

Bien, ¿qué hace éste código? Pues es bien sencillo. Primero creamos la instancia de la clase GClientGeocoder, incluido con el Google Maps API desde su versión 2.55, y que contiene una serie de servicios de geocodificado que nos permiten consultar diferentes datos al mercadillo de Mountain View.

Concretamente nos interesa el método getLatLng, que recibe como parámetro la dirección o nombre de la ubicación que nos interesa, y al recibir la respuesta (callback) ejecutará la función creada, recibiendo como parámetro el punto concreto donde se encuentra el lugar, con un objeto de clase GLatLng. ¡Tachán! Ahí está nuestro resultado. Para centrar la vista en él, solo debemos llamar al método setCenter, pasandole como parámetros el punto en cuestión y el nivel de zoom.

Bueno, todo esto está tirado y todos sabemos hacerlo. Sobretodo porque viene en la documentación de la API, y aunque no es exáctamente esta la explicación que dan, es bastante aproximada.

Pero lo interesante aquí es rizar el rizo: recibir como respuesta lugares cercanos a una ubicación concreta.

Dentro del mundo GEO, y a un nivel fundamentalmente básico, hay tres maneras de representar una ubicación:

  • Sus coordenadas geográficas (latitud, longitud)
  • Su encuadre en un mapa (latitud noreste, longitud noreste, latitud suroeste, longitud suroeste)
  • Dirección postal (como, por ejemplo, calle celestina 983)

Pues bien, en el mismo objeto GClientGeocoder tenemos un método que nos permite pedir a Google una colección de localizaciones cercanas a una ubicación concreta: getLocations, que puede recibir como parámetro de consulta o una dirección, o un punto GLatLng.

¿Qué nos va a devolver esta llamada? Un objeto estructurado con todos los datos precisos: por un lado, la información detallada de la ubicación pedida, y por otro, el resultado de Google para la ubicación, con todas las ubicaciones almacenadas en un array de Placemarks, tal que así (lo pego diréctamente desde la documentación de ejemplo de Google, es más claro así, para la geocodificación inversa):

[
  {
    name: "Washington, DC",
    Status: {
      code: 200,
      request: "geocode"
    },
    Placemark: [
      {
        address: "Washington, DC, USA",
        population: "0.563M",
        AddressDetails: {
          Country: {
            CountryNameCode: "US",
            AdministrativeArea: {
              AdministrativeAreaName: "DC",
              Locality: {
                LocalityName: "Washington"
              }
            }
          },
          Accuracy: 4          
        },
        Point: {
          coordinates: [-77.036667, 38.895000, 0]
        }
      }
    ]
  },
  ... // etc., and so on for other cities
]

Espero que os sea de utilidad… Aunque sea algo tan básico.

Google acorta las URL en sus SERP en base a keywords de búsqueda

Martes, 23 de junio de 2009 1 comentario

Hoy he podido comprobar (aunque no se si esto ya se hacía ayer o antes de ayer, la verdad) que Google ha modificado la manera en que presenta las URL en sus hojas de resultado de búsqueda. En lugar de mostrarlas completas (sí, esa ruta en verde bajo la descripción del resultado) ahora las acorta destacando los keywords usados en la búsqueda.

Esto, sin duda, mejora la presentación y elimina “paja” de la URL en su presentación, reduciendo el tamaño de la página de resultados y aclarando la imagen ante el usuario.

No tengo demasiado claro que esto nos afecte en SEO: ¿ayudará el hecho de destacar estas nuevas URL con keywords? Creo que, al menos de cara a posicionamiento, la respuesta es no. Pero de cara al usuario que realiza la búsqueda, sí: nos ayudará a mejorar el ratio de entrada desde Google para aquellos afortunados que hemos implantado URL rescrita.

Mucha gente dirá que esto en realidad no es importante: al usuario le da igual. No estoy de acuerdo, tanto desde el punto de vista de atracción visual (todas esas negritas resaltando nuestro resultado en el SERP…) como de cara a mostrar al usuario mejores pruebas de la utilidad de nuestra web.

Gracias SEO Profesional por el aviso ;) .

Alfonso Moure Ortega ghostmou http://www.moure.es Muchoviaje Madrid SEO Head Manager Grupo Muchoviaje - SEO, GEO, SMO, .NET developer
Alfonso Moure Ortega