Factores de posicionamiento 2011

Sin categoría No hay Comentarios »

Cada año, Seomoz realiza un estudio sobre los factores (o métricas) que influyen en el SEO, tradicionalmente lo ha hecho a partir de encuestas a profesionales SEO, pero este año han también han usado datos de búsquedas y correlaciones con los rankings. Hay que recalcar que la correlación no implica causalidad, por lo tanto no hay que tomar como conclusión que los factores con buena correlación con los rankings necesariamente ayuden a posicionar mejor. Mostraremos las conclusiones obtenidas para varios cojuntos de factores:

Factores de Linking a nivel de página

  1. El valor de este tipo de factores ha bajado respecto a otros factores
  2. La diversidad de links (de dominios, ips y C-blocks diferentes) es más importante que mucha cantidad
  3. Anchor text de links externos con keywords exactas aparece peor correlacionado que anchor text parciales. Eso podría significar que Google valora las variaciones de keywords por considerarlos links más naturales

Métricas de Links a dominio

  1. Google hace rankings a nivel de páginas pero tiene en cuenta el dominio al que éstas pertenecen también.
  2. Es interesante medir Link velocity (ritmo al que crecen los links), diversidad de tipos de links
  3. Correlacion entre total de links y sólo followed es rara
  4. Correlacion entre followed y nofollowed links es alta. Eso podría significar que los nofollowed links tambien cuentan. Hay seos que defienden esa teoría

Factores on-page

  1. Ha sido dificil evalurlo porque hay muchos datos que estan bien on-page. Muchas webs que hacen bien el SEO en las página.
  2. Los documentos largos se posicionan mejor.
  3. Titles y urls largas normalemnte son malas para seos
  4. Cuanto más arriba esten las keywords en documento, y cuanto antes estén en los tags, mejor

Keywords en los dominios

  1. Dominio con keywords exactas han perdido fuerza
  2. En concreto los dominio com TLD .com, han perdido más fuerza que nadie
  3. Numero de links se mantiene igual

Factores sociales

Son aquellos que tienen que ver con las redes sociales: si una url ha sido compartida en Facebook, twitteada…etc.

  1. Los factores Sociales están muy correlacionado con  buenos resultados. Como ya hemos dicho antes correlación no implica causalidad. Es decir, no debemos concluir que si una URL se comparte en una red social se posicionará mejor, sino que normalmente coincide que las URLs bien posicionadas también son muy compartidas
  2. Parece que Facebook influye más que twitter
  3. Google Buzz no se tiene en cuenta
  4. Falta conocimiento sobre como google usa datos ‘sociales’.

Las métricas mejor correlacionadas con buenas posiciones

  1. Número de veces compartido en Facebook
  2. Page Authority de Seomoz. Éste es un dato parecido a Page Rank, que calcula Seomoz
  3. Número de links de dominios diferentes con anchor text parciales (keywords estan parcialmente en el anchor text)
  4. Links de C-blocks distintos
  5. Links de IPs distintas

Este es un resumen de esta presentacion de Seomoz

Google translator API y PHP

CURL, PHP, google APIs No hay Comentarios »

