menu
Consultoría y desarrollo web Drupal
Drupal es un gestor de contenidos enfocado a facilitar el diseño y desarrollo de páginas web. Da una gran flexibilidad a nivel de resultados ya que permite crear desde tiendas online a webs corporativas o galerías de imágenes o vídeos, pudiendo customizar al detalle aspectos como el diseño y funcionalidades.
Por otro lado, y no menos importante, Drupal cuenta con una de las comunidades online más grandes y activas aportando al gestor de contenidos nuevas funcionalidades y resolviendo errores. La comunidad facilita el trabajo con el gestor de contenidos y amplia aún más sus posibilidades.
En Atenea tech llevamos trabajando y contribuyendo a la comunidad Drupal con Drupal desde 2007. Somos expertos en Drupal y es la única tecnología que utilizamos en nuestros desarrollos. En estos años hemos podido abarcar gran variedad de tipologías de proyecto debido a la flexibilidad de la plataforma.
Artículos en el blog
Una de las características que hacen la diferencia entre una Web y un medio tradicional es su público potencial. No se pueden comparar el numero de potenciales clientes que pueden llegarnos a conocer publicando un anuncio en un periódico o teniendo una Web. La Web, por definición, puede ser accedida desde cualquier punto del planeta (por ahora). Por este motivo es importante para las empresas tener sus páginas Web en varios idiomas, tantos como utilicen sus potenciales clientes.
En este articulo analizamos como desarrollar, usando Drupal 6, páginas multiidioma.
El módulo Locale
Drupal 6 incluye en su distribución base este módulo que permite seleccionar los idiomas en que estará disponible nuestra Web y traducir la interfaz de Drupal importando archivos de traducción que podemos descargar de diferentes sitios.
Esto, cuando creamos páginas multiidioma no es suficiente. No solo hay otros muchos elementos que necesitan traducción como los contenidos, los tipos, los menús, o las categorías; sino que es necesario sistemas para traducir las cadenas de texto que forman la interfaz...
Seguimos con la serie de posts sobre como optimizar Drupal para los buscadores. Esta vez nos ocuparemos de como hacer que Drupal genere las direcciones de nuestras páginas legibles. Por ejemplo: supongamos que redactamos un post estupendo titulado: "Módulos y técnicas para SEO en Drupal: URLs legibles", Drupal lo guardará y le dará una dirección de la forma:
http://www.ateneatech.com/node/123
Para los buscadores, esta URL no contiene ninguna información. Lo ideal seria que la dirección fuera, respetando el juego de carácteres estándar soportados por la especificación de URL, explicara que es lo que contiene la página. Algo similar a:
http://www.ateneatech.com/modulos-y-tecnicas-para-seo-en-drupal-urls-legibles
Para conseguir esto en Drupal debemos instalar y parametrizar los siguientes módulos:
El módulo Path
Incluido en el core (opcional) de Drupal, permite a los usuarios que crean los contenidos darle una dirección. Incluye, en los tipos de contenidos donde así se indique, un campo de texto para la dirección. El usuario será el encargado de introducir a mano la dirección para cada nodo.
Optimizar una página para que los buscadores la indexen y la posicionen de forma correcta es una tarea compleja donde coexisten varios factores y técnicas. En este artículo voy a tratar de desgranar las relacionadas con informar a los buscadores sobre lo que deben y no deben indexar y de aportar soluciones, en forma de módulos o de parches, que luego incorporaremos a Perseo. En futuras entradas nos ocuparemos de los módulos y técnicas que permiten mejorar el contenido de las páginas para que posicionen mejor.
Para que los buscadores lean correctamente nuestra web debemos informar a los buscadores de las páginas que deben y que no deben indexar. Para ello se utilizan dos técnicas: el archivo de robots y el mapa del sitio en XML o Sitemap.
Robots.txt
El archivo robots.txt contiene un listado de instrucciones que comunican a los buscadores que páginas deben y que páginas no deben leer. Podéis obtener más información en esta página. Drupal incorpora por defecto un archivo de este tipo, pero según varias fuentes contiene errores que se deben arreglar y no bloquea correctamente algunas páginas derivando en un problema de contenido duplicado que, dicho sea de paso, no gusta a los buscadores.
Un formatter permite seleccionar como se mostrará un campo CCK en diferentes lugares. Muchas veces los formatters que vienen configurados por defecto no nos sirven. Para desarrollar un formatter personalizado se deben implementar tres hooks:
[module]_field_formatter_info
: registra el nuevo formatter en el sistema, devuelve un array con nombres, descripciones, tipos a los que se aplica el formatter, etc.[module]_theme
: registra las funciones theme encargadas de renderizar el campo. Debe registrar la función siguiente.theme_[module]_formatter_[formatter]
: una función para cada formatter, renderizan el campo y son las funciones theme registradas en la función anterior.
Por ejemplo, en un módulo de nombre "foo" un formatter sencillo de nombre "bar" que renderizará una cadena de texto en vez del valor de un campo (sencillo a la par que absurdo):
t('Bar'),
'field types' => array('text'),
'multiple values' => CONTENT_HANDLE_CORE,
);
return $formatters;
}
function theme_foo_formatter_bar($element) {
return "Hello, Bar!";
}
function foo_theme($existing, $type, $theme, $path) {
return array(
'foo_formatter_bar' => array(
'arguments' => array('element' => NULL),
),
);
}
Et voilà!
Perseo, nuestra particular distribución de Drupal va cogiendo forma. Hemos realizado una nueva sección llamada "Productos" (la podéis encontrar en el menú de más arriba), en la que tendremos toda la información sobre Perseo; las descargas, novedades, etc.
También hemos definido servicios adicionales alrededor de Perseo. Estos servicios por el momento se centraran en dos parcelas:
- Perseo Asistencia Técnica: Resolución de problemas de instalación, parametrización, desarrollo de módulos, creación de temas, etc. en Drupal y más concretamente para Perseo.
- Perseo Desarrollo: Realización de webs empresariales basadas en Perseo para todas aquellas empresas que no tengan conocimientos técnicos suficientes y quieran acabados profesionales.
En cuanto al desarrollo, ya tenemos decididos los módulos básicos de los que se compondrá Perseo. Hemos elegido aquellos que consideramos esenciales, tanto por su funcionalidad como por su madurez de desarrollo. Aquí tenéis la lista de dichos módulos con una pequeña explicación de cada uno: