Arreglo de desindexación de Google en Zend Framework

Si usas Zend Framework, tu web es multidioma y además tienes problemas de desindexación, quizás mi experiencia te pueda resultar útil…

Recientemente una de mis webs dejó de ser indexada en Google. Se trata de un sitio multi-idioma y está programado en Zend Framework. Para la detección del lenguaje del usuario, usábamos la siguiente línea de código, que en un principio no daba ningún problema:

$locale = Zend_Locale(Zend_Locale::BROWSER);

Pasado un tiempo, comprobamos que no estábamos indexados en Google. Miramos los logs de acceso del server y comprobamos que el Googlebot  daba un Error 500 (server error) cuando intentaba acceder a nuestras páginas y sitemaps. El error saltaba por una mala configuración de nuestra empresa de hosting y mediante esta herramienta vimos que generaba el siguiente mensaje:

ERROR: Autodetection of Locale has been failed!<br />
Fatal error:  Uncaught exception ‘Zend_Locale_Exception’ with message ‘Autodetection of Locale has been failed!’

Aquí tienen varios enlaces que describen el problema que tuvimos:

Es decir: cuando en Septiembre de 2008 pusimos online la web, la web fue bien indexada al principio, no había errores de ningún tipo. Hace unos 5-6 meses nuestra empresa de hosting hizo unas modificaciones en el servidor (creemos que una actualización del PHP, pasamos del 5.1.6 al 5.2.11), que hicieron que apareciese el error del Locale.

Yo no me dí cuenta al principio y tardé en descubrir el error porque las páginas se veían bien en el navegador y el posicionamiento de la web en google era bueno al principio (pagerank 3 para nuestro site en inglés).

Pero durante estos últimos meses, hemos comprobado que no salíamos en su buscador y empezamos a investigar. Ahora hemos reparado el código (la línea del Locale(BROWSER)) para, si sale esa excepción, se tome un locale por defecto.

try {
$locale = Zend_Locale(Zend_Locale::BROWSER);
}catch(Exception $e){
$locale = new Zend_Locale(‘es-Es’);
}

Hemos cambiado de compañía de hosting y ahora hemos vuelto a salir en Google tras el reenvío de los sitemaps del sitio en Google Webmaster Tools y el envío de una petición de reindexación a Google tal y como se indica en el este enlace.

Es sólo mi experiencia, espero pueda seros de ayuda. Moraleja: hay que estar muy pendientes de los logs de acceso del servidor para verificar que las arañas de los buscadores entran bien a la web.

Saludos, Olagato.

Anuncios

Acerca de olagato

Geek, self-taught & passionate LAMP dev since last century. Loving Open Source, Kubuntu, Android, Synology, PLEX, SciFi, Mythology & fan The Lord of Rings.

Publicado el marzo 3, 2010 en Desarrollo Web y etiquetado en , , , , , , . Guarda el enlace permanente. 2 comentarios.

  1. He seguido investigando el tema y he encontrado información muy útil en este enlace:

    http://framework.zend.com/manual/en/zend.locale.introduction.html#zend.locale.selection.automatic

    Podríamos sustituír el try catch por:

    Zend_Locale::setDefault(‘es’);
    $locale = new Zend_Locale();

    Automáticamente el framework captura el leguaje del navagador y si no puede hallarlo se queda con el default locale.

  2. tuve un problema similar y lo soluciones de la siguiente manera:

    if (!$language = $request->getParam(‘language’, false)) {
    $language = $locale->getLanguage();
    }

    if (!$translate->isAvailable($language)) {
    $language = ‘en’;
    }

    $locale = Zend_Locale::findLocale($language);

    $translate->setLocale($locale);

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Casa Landa de Gallués

Sus lugares, gentes, costumbres...

PHP Libraries, API's and Frameworks

All about PHP's Resources, Libraries, API's and Frameworks.

A %d blogueros les gusta esto: