Hola:
Estoy generando el sitemap de la web, el cual lo genera perfectamente. La cuestión es que me mete una etiqueta <head>
sin venir a cuento y no se cómo eliminarla.
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> {% for seccion in secciones %} {% for idioma in idiomas %} {% if idioma.defecto != null %} <sitemap> <loc>{{ url('sitioFrontend',{'idioma': idioma.isoCode ,'url':seccion.url}) }}</loc> <lastmod>{{ seccion.fechaModificacion | date('d/m/y') }}</lastmod> <changefreq>daily</changefreq> <priority>{% if seccion.tipo.slug == 'home' %}1{% else %}0.8{% endif %}</priority> {% else %} <xhtml:link rel="alternate" hreflang="{{ idioma.isoCode }}" href="{{ seccion.url }}" /> {% endif %} </sitemap> {% for sub in subsecciones %} {% if idioma.defecto != null %} <sitemap> <loc>{{ url('sitioFrontend',{'idioma': idioma.isoCode ,'url':sub.url}) }}</loc> <lastmod>{{ sub.fechaModificacion | date('d/m/y') }}</lastmod> <changefreq>daily</changefreq> <priority>0.8</priority> {% else %} <xhtml:link rel="alternate" hreflang="{{ idioma.isoCode }}" href="{{ seccion.url }}" /> {% endif %} </sitemap> {% endfor %} {% endfor %} {% endfor %} </urlset>
Y la salida sería este archivo XML. Como podéis ver al principio me mete una etiqueta </head>
.
<?xml version="1.0" encoding="UTF-8"?> <head/><urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
Muchas gracias por vuestra ayuda
Respuestas
Como en tu plantilla no hay ni rastro de la etiqueta <head/>
y en el archivo generado sí que existe, creo que puede ser el típico caso de algún "elemento mágico" que está activado y hace cambios automáticamente. ¿Tienes algún plugin o alguna utilidad tipo TidyHTML que "limpia" el código de las plantillas antes de servirlas?
Por otra parte, me parece que el formato de fecha que estás utilizando para el elemento <lastmod>
no cumple el formato definido en el estándar sitemaps.org. Yo siempre lo genero con Twig de esta forma: |date('c')
@javiereguiluz
Pues es posible que tenga algo así. Creo que en el servido esta instalado algo tipo PageSpeed, pero dudo que lo pueda modificar. ¿Hay alguna posibilidad de obviar eso y forzar la salida?
@TsubasaAkai
Precisamente el módulo PageSpeed de Google incluye un filtro llamado Add Header que podría ser el que está actuando en este caso. Te aconsejo desactivar ese filtro en el servidor, ya que tampoco parece tan interesante.
@javiereguiluz
Gracias, eso era. Desactivé el add_head
desde .htaccess
y listo.
@TsubasaAkai