Archive for Código

Cómo crear un sitio web SEO orientado a distintos idiomas

Las distancias son cada vez más cortas entre los diferentes países. Gracias al internet es fácil llegar a clientes potenciales en el extranjero, sin embargo implica muchas consideraciones previas como asuntos legales, diferentes culturas, mercados más o menos maduros, etc.

Con el fin de maximizar las ventas fuera de España, la página web no sólo debe de estar adaptada al público extranjero, sino debe de salir bien posicionada en los resultados de los buscadores. Sin embargo, el SEO se complica a nivel internacional.

Imagínate si quieres internacionalizar tu negocio en Canadá, Francia y EEUU. Primero traduces tu web en inglés y francés. Luego adaptas tu oferta a los mercados nacionales, es decir en caso de una tienda online indicarás los precios de tus productos en tres monedas: dólares estadounidenses, dólares canadienses y Euro.

Pero ¿cómo haces que le saldrá la página en francés orientada a Canadá (con sus respetivos precios y condiciones de venta) en los resultados de búsqueda en Canadá, y no aquella orientada a Francia? Y ¿no puede ser que te penalizan por contenido duplicado en el mismo idioma bajo diferentes URL?

Para evitar que te rompas la cabeza, aquí te he resumido la mejor práctica siguiendo las indicaciones de Google mismo.

Dominios

Basicamente hay dos maneras recomendadas para la configuración del dominio:

CASO 1: El cliente es relativamente grande y dispone de muchos recursos

Se adquiere la extensión nacional del dominio (ccTLD) como .fr, .ca, .co.uk, .de, .ar… En algunos países necesitas representación local (Ej .de en Alemania, hay empresas como Nominalia que te lo proporcionan). Además, aloja la web en un servidor ubicado en el país de destino (–> dirección IP).

“Tanto los usuarios como los motores de búsqueda consideran esto como una señal clara que indica que tu sitio web está expresamente orientado a un determinado país.”

Pro: Indicación clara para buscadores y usuarios a qué país nos dirigimos

Contra: Gastos extra de adquisición de dominios y cuota de hosting

ACHTUNG

Esta técnica no es recomendable si nos queremos posicionar solamente en otro idioma sin especificar el país (Ejemplo alemán para Alemania, Suiza, Austria y Bélgica. El ccTLD .de puede perjudicar entonces el posicionamiento en los demás países).

CASO 2: PYME con presupuesto muy limitado

Para una bodega de La Rioja sin embargo seríao más fácil utilizar extensiones generales de dominios (gTLD) como .com, .net, .org, .tv, .me etc ya que no están asociados a ningún país. Entonces crea subcarpetas con el código del páis y ahí cuelgas las páginas traducidas y optimizadas:

dominio.com/en/optimized-url    y     dominio.com/de/optimisierte-url

Alternativas

Una alternativa sería crear subdominios en vez de subcarpetas con el código/nombre del país (fr.dominio.com o france.dominio.com). Aquí las configuraciones técnicas también son mayores.

