Användningen av webbplatskarta ger en egen uppsättning fördelar till en webbplats. Även om det kan tillföra ett betydande värde i form av smidig webbplatsnavigering och förbättrad synlighet för sökmotorerna, ger det också webbplatsen möjligheten att omedelbart informera sökmotorerna om alla förändringar som sker på webbplatsen. Detta leder till effektivare snabbare indexering av dina ändringswebbsidor jämfört med scenariot när du inte har en webbplatskarta. Att ha en webbplatskarta minskar ditt beroende enbart av externa länkar för att föra sökmotorerna till din webbplats. Även om det kanske inte är tillrådligt att ha fel som trasiga länkar eller föräldralösa sidor på din webbplats, kan en webbplatskarta hjälpa dig även i sådana fall, när du av misstag har misslyckats med att åtgärda sådana fel.
Så bara om din webbplats har ett par trasiga interna länkar eller föräldralösa sidor på sig, av misstag, som inte kan besökas på något annat sätt, kan en webbplatskarta hjälpa dina besökare att nå dem också. Men det är vilken dag som helst bättre att låta dessa fel inte göra det till din webbplats i första hand.
Så i den här artikeln planerar jag att diskutera allt om hur man genererar och lägger till en webbplatskarta till din Rails-applikation. Generera webbplatskarta: Obligatorisk pärla: Sitemapgenerator:- https://github.com/kjvarga/sitemap_generator SitemapGenerator är det enklaste sättet att skapa webbplatskartor i Ruby. Rails-integration ger tillgång till Rails-rutthjälparna i vår konfigurationsfil för webbplatskarta och gör rake-uppgifterna tillgängliga för oss automatiskt. Eller om vi föredrar att använda ett annat ramverk så kan vi det! Vi kan använda rake-uppgifterna som tillhandahålls eller köra våra webbplatskartor som vanliga ruby-skript. Webbplatskartor XML-format: Webbplatskartans protokollformat består av XML-taggar. Alla datavärden i en webbplatskarta måste vara entity-escaped. Själva filen måste vara UTF-8-kodad. Webbplatskartan måste: Börja med en öppningsbricka och avsluta med en stängningsbricka. Ange namnutrymmet (protokollstandard) i taggen. Inkludera en post för varje URL, som en överordnad XML-tagg. Inkludera en underordnad post för varje föräldratagg. Alla andra taggar är valfria. Alla webbadresser i en webbplatskarta måste också komma från en enda värd, till exempel www.xyz.com eller estore.xyz.com. För mer detaljer: https://www.sitemaps.org/protocol.html Så här lägger du till en webbplatskarta i en Rails-app: 1) Visa för din webbplatskarta: # app/views/mysitemap/index.xml.erb
2) På din Controller: Låt det vara vårt objekt i sikte är @articles variabel. Det måste hämtas från en mysitemap-kontroller:
# app/controllers/mysitemap_controller.rb MysitemapController < ApplicationController layout noll def index headers['Content-Type'] = 'application/xml' respond_to do |format| format.xml {@articles = Article.all} slutet slut slutet
3) Lägg till en rutt:
# config/routes.rb hämta 'sitemap.xml', :to => 'sitemap#index', :defaults => {:format => 'xml'}
Hur man konverterar XML-fil till HTML:
Ett exempel på XML-fil;
# test1.xml http://localhost:3000/magazines 2016-10-03T12:40:39+00:00 veckovis 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) Använda Ruby snippet med Nokogiri gem:
Installera Nokogiri:
https://nokogiri.org/tutorials/installing_nokogiri.html
Kodavsnitt:
siteMapUrls = Nokogiri::XML(File.open('test1.xml')).xpath("//url/loc").each do |node| sätter node.inner_text slut
2) Använda Javascript:
Lägg till en tabell inuti tagg;
Inkludera detta skript;
3) Använd XSL-fil:
Skapa en XSL-fil # test_style_sheet.xsl
Min webbplatskarta länkar samling
Webbplatskarta | Senast ändrad |
---|---|
Din View-fil:
# mysitemap.rb kräver 'wayback_archiver' kräver 'sitemap-parser' kräver 'open-uri' kräver 'nokogiri' siteMapUrl = ARGV[0] om !siteMapUrl.nil? Nokogiri::XML(File.open('test1.xml')).xpath("//url/loc").each do |node| siteMapLink = node.content subSiteMapLink = SitemapParser.new siteMapLink arraySubSiteMapLink = subSiteMapLink.to_a (0..arraySubSiteMapLink.length-1).each do |j| WaybackArchiver.archive(arraySubSiteMapLink[j], :url) end end end
Kör skriptet i Ruby prompt: ruby mysitemap.rb URL, ersätt webbadressen med webbplatskartan. Webbplatskartans kodavsnitt kan kräva ändringar beroende på nodtaggnamnen.
Validera webbplatskartan och skicka in den till Google:
Registrera din webbplats i Googles verktyg för webbansvariga. Därifrån kan vi validera och skicka in din webbplatskarta för genomsökning. Slutligen bör vi kunna se ett antal av webbadressen i vår webbplatskarta.