Archivo de la etiqueta: joomla

Conocer ruta logs y tmp del servidor en producción

Si el desarrollo de tu sitio web joomla! lo has realizado en tu equipo local puede ser que en el momento de subirlo a producción tus rutas hacia las carpetas logs y tmp no sean las correctas.

Para averiguar la nueva ruta física completa donde se encuentran dichos directorios puedes crearte un nuevo fichero php como por ejemplo ruta.php con el siguiente código:

<?php echo __FILE__; ?>

Este fichero le colocarás por ejemplo en la raíz de tu directorio html de tu servidor hosting mediante ftp y posteriormente accederás a la ruta del tipo:

www.nombredetudominio.es/ruta.php

En la pantalla del navegador podrás visualizar la ruta física que utilizarás para configurar las rutas hacia las carpetas logs y tmp editable desde la opción de menú configuración global o directamente sobre el archivo configuration.php de tu sitio joomla!

En la comprobación que permite joomla! se establecen entre otras cosas la ruta logs y tmp del servidor marcando como erróneo cuando estas no tienen los permisos suficientes.

Problema sitemap con XMap y VirtueMart, no hay enlaces a categorías ni productos

Hoy me he encontrado con un problema en mi sitio joomla! que me ha costado resolver toda una mañana:

Tenía instalada una extensión llamada xmap que crea automáticamente un sitemap.xml en base a los contenidos y menús que publicamos con joomla! y también otra extensión muy conocida virtuemart para comercio electrónico. Dentro de virtuemart tenía varias categorías y productos.

XMap había creado correctamente el sitemap para los items de menu pero por contrario no añadía las categorías ni productos que contenía mi tienda.

Tenía un menú que apuntaba al módulo «Layout por defecto de virtuemart» donde aparecían entre otras cosas todas las categorías de los artículos de mi tienda, productos destacados, últimas novedades…

Y al mismo tiempo tenía un módulo de tipo «Categoría Virtuemart» que actuaba como menú pero que exactamente no era un menú joomla! propiamente dicho ya que no aparecía la configuración del sitemap de xmap.

Después de darle muchas vueltas la solución ha sido crear un nuevo menú con un item de tipo «Layout de categorías de virtuemart».

El segundo paso ha sido ocultar este menú (despublicando el módulo asociado) ya que no me interesaba tener otro enlace a las categorías.

Por último he ido al componente xmap, he seleccionado el nuevo menú creado y he aplicado los cambios.

Con todo esto el sitemap ya contiene las urls que apuntan a nuestras categorías y productos.

Otra cosa importante que casi se me olvida: aseguráte de tener activado el plugin de xmap para virtuemart.

Optimización SEO en Virtuemart

Si utilizas la extensión virtuemart en tu sitio joomla! para el comercio electrónico te interesará como optimizarlo para su posicionamiento.

A continuación intentaré describir punto a punto todo lo que sería necesario para una correcta implementación SEO en Virtuemart.

  1. En la parte de configuración del panel de control de virtuemart existe una pestaña llamada SEO. En ella  podemos ver 4 campos a modificar.
    • SEO desactivado. Es un check que nos permite desactivar la optimización SEO de virtuemart. En nuestro caso es importante desactivar esta opción ya que sí queremos optimizarlo.
    • Sufijo SEO. Es un sufijo que se añadirá a cada URL de cada producto en su vista en detalle. Importante rellenar con palabras clave de nuestro sitio.
    • Traducir strings. Utilizar los archivos de lenguaje para las cadenas de virtuemart en la URL. Es decir, traduce las cadenas de la URL dependiendo del idioma en el que se esté utilizando. Si tu sitio es multiidioma sería importante activarlo en caso contrario desactivarlo es la mejor opción.
    • Usar ID de productos y categorias. Si se activa se usarán los identificadores de productos y categorías en las URLs, lo cual no es recomendable a nivel de SEO.
  2. Optimizar SEO para cada categoría. En la creación/edición de cada categoría existen los siguientes campos importantes para SEO.
    • Alias SEF. Situado en la sección información general, será la cadena que se compondrá para la URL al acceder a dicha categoría.
    • Meta información. En ella se podrá introducir un título personalizado para la página, meta descripciones y meta palabras clave. También se puede especificar la manera en como los robots de buscadores deben seguir los enlaces dentro de esta categoría.
  3. Optimizar SEO para cada producto. Cuando se da de alta o se modifica un producto deberemos tener en cuenta lo siguiente.
    • Alias de producto. Situado en el formulario inicial, compondrá la URL cuando se acceda a este producto.
    • Meta información. Esta sección se encuentra en la parte inferior dentro de la pestaña descripción. Es lo mismo que en la edición de categorías: en ella se podrá introducir un título personalizado para la página, meta descripciones y meta palabras clave, robots y nombre de autor.

