Site Map im RSS / Atom-Format mit Ruby on Rails erstellt

Ich war für die Erstellung von RSS-Feeds für SEO-Maßnahmen auf meiner Website verantwortlich. Notieren Sie sich daher, wie das geht.

Warum ist RSS für SEO-Maßnahmen?

Lassen Sie uns vorher die Sitemap überprüfen.

Eine Sitemap ist eine "Datei, die auf dem Server abgelegt wird, damit der Crawler die Seite leichter finden kann". Es gibt die folgenden Arten von Sitemaps.

XML-Site-Map

RSS / Atom-Feed

--Schreiben Sie nur die letzten Änderungen.

Die Site, für deren Entwicklung ich verantwortlich bin, ist eine Site, die Veranstaltungsinformationen veröffentlicht und Kunden anzieht ** Mehr neue Seiten pro Tag ** → Ich möchte, dass Sie die neuen und hinzugefügten Seiten ** so schnell wie möglich crawlen ** → Ich habe beschlossen, einen RSS / Atom-Feed sowie eine Sitemap einzurichten.

RSS-Feed-Erstellung

Standardbibliothek

Rails verfügt über eine Standardbibliothek (https://docs.ruby-lang.org/ja/latest/library/rss.html) für die Verarbeitung von RSS, die Sie nur verwenden können, wenn Sie sie benötigen.

require 'rss'

Feed-Erstellungsprozess

Und wo Sie einen RSS-Feed erstellen möchten

##
# [param] event_list :Liste der Einträge, die in den Feed eingefügt werden sollen
#
def create_rss_feed(event_list)
  #Diesmal Atom1.Erstellt im 0-Format
  feed = RSS::Maker.make('atom') do |maker|
    maker.channel.about = 'tag:sample.com:feed' #Eine ID, die den Feed eindeutig identifiziert. Vielleicht etwas Einzigartiges.
    maker.channel.title = "Neues Event" #Feed-Titel
    maker.channel.description = "Vorstellung der neuesten Informationen zur Veranstaltung." #Feedbeschreibung
    maker.channel.link = 'https://sample.com/' #Seiten-URL
    maker.channel.author = 'Veranstaltungssekretariat' #Feed-Ersteller
    maker.channel.date = .strftime('%Y-%m-%d %H:%M:%S') #Datum und Uhrzeit der letzten Aktualisierung des Feeds

    event_list.each_with_index do |event|
      maker.items.new_item do |item|
        item.link = event.url #Detailseiten-URL
        item.title = event.title #Detail Seitentitel
        item.date = event.start_time.strftime('%Y-%m-%d %H:%M:%S') #Termine für Veranstaltungen, Veröffentlichungstermine für Artikel usw.
      end
    end
  end
  render xml: feed.to_xml
end

Wenn Sie einen solchen Prozess schreiben und ausführen Der RSS-Feed wird so im Browser angezeigt! Dieses Mal habe ich es in einem Format namens Atom erstellt, aber wenn ich es in einem anderen Format erstellt habe

RSS::Maker.make('atom')


 Wenn Sie beispielsweise RSS 2.0 verwenden, sollte dieser "Atom" -Teil in "2.0" geändert werden.


## abschließend
 Die Standardbibliothek wurde vorbereitet, sodass sie in kürzester Zeit fertiggestellt wurde.
 Ich finde Rails einfach unglaublich.


Recommended Posts

Site Map im RSS / Atom-Format mit Ruby on Rails erstellt
[Ruby on Rails] Test mit RSpec anzeigen
Hinweise zur Verwendung von FCM mit Ruby on Rails
[Ruby on Rails] Controller-Test mit RSpec
Einführung in Rspec mit Ruby on Rails x Docker
Veröffentlichen Sie die mit Ruby on Rails erstellte App
[Rails] Verfahren zum Verknüpfen von Datenbanken mit Ruby On Rails
Bestimmen Sie die aktuelle Seite mit Ruby on Rails
Ich habe mit Ruby On Rails ein Portfolio erstellt
Ruby on Rails Elementary
Ruby on Rails Grundlagen
Ruby On Rails Association
[Ruby on Rails] Löschen Sie s3-Bilder mit Active Strage
Führen Sie Ruby on Rails RSpec-Tests mit GitHub-Aktionen aus
Portfolioerstellung Ruby on Rails
Ruby on Rails Lernrekord -2020.10.04
[Ruby on Rails] Debuck (bindend.pry)
Ruby on Rails Lernrekord -2020.10.05
Formatieren Sie Ruby mit VS-Code
Ruby on Rails lernen Rekord-2020.10.07 ②
[Rails] Geben Sie das Format mit link_to an
Ruby on Rails lernen Rekord-2020.10.07 ①
Brechen Sie die Ruby on Rails-Migration ab
Ruby on Rails Lernrekord -2020.10.06
Ruby on Rails Grundlegendes Memorandum
Ich habe versucht, das Ruby on Rails-Plugin mit vim-plug zu installieren
[Ruby on Rails] Fügen Sie eine Spalte mit externen Schlüsselbeschränkungen hinzu
[Ruby on Rails] Implementieren Sie die Anmeldefunktion von add_token_to_users mit API
Installieren Sie Ruby mit pacman auf MSYS2
[Ruby on Rails] Leseversuch (: [],: Schlüssel)
Installation von Ruby + Rails unter Ubuntu 18.04 (rbenv)
[Ruby on Rails] Paging-Funktion eingeführt
Ich möchte eine Browsing-Funktion mit Ruby on Rails hinzufügen
Erstellen einer Entwicklungsumgebung für Ruby on Rails mit Docker + VSCode (Remote Container)
Grundkenntnisse in Ruby on Rails
Progate Ruby on Rails5 Rückblick
Verwendung von Ruby on Rails
Verstehen Sie die Codeabdeckung mit Rspec, dem Ruby on Rails-Testframework
Programmieren mit Ruby (unterwegs)
Ruby on Rails Japanisch-Englisch kompatibler i18n
[Ruby on Rails] CSV-Ausgabefunktion
Ruby on Rails 6.0-Umgebungskonstruktionsnotiz
Ruby On Rails entwickelt Routing-Konflikte
[Ruby on Rails] Implementierung der Kommentarfunktion
[Ruby on Rails] DM, Chat-Funktion
[Ruby on Rails] Praktische Hilfsmethode
Schritte zum Erstellen einer Ruby on Rails-Entwicklungsumgebung mit Vagrant
Installieren Sie Ruby unter Ubuntu 20.04 mit rbenv
[Ruby on Rails] Stoppen Sie "Looping bis ..."
[Ruby on Rails] Erstellen Sie mit Chartick ein kreisförmiges Diagramm der Summen nach Spalten
[Ruby on Rails] Kein Methodenfehler: undefinierte Methode `t'for # <ActiveRecord :: Migration: 〇〇〇〇> Umgang mit Fehlern
[Ruby on Rails] Fehler, bei dem Benutzer mit ... nach dem Abmelden nicht gefunden werden konnte
[Ruby on Rails] Einführung der Anfangsdaten
[Ruby on Rails] Suchfunktion (nicht ausgewählt)