Hay otra novedosa propuesta de sólo tener 1 traducción a cada idioma en una BBDD común, el usuario elige el idioma y la url con su país se genera automáticamente utilizando la almohadilla (o hashtag #), sin embargo hasta hoy día no tenemos opinión oficial de Google al respeto.

Otra alternativa presentado en seomoz este mes es utilizar el alternate link tag (parecido a la etiqueta canonical), que indica a Google que no es contenido duplicado si no alternativo para cada país:

<link rel=”alternate” hreflang=”en” href=”http://www.example.com/path” />
<link rel=”alternate” hreflang=”en” href=”http://www.example.co.uk/path” />
<link rel=”alternate” hreflang=”en” href=”http://www.example.com.au/path” />

Google NO recomienda utilizar parámetros de la URL como dominio.com?loc=de?country=france.

Contenido

Disponer de direcciones y números de teléfono locales

Codifica cualquier información geográfica en formato hcard (html vcard) Aquí encuentras un Generador de hcards online. Como alternativa se puede utilizar la etiqueta html <address> tag aunque hcard es preferible.

Ejemplo:

<div class=”vcard”>
<strong class=”fn n”>
<span class=”given-name”>Juan</span>
<span class=”additional-name”>Garcia</span>
</strong>
<div class=”adr”>
<span class=”street-address”>Calle Capitan Segarra 1</span>
<span class=”locality”>Madrid</span>
<span class=”country-name”>España</span>
</div><div class=”tel”>913-99-99-99</div>
</div>

Usar la lengua y moneda local

Suena lógico pero no todas las empresas lo tienen en cuenta. Aunque el idioma parezca igual, sabemos que cada región suele tener expresiones propias (ej. en América del Sur se suelen dirigen a ti diciendo vos, no tú).

Etiquetas meta de geolocalización

Las metas no hacen falta ponerlas, sin embargo su inclusión puede servir como placebo para ciertos clientes.

“Ten en cuenta que no usamos metaetiquetas de ubicación (como “geo.position” o “distribution”) ni atributos HTML de orientación geográfica.”

META-LANGUAGE-TAG

<meta http-equiv=”content-language” content=”de-de”>
<meta http-equiv=”content-language” content=”de-ch”>
<meta http-equiv=”content-language” content=”de-at”>

GEO-META-TAG

<meta name=”geo.placename” content=”Madrid, España” />
<meta name=”geo.position” content=”40.416691;-3.700345″ />
<meta name=”geo.region” content=”ES-Comunidad de Madrid” />
<meta name=”ICBM” content=”40.416691, -3.700345″ />

Enlazar a otros sitios locales

Aprovecha si tienes oficinas locales con propios webs, colaboradores/clientes/instituciones locales…

Aplicaciones Google

GOOGLE LOCAL BUSINESS CENTER

Date de alta con tu oficina local y obten reseñas de clientes locales

GOOGLE WEBMASTER TOOLS

Indicar la orientación geográfica en las Google Webmaster Tools. Es posible realizar este ajuste a nivel de dominio, subdominio o subdirectorio.

“Ten en cuenta que, en general, no tiene sentido establecer una orientación geográfica si las mismas páginas están orientadas a más de un país (por ejemplo, todos los países de habla alemana). Simplemente escribe en ese idioma y no utilices los ajustes de geolocalización.”

Entonces no hay problemas de contenido duplicado?

Efectivamente. SI CONFIGURAMOS BIEN LOS PARÁMETROS ARRIBA INDICADOS, NO HABRÁ ‘PENALIZACIÓN’ POR CONTENIDO DUPLICADO.

“Los sitios web que ofrecen contenido para diferentes regiones y en diferentes idiomas a veces crean contenido que es parecido y que está disponible en distintas URL. Generalmente, esto no es un problema, siempre y cuando el contenido esté destinado a diferentes usuarios en diferentes países.

Aunque recomendamos que proporciones un contenido único para cada grupo de usuarios, entendemos que esto no sea siempre posible para todas las páginas y todas las posibles variaciones desde el principio.

Generalmente, no es necesario “ocultar” los duplicados bloqueando el rastreo en un archivo robots.txt o con una metaetiqueta “noindex”.

Sin embargo, si proporcionas el mismo contenido a los mismos usuarios en distintas URL (por ejemplo, si tanto example.de/ como example.com/de/ muestran el contenido en alemán para usuarios de Alemania), entonces tendría sentido elegir una versión preferida y hacer una redirección (o bien utilizar el “rel = canonical”) de forma apropiada.

Resumiendo

Crear un sitio web multlilingue es un asunto relativamente complicado. Si no lo configuras bien, es probable que tus webs no salen en los SERPs de otros países e incluso pueden llegar a empeorar tu posicionamiento aquí.

Por eso recomendio buscar una consultoría SEO que tiene experiencia con sitios multilinguales y que no te fies sólo de tu webmaster.

Fuentes principales y citas: Google Webmaster Blog

http://googlewebmaster-es.blogspot.com/2010/03/gestionar-sitios-web-mutiregionales.html

http://googlewebmaster-es.blogspot.com/2010/06/como-crear-un-sitio-multilingue.html

Diviértete con el robots.txt

Image-Credit to pamil-visions

El otro lanzamos una nueva web de software para gimnasios, www.softarsport.es, y en un primer instante no queríamos impedir a los buscadores de no indexar nada. Y por no dejar el robots.txt vacío…pues pusimos algo en plan

Te hemos pillado SEO de la competencia, pero aquí no hay nada!

Entonces pensé: seguro que a más gente se les habrá ocurrido poner algo gracioso en este documento de texto. Et voilá, aquí viene una pequeña recopilación de los que he encontrado:

Ejemplos de robots.txt originales

Google on Halloween

User-Agent: zombies
Disallow: /brains

Y una graciosa reacción:

JohnMu [PersonRank 10]

1 year ago #
It’s just funny until they come for your website’s brains … :-)

Tony Ruscoe [PersonRank 10]

1 year ago #
That’s OK John. Google has no brains! :-)

google.com/brains

<< www.google.com/brains – does not exist. >>

Perhaps the zombies got there first…

Last fm

Disallow: /harming/humans
Disallow: /ignoring/human/orders
Disallow: /harm/to/self

Kongregate

# we don't serve your kind here
User-Agent: *
Disallow: /

Hilton.com

# Daytime instructions for search engines
# Do not visit Hilton.com during the day!

Y mientras buscaba ejemplos, me he encontrado esta camiseta:

¿Qué es el robots.txt?

Es un archivo que comunica a los bots de los buscadores qué contenido no deben ni escanear ni indexar en su base datos.

And it doesn’t mean that a robot send you a text message =P

Impresionante UX: Google Chrome y Arcade Fire – el internet del futuro

Me pongo muy contenta viendo esa excelente pieza multimedia. ‘Unos amigos de Google’ hicieron un experimental videoclip para la banda Arcade Fire que me impresionó y sobre todo emocionó. Es una experiencia que nunca la había vivido en internet.

El video es personalizado, ya que es un homenaje a tu lugar de origen. Es muy dinámico y te atrapa viendolo. Además, la canción es muy chula.

Ver experimento The Wilderness Downtown – Arcade Fire

La animación está hecha con html 5 optimizada para Google Chrome. Para aquellos que no lo tienen instalado, os dejo una grabación de pantalla del clip. ¡Vale la pena verlo!

Video Arcade Fire – We used to wait – en Google Chrome

Cómo utilizar 2 cuentas de skype simultaneamente en 1 mismo equipo

Skype es el programa de VoIP más extendido en internet. Tengo varias cuentas, una privada (que me hice cuando me fui a vivir a Suecia por un año) y otra del trabajo pues lo utilizamos para la comunicación interna.

Y claro, a veces interesa estar loggeada en ambas cuentas simultaneamente, sin tener que empezar otra sesión con otro usuario.

‘Ojalá fuera tan fácil como utilizar 2 cuentas de Facebook utilizando simplemente 2 navegadores distintos’ pensé.

Jaaa! Más fácil incluso es!

Abrir sesión secundaria en Skype

En Windows, dale a inicio y después a Ejecutar. Pon este comando:

“C:Archivos de programaSkypePhoneSkype.exe” /secondary

con todos sus comillas y barras.

Ojo, esa es el camino estandard. Si cambiaste de lugar cuando instalaste skype, pues tendrás que actualizarlo.

Se te abrirá la ventana de skype para que te loggues y zasss, tendrás dos iconitos de skype entre tus aplicaciones de escritorio!

Los 2 iconos de skype (uno en disponible y el otro en ocupado)

¡Qué lo disfrutes!

Fuente: Página oficial de skype [ENG]

¿Como clasificará Google nuestra amistad?

Todos utilizamos Google para encontrar información en internet. ¿Pero también sabías que Google ayuda a proporcionar información sobre nuestras relaciones sociales a desarrolladores?

La misión de Google es “organizar la información mundial para que resulte universalmente accesible y útil”. Por ello, todo aquellos que publicamos documentos online nos interesa que el Googlebot visita e indexa nuestros sitios en su BBDD para entonces exponer su contenido a los demás usuarios en sus interfaces de búsqueda. El orden de las SERPs (Search Engine Result Pages) es determinado por su algorítmo patentado.

Para establecer el ranking de las páginas con el contenido más relevante, único y de la más alta calidad, Google además recoge información ajena del propio código de las webs. Sabemos que la cantidad y sobre todo la calidad de los enlaces entrantes es uno de los factores que determinan la confianza en un dominio (PageRank).

Aparte, Google recopila información adicional sobre el registro de dominio. Se hizo registrador de dominios, obteniendo así mayor y más fácil acceso a los datos de registro y los dueños de las páginas web. Sin embargo, conocer así a los dueños y gestores de páginas web es una tarea intensa de tiempo y recursos.

informe de registro de dominio

El factor humano

Al fin y al cabo los motores de búsqueda son aplicaciones para seres humanos. Por ello, el comportamiento del internauta cuando elige una página de las SERPs y su navegación en la página también influyen en la posición de la página en los resultados de búsqueda. Aparte, se han inventado los folcsonomías para que los usuarios mismos etiqueten contenido en la web y así dan más pistas a los crawlers.