Usar la reescritura URL en joomla! editando el web.config en IIS

Como sabréis las palabras contenidas en las direcciones URL son importantes para los buscadores a la hora del posicionamiento. Por ello es mucho más optimo tener una url del tipo:

http://posicionamiento-sitios-web.blogspot.com.es/mis-palabras-clave

que otra como la siguiente

http://posicionamiento-sitios-web.blogspot.com.es/index.php?article-id=4

Hay que aprovecharse de esto y «pasar» algunas palabras clave en cada una de las URL de nuestro sitio.

La mayor parte de los CMS que podemos utilizar actualmente están preparados para mejorar el posicionamiento orgánico. Entre estos CMS está joomla!.

Si tu servidor web es IIS con el módulo URL rewrite y tienes un sitio web en joomla! deberás editar el archivo web.config en la raíz de tu aplicación. En el apartado <system.webServer> inserta el siguiente bloque XML:


<rewrite>

<rules>

<rule name="Joomla! Rule 1" stopProcessing="true">

<match url="^(.*)$" ignoreCase="false" />

<conditions logicalGrouping="MatchAny">

<add input="{QUERY_STRING}" pattern="base64_encode[^(]*\([^)]*\)" ignoreCase="false" />

<add input="{QUERY_STRING}" pattern="(&gt;|%3C)([^s]*s)+cript.*(&lt;|%3E)" />

<add input="{QUERY_STRING}" pattern="GLOBALS(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />

<add input="{QUERY_STRING}" pattern="_REQUEST(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />

</conditions>

<action type="CustomResponse" url="index.php" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />

</rule>

<rule name="Joomla! Rule 2">

<match url="(.*)" ignoreCase="false" />

<conditions logicalGrouping="MatchAll">

<add input="{URL}" pattern="^/index.php" ignoreCase="true" negate="true" />

<add input="{URL}" pattern="/component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$" />

<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />

<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />

</conditions>

<action type="Rewrite" url="index.php" />

</rule>

</rules>

</rewrite>

Con esto IIS puede aprovechar unos patrones de expresiones regulares para convertir peticiones y transformarlas a urls con alias

Últimas tecnologías Web

Muchas tecnologías avanzan vertiginosamente hacia un futuro que seguramente no podamos ni imaginar. Este mismo futuro no nos permite ni un solo descanso y nos obliga a seguir aprendiendo. En el área del desarrollo y programación web pasa lo mismo.

Cada cierto tiempo los lenguajes de programación como ASP.Net, PHP, silverlight, etc. realizan cambios y mejoras en su framework aumentando, refinando y adaptando su funcionalidad y, al mismo tiempo, dejando poco a poco obsoletas versiones anteriores.

Por eso es recomendable utilizar las últimas tecnologías al servicio de los clientes. Tecnologías Web:

  • Web 2.0 – jQuery, XHTML, HTML5, AJAX
  • PHP 5.x
  • .Net 4.0 y .Net 4.5 – ASP.Net, Silverlight, Web Services, WCF, Entity Framework
  • CMS – Joomla! 2.5, joomla! 3.0, Drupal 7, WordPress 3.x
  • Datos y SGDB – SqlServer, Oracle, MySql, Pervasive, ODBC, XML, csv…
  • Servidores Web – IIS 6, IIS 7 y Apache.

Si lo prefiere para posibles mantenimientos de antiguos sitios web también tengo amplia experiencia en las versiones anteriores de PHP, ASP Clásico, ASP.Net (1.0, 2.0, 3.0 y 3.5) y joomla 1.6