El uso de un mapa del sitio confiere su propio conjunto de ventajas a un sitio web. Si bien puede añadir un valor significativo en términos de navegación fluida por el sitio web y una mayor visibilidad para los motores de búsqueda, también dota al sitio web de la capacidad de informar inmediatamente a los motores de búsqueda sobre cualquier cambio que se produzca en el sitio. Esto conduce a una indexación más rápida de los cambios en las páginas del sitio web en comparación con la situación en la que no se dispone de un mapa del sitio. Tener un mapa del sitio reduce su dependencia únicamente de los enlaces externos para llevar a los motores de búsqueda a su sitio web. Aunque puede que no sea aconsejable tener errores como enlaces rotos o páginas huérfanas en su sitio, un mapa del sitio puede ayudarle también en estos casos, cuando por error no ha corregido dichos errores.
Así que, en caso de que su sitio tenga un par de enlaces internos rotos o páginas huérfanas en él, por error, que no se pueden visitar de ninguna otra manera, un mapa del sitio puede ayudar a sus visitantes a llegar a ellas también. Sin embargo, es cualquier día mejor dejar que estos errores no lleguen a su sitio web en primer lugar.
En este artículo voy a explicar cómo generar y añadir un mapa del sitio web a una aplicación Rails. Generar Sitemap: Gema necesaria: Generador de Sitemap:- https://github.com/kjvarga/sitemap_generator SitemapGenerator es la forma más sencilla de generar sitemaps en Ruby. La integración con Rails proporciona acceso a los ayudantes de ruta de Rails dentro de nuestro fichero de configuración del sitemap y automáticamente pone a nuestra disposición las tareas de rake. O si preferimos utilizar otro framework, ¡podemos hacerlo! Podemos utilizar las tareas rake proporcionadas o ejecutar nuestros sitemap configs como simples scripts ruby. Sitemaps en formato XML: El formato del protocolo Sitemap consiste en etiquetas XML. Todos los valores de datos de un sitemap deben ser entity-escaped. El propio archivo debe estar codificado en UTF-8. El sitemap debe: Comienza con una etiqueta de apertura y termina con una etiqueta de cierre. Especifique el espacio de nombres (protocolo estándar) dentro de la etiqueta. Incluir una entrada para cada URL, como etiqueta XML padre. Incluya una entrada hija para cada etiqueta padre. El resto de etiquetas son opcionales. Además, todas las URL de un sitemap deben proceder de un único host, como www.xyz.com o estore.xyz.com. Para más información: https://www.sitemaps.org/protocol.html Cómo añadir un mapa del sitio a una aplicación Rails: 1) Vista para su mapa del sitio: # app/views/mysitemap/index.xml.erb
2) En su controlador:
Que sea nuestro objeto en la vista es @articles variable. Se necesita para obtener que a partir de un controlador mysitemap:
# app/controllers/mysitemap_controller.rb
MysitemapController < ApplicationController
layout nil
def index
headers['Content-Type'] = 'application/xml'
respond_to do |formato|
format.xml {@articles = Article.all}
end
end
end
3) Añade una ruta:
# config/rutas.rb
get 'sitemap.xml', :to => 'sitemap#index', :defaults => {:format => 'xml'}
Cómo convertir un archivo XML en HTML:
Un archivo XML de ejemplo;
# prueba1.xml
http://localhost:3000/magazines
2016-10-03T12:40:39+00:00
semanal
1.0
http://localhost:3000/magazines/1
2015-05-07T04:00:00+00:00
1.0
http://localhost:3000/magazines/2
2015-05-07T04:00:00+00:00
1.0
http://localhost:3000/magazines/4
2015-05-07T04:00:00+00:00
1.0
1) Utilizando un fragmento de Ruby con la gema Nokogiri:
Instalando Nokogiri:
https://nokogiri.org/tutorials/installing_nokogiri.html
Fragmento de código:
siteMapUrls = Nokogiri::XML(File.open('prueba1.xml')).xpath("//url/loc").each do |nodo|
puts nodo.texto_interno
end
2) Uso de Javascript:
Añade una etiqueta Table inside;
Incluye este script;
3) Utilización de un archivo XSL:
Crear un archivo XSL # test_style_sheet.xsl
Mi colección de enlaces de Sitemap
Mapa del sitio | Última modificación |
---|---|
Su archivo View:
# mysitemap.rb
require 'wayback_archiver'
require 'sitemap-parser'
require 'open-uri'
require 'nokogiri'
siteMapUrl = ARGV[0]
if !siteMapUrl.nil?
Nokogiri::XML(File.open('test1.xml')).xpath("//url/loc").each do |node|
siteMapLink = nodo.contenido
subSiteMapLink = SitemapParser.new siteMapLink
arraySubSiteMapLink = subSiteMapLink.to_a
(0..arraySubSiteMapLink.length-1).each do |j|
WaybackArchiver.archive(arraySubSiteMapLink[j], :url)
end
end
end
Ejecute el script en Ruby prompt:
ruby mysitemap.rb URL, sustituyendo la URL por el mapa del sitio.
El fragmento de código del mapa del sitio puede requerir cambios en función de los nombres de las etiquetas de los nodos.
Valide el mapa del sitio y envíelo a Google:
Registre su sitio en las Herramientas para webmasters de Google.
A partir de ahí, podemos validar y enviar el mapa del sitio para su rastreo.
Por último, deberíamos poder ver una serie de URL en nuestro mapa del sitio.