September 12th, 2008 Category: Zend Framework
6 Comments »

Ayer estrenamos el primer portal de noticias hecho exclusivamente con Zend Framework.

Titulos Regionales, es el nombre que le dio el cliente al portal.

Todavia nos falta mucho desarrollo, y varios detalles. Pero sobre la marcha vamos a ir corrigiendo los problemas, y cosas que falten.

Activar opciones de SEO, que por lo que estuve viendo en ZF, lo puedo solucionar muy facil sin la necesidad de agregar reglas de ruteo al Zend_Route, y .htaccess, ya que si le agrego un parametro final a las url, con el nombre del titulo .html, las toma igual, porque interpreta a ese nombre como un parametro mas por get ;) .

Enlace: http://www.titulosregionales.com.ar/


Invitame una Cerverza


Comentar


6 Responses

Olagato 2008-09-12 17:13:01
Muy interesante lo del parámetro al final de la URL para el ruteo de las distintas páginas. No sé si podrías explicarlo un poco más a fondo. Saludos!

Pablo Morales 2008-09-12 17:21:01
Mira, la verdad que no la tengo muy clara la del SEO, despues lo consulto por ahi para confirmarlo. Pero basicamente si yo hago

http://www.titulosregionales.com.ar/noticias/ver/noticia/461/

es lo mismo que

http://www.titulosregionales.com.ar/noticias/ver/noticia/461/la-ues-rosario-recordara-la-noche-de-los-lapices.html

Es mas que nada un hack, no es nada especial, y seria bueno implementar la forma correcta, pero por eso aclaro que es como un hack.

Para ver una noticia, tenes que llamar al controller Noticias, al action Ver, y le pasas una variable noticia=461, de esta forma funciona actualmente, el modulo, pero si yo ademas a la url le agrego un string mas, como si fuera el nombre del archivo /la-ues-rosario-recordara-la-noche-de-los-lapices.html el buscador (supongo), lo va a interpretar como si fuera la pagina en cuestion. Pero esto solo serviria para disfrazar la url.

Olagato 2008-09-13 04:21:47
Hola Pablo, en mi opinión la URL buena para tu web sería:
http://www.titulosregionales.com.ar/noticias/la-ues-rosario-recordara-la-noche-de-los-lapices.html
Es decir, quitar "ver", "noticia" y "461" pues no aportan nada. Además cuanto más larga es la URL, menos peso cogen sus términos. Y un término, cuando más a la derecha de la URL, menos peso tiene.
Veo que tu página no es multi-idioma, yo ahora investigo si es posible traducir las URL's con el Zend_Controller_Router_Route. Es decir que quedase algo como:
http://www.titulosregionales.com.ar/news/ues-rosario-remembering-pencils-night.html
(las traducciones sacadas de un TMX por ejemplo)
Si alguien sabe algo....
Saludos!

Pablo Morales 2008-09-13 04:34:15
Entiendo a donde vas.

Pero yo estaba proponiendo una solucion casi sin tocar codigo.

Tene en cuenta, que ver, si lo voy a necesitar, porque me determina el action del controller, y en este caso, ver no es el unico que tiene. Esta buena la data que me das de la prioridad de la url.

Olagato 2008-09-14 02:25:06
El término "ver" no aporta mucho para buscadores, en tu caso de noticias lo relevante será la palabra "noticias" y el título de la noticia. Si necesitas el "ver" para el controller puedes pasarlo como parámetro sin ponerlo en la URL. En el boostrap añades un Router a tu frontcontroller:

$frontController = Zend_Controller_Front::getInstance();
$router = $frontController->getRouter();
$routeIdioma = new Zend_Controller_Router_Route(
':module/:submodule/*', // tomas 2 parámetros de URL
array(
'mycontroller' => 'ver',
'module' => $defaultNamespace->module,
'submodule' => $defaultNamespace->submodule

)
);
$router->addRoute('route_idioma', $routeIdioma);
$frontController->setRouter($router);

Los parámetros module y submodule se toman de la URL. En el caso de que tuvieras: http://www.titulosregionales.com.ar/noticias/la-ues-rosario-recordara-la-noche-de-los-lapices.html, tendríamos que:
module = noticias
submodule = la-ues-rosario-recordara-la-noche-de-los-lapices.html
El parámero "ver" se pasaría como parámetro y no aparecería en la URL, dando relevancia SEO a los términos que verdaderamente pueden aportarte peso.
Espero te sirva.
Saludos !

Pablo Morales 2008-09-14 20:21:46
Perfecto, como dije antes no tengo nada de experiencia en SEO.

Pero mi problema es que ver no es el controller, sino el Action. Mi controller es el Noticias::verAction(); esta seria la relacion.

Pero me interesa, lo que aportas sobre SEO.