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:
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:
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.
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>
<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>
<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.
No hay comentarios:
Publicar un comentario