2012-03-31

Automatizar las fechas del archivo sitemap.xml con maven

Es posible automatizar la fechas del archivo sitemap.xml usando maven.

Para esto debemos crear una nueva carpeta de recursos web (por ejemplo "src/main/webresources") donde dejaremos una versión modificada de nuestro fichero sitemap.xml.

Este fichero sitemap.xml ya no contendra las fechas explícitamente, sino que tendrá la variable ${timestamp}:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>http://nioos.com</loc>
        <lastmod>${timestamp}</lastmod>
    </url>
    <url>
        <loc>http://nioos.com/login.html</loc>
        <lastmod>${timestamp}</lastmod>
    </url>
    <url>
        <loc>http://nioos.com/sitemap.html</loc>
        <lastmod>${timestamp}</lastmod>
    </url>
    <url>
        <loc>http://nioos.com/politica-privacidad.html</loc>
        <lastmod>${timestamp}</lastmod>
    </url>
    <url>
        <loc>http://nioos.com/condiciones-servicio.html</loc>
        <lastmod>${timestamp}</lastmod>
    </url>
    <url>
        <loc>http://nioos.com/politica-contenido.html</loc>
        <lastmod>${timestamp}</lastmod>
    </url>
</urlset>

La variable ${timestamp} la definiremos en el fichero de configuración de nuestro de maven, al igual que nuestra nueva carpeta de recursos:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>ui.nioos.com</groupId>
  <artifactId>NioosUI</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>NioosUI Webapp</name>
  <url>http://www.nioos.com</url>
  <!--  -->
  <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <timestamp>${maven.build.timestamp}</timestamp>
      <maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>
  </properties>
  <!--  -->
  <build>
    <finalName>NioosUI</finalName>
    <!--  -->
    <plugins>
        <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <webResources>
                    <resource>
                        <filtering>true</filtering>
                        <directory>src/main/webresources</directory>
                    </resource>
                </webResources>
            </configuration>
        </plugin>
    </plugins>
    <!--  -->
  </build>
  <dependencies>
      <dependency>
          <groupId>net.sf.ehcache</groupId>
          <artifactId>ehcache-web</artifactId>
          <version>2.0.4</version>
          <scope>runtime</scope>
      </dependency>
  </dependencies>
</project>

Aquí hemos definido las propiedades:
<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <timestamp>${maven.build.timestamp}</timestamp>
  <maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>
</properties>

que posteriormente serán usadas en el nuevo fichero sitemap.xml, y también hemos configurado el plugin war de maven para que actualize los ficheros de la nueva carpeta con la fecha de la última compilación:
<plugins>
  <plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.2</version>
    <configuration>
      <webResources>
        <resource>
          <filtering>true</filtering>
          <directory>src/main/webresources</directory>
        </resource>
      </webResources>
    </configuration>
  </plugin>
</plugins>

De esta forma cada vez que compilemos el proyecto web usando maven el fichero sitemap.xml estará actualizado con la fecha de la última compilación de nuestro proyecto y los buscadores podrán actualizar sus índices de búsqueda de una forma más sencilla.

2012-03-24

El archivo sitemap.xml

A veces es recomendable crear un archivo sitemap.xml para nuestro sitio web para que los motores de búsqueda tengan más sencillo indexar nuestras páginas web.

Este archivo se debe dejar en el directorio raiz de nuestro sitio web.

Su formato es muy sencillo, se encuentra definido en http://www.sitemaps.org/, y básicamente es la lista de las páginas web de nuestro sitio web junto con la fecha de su última modificación.
Así los motores de búsqueda sabran cuando han cambiado nuestras páginas y volverán a indexarlas.

Crear este fichero no requiere mucho trabajo.


2012-03-14

El archivo robots.txt

Si nuestro sitio web contiene páginas antiguas, o directorios que contienen imagenes sin importancia, o por cualquier razón queremos avisar a Google o cualquier otro buscador que no estamos interesados en que indexe ciertas páginas ó directorios de nuestro sitio web debemos usar un archivo robots.txt

Este archivo se debe dejar en el directorio raíz de nuestro sitio web.

La sintaxis concreta de este archivo es muy sencilla y se puede encontrar en http://www.robotstxt.org/