No solamente se puede usar javascript para comunicarse con el API del traductor de google, también se puede usar cualquier lenguaje de programación realizando las peticiones en forma de url, esta manera de comunicarse con el api tiene una ventaja, se puede realizar traducciones a distintos idiomas en una sola petición, esta vez usaremos PHP y traduciremos del español al portugués e italiano.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
$nurl=0;
$texto=urlencode('el lado oscuro de la fuerza');
//separador de pares de idiomas: es|pt  es|it
$barra=urlencode(|);
$pares='&langpair=es'.$barra.'pt&langpair=es'.$barra.'it';
$googleurl='http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=';
$googleurl.=$texto.$pares;
//configuramos CURL
$transcurl=curl_init();
curl_setopt($transcurl,CURLOPT_URL,$googleurl);
curl_setopt($transcurl,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($transcurl,CURLOPT_RETURNTRANSFER,1);
$trans=curl_exec($transcurl);
curl_close($transcurl);
//vemos los resultados 
print_r($trans);
?>

Como se ve, para realizar la petición se usa la librería CURL, tenemos que asegurarnos de que este activada en el servidor.

Google translator API y jQuery

google APIs, jQuery No hay Comentarios »

Tengo la impresión de que la calidad de las traducciones de google translator mejora día con día; algunas webs ya la usan para traducir parte de sus webs usando el API del que google dispone desde hace ya algún tiempo. Si necesitas traducir “al vuelo”, alguna frase o palabra, quizá esta función escrita en jQuery te pueda ayudar.
Supongamos que queremos traducir este párrafo:

1
<p id="texto">El lado oscuro de la fuerza</p>

La siguiente función deberia traducirlo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script type="text/javascript" src="http://www.google.com/jsapi></script>
<script type="text/javascript">
 google.load("language", "1");
 var idioma_de='es';
 var idioma_to='en';
 jQuery.fn.traducir=function(idioma)
  {
   google.language.translate($(this).val(), idioma_de, idioma_to,
   function(result)
    {
     if (result.translation)
      {
        alert(result.translation);
      }
    });
 }
$(document).ready(function() 
 {
  $('#texto').traducir();
 });
</script>

Esta función traducirá el contenido del párrafo con id=”texto” del idioma idioma_de al idioma idioma_to.
idioma_to e idioma_de toman los valores de los códigos que  usa en el google translator, puedes encontrar una lista de ellas en la documentación del API de traducción.

Sphinx y el timestamp de UNIX

UNIX, sphinx No hay Comentarios »

De un tiempo a esta parte, un gran número de sitios web han ido implementando sus motores de búsqueda en Sphinx (SQL phrase index), no íbamos a ser la excepción, cogimos el motor de búsquedas “developed by us“, lo tiramos a la papelera de reciclaje y nos pusimos a mirar Sphinx y a realizar algunos experimentos.

Una característica deseada en nuestro buscador es que los ítems estén ordenados por fecha, así que probamos esta configuración (siguiendo la documentación oficial de sphinx):

#supongamos la taba: visitante (id, nombre,fecha) el campo fecha es del tipo DATETIME.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
source src_visitantes
  { 
    type = mysql
    sql_host = 'tu_host'
    sql_user = 'tu_usuario'
    sql_pass = 'tu_clave'
    sql_db = 'tu base de datos'
    sql_port = 3306      # optional, default is 3306
    sql_query = select id, nombre, fecha from visitante
 
    sql_attr_timestamp = fecha
   }
 
  index visitantes
   {
    source = src_visitantes
    path = /PATH_TO/sphinx/data/invitados/visitantes
    docinfo = extern
    mlock = 0
    morphology = libstemmer_spanish,
    min_word_len = 2
    charset_type = utf-8
    html_strip = 0
   }

El caso es que, al ver los resultados de una consulta, nos encontramos con que, en el campo fecha sólo se mostraba el año de la fecha, funcionaba, pero mal. Para solucionarlo reemplazamos la consulta fuente:

9
sql_query  = select id, nombre, UNIX_TIMESTAMP(fecha) as fecha from visitante

y funciono!… ya podemos ordenar los resultados de una búsqueda por el campo fecha a partir de ahora (por lo menos hasta el 19 de enero del 2038).

Ubuntu, apache y mod_rewrite

LAMP No hay Comentarios »

No hace mucho decidí dar por “deprecated” la instalación de windows xp en mi ordenador, y decidí  instalar Ubuntu y los paquetes necesarios para usar este equipo como servidor LAMP local (para los 4 proyectos personales iniciados y no continuados), el caso es que una vez migrados los proyectos, e intentar verlos en un explorador, lo único que mostraba era este mensaje de error:

Invalid command ‘RewriteEngine‘, perhaps mis-spelled
or defined by a module not included in the server configuration

Estaba claro que algo pasaba con el modulo mod_rewrite, (aparentemente en ubuntu apache se instala con el modulo desactivado) busqué en foros y tutoriales y, al final, en un foro de Ubuntu encontré una forma fácil y sencilla de activar el modulo mod_rewrite (o cualquier otro módulo), solo tienes que abrir una terminal y ejecutar:

% sudo a2enmod rewrite

a2enmod, es un script que activa el modulo especificado en la configuración de apache2 creando enlaces simbólicos (symlinks) con /etc/apache2/mods-enabled. la sintaxis es la siguiente:

a2enmod [modulo]

Así como existe un script que activa un modulo en apache, también existe un módulo que puede desactivarlos,  a2dismod cuya sintaxis es idéntica

a2dismod [modulo]

Si queremos desactivar el modulo rewrite, solo tenemos que ejecutar, en una terminal,

% sudo a2dismod rewrite

Para que los cambios tengan efecto, es necesario reiniciar apache en ambos casos.

% sudo /etc/inid.d/apache2 restart

Despues de invertir bastante tiempo en revisar los archivos de configuración de apache, me encontre con  que un simple comando podia resolver mi problema.

Diseñado por j david macor.com. WP Theme & Icons originales por N.Design Studio. Traducido por Trazos Web.