Debido al aumento de la implicación personal en internet (blogs, redes sociales,…) surgió la necesidad de un sistema de etiquetación de las relaciones humanas online. Igual que la WWW, los sistemas desarrollados se basan en enlaces.

XFN

El XFN (XHMTL Friendship Network) es un formato de enlaces con una propiedad que permite establecer qué tipo de relación tienes con la persona a la que estás enlazando.

Para establecer este tipo de relaciones (p.ej. en tu BlogRoll), se añade simplemente el atributo rel a los enlaces y se le adjunta los valores considerados mas oportunos separados por un espacio.

Ejemplos:

<a href=”http://www.vannessauhlein.net” rel=”me” />
<a href=”http://www.necesitascomunicacion.com” rel=”friend co-worker met” />

Los valores oficiales que se pueden colocar son los siguientes:

Categoría Valores posibles Traducción
Amistad: friend, acquaintance, contact amigo, conocido, contacto
Profesional: co-worker, colleague compañero de trabajo, compañero de profesión
Geográfico: co-resident, neighbor de la misma calle o barrio, vecino
Família: child, parent, sibling, spouse, kin hijo, padre, herman@, cónyuge, pariente
Relación: muse, crush, date, sweetheart musa, flechazo, cita, pareja
Identidad: me tú mismo.
En persona: met si se conoce en persona

FOAF


Otro sistema es el proyecto FOAF (friend-of-a-friend) es una ontología legible por crawler que describe personas, sus actividades y sus relaciones entre ellas sin necesidad de una BBDD centralizada.

La información codificada en FOAF se basa en XML y se guarda en un documento RDF.

Ejemplo:

<foaf:Person rdf:about=”#yo” xmlns:foaf=”http://xmlns.com/foaf/0.1/”>
<foaf:name>Vannessa Uhlein</foaf:name>
<foaf:weblog rdf:resource=”http://www.vannessauhlein.net/” />
<foaf:img rdf:resource=”/wp-content/images/008_17A.JPG” />
<foaf:knows>
<foaf:Person>
<foaf:name>Mado Abad</foaf:name>
</foaf:Person>
</foaf:knows>
</foaf:Person>

Google API

Entonces, Google ha desarrollado la Social Graph API, que permite conocer las relaciones entre usuarios por su explícita declaración en la web mediante enlaces y haciendo uso de los estándares XFN y FOAF.

Esta API de gráficos sociales parte de que Google bucea en la web buscando relaciones entre usuarios, al igual que lo hace buscando contenido, con el enlace como referencia. Estas relaciones descubiertas quedan a disposición de terceros (desarrolladores), que pueden construir aplicaciones que las utilicen gracias a la API. Claro que Google sólo puede acceder a páginas públicas de perfiles o ficheros FOAF disponibles de forma abierta.

Ejemplos:

Si miras el código fuente de tu perfil (público) de twitter, verás que cada contacto está marcado con un enlace en el que se añade “rel=contact”. Eso significa que están usando XFN y que por tanto, será indexado por Google para habilitar esta API social.

<span class=”vcard”>
<a href=”/randfish” class=”url” hreflang=”en” rel=”contact” title=”Rand Fishkin”><img alt=”Rand Fishkin” class=”photo fn” height=”24″ src=”http://a1.twimg.com/profile_images/322176306/rand-profile-2009_mini.jpg” width=”24″ /></a> </span>

Si tienes un blog con WordPress podrás observar que al añadir enlaces se permite indicar la relación con el enlace con XFN.

Conclusión

A mi sinceramente me ha flipado conocer estas técnicas de etiquetación social. Hablamos de la web semántica como el futuro, pero en realidad está montada ya. Estamos ya en la era de la web 3.0, donde no se espera mero contenido pero información pre-evaluada e inteligentemente relacionada. Llevamos ya años con los sistemas XFN y FOAF funcionando en el fondo del uso de internet, simplemente la mayoría no se ha dado cuenta.

Nuestro uso exigente y avanzado de internet provoca el desarrollo de aplicaciones arriba descritas. Y como Google tiene la mayor capacidad mundial de escanea de páginas web, pues me parece perfecto que proporcionan la información sobre las relaciones sociales para aquellas personas que les resulta muy útil.

¿Tú que opinas? ¿Ya sabías que existen los sistemas XFN y FOAF? ¿Utilizas la API?