サイトマップを生成して Rails アプリケーションに追加する方法

サイトマップを使用すると、Web サイトに独自の一連の利点がもたらされます。これにより、Web サイトのスムーズなナビゲーションと検索エンジンの視認性の向上という点で大きな価値が得られるだけでなく、Web サイトでサイト上で発生した変更について検索エンジンに即座に通知できるようになります。これにより、サイトマップがない場合のシナリオと比較して、変更 Web サイト ページのインデックス作成が効果的に高速化されます。サイトマップを使用すると、検索エンジンを Web サイトに誘導するための外部リンクのみへの依存が軽減されます。サイト上に壊れたリンクや孤立したページなどのエラーがあることはお勧めできませんが、誤ってそのようなエラーを修正できなかった場合にも、サイトマップは役に立ちます。

したがって、サイトに壊れた内部リンクや孤立したページがいくつかあり、他の方法ではアクセスできない場合に備えて、サイトマップは訪問者もそれらのページにアクセスできるようにすることができます。ただし、これらのエラーが最初から Web サイトに侵入しないようにする方が良いに越したことはありません。

したがって、この記事では、サイトマップを生成して Rails アプリケーションに追加する方法についてすべて説明する予定です。 サイトマップを生成: 必要なジェム: サイトマップジェネレーター:- https://github.com/kjvarga/sitemap_generator SitemapGenerator は、Ruby でサイトマップを生成する最も簡単な方法です。 Rails の統合により、サイトマップ構成ファイル内の Rails ルート ヘルパーへのアクセスが提供され、rake タスクが自動的に利用可能になります。または、別のフレームワークを使用したい場合は、それも可能です。提供されている rake タスクを使用することも、サイトマップ設定をプレーンな Ruby スクリプトとして実行することもできます。 サイトマップ XML 形式: サイトマップ プロトコル形式は XML タグで構成されます。サイトマップ内のすべてのデータ値はエンティティ エスケープする必要があります。ファイル自体は UTF-8 でエンコードされている必要があります。 サイトマップは次のことを行う必要があります。 開始タグで始まり、終了タグで終わります。タグ内にネームスペース(プロトコル規格)を指定します。各 URL のエントリを親 XML タグとして含めます。親タグごとに子エントリを含めます。他のタグはすべてオプションです。また、サイトマップ内のすべての URL は、www.xyz.com や estore.xyz.com などの単一ホストからのものである必要があります。詳細については: https://www.sitemaps.org/protocol.html Rails アプリにサイトマップを追加する方法: 1) サイトマップを表示します:
 # アプリ/ビュー/mysitemap/index.xml.erb
2) コントローラーで: @articles 変数をビュー内のオブジェクトにします。それを mysitemap コントローラーから取得する必要があります。
# app/controllers/mysitemap_controller.rb MysitemapController < ApplicationController レイアウト nil def Index headers['Content-Type'] = 'application/xml' Reply_to do |format| format.xml {@articles = Article.all} 終了 終了 終了
3) ルートを追加します。
# config/routes.rb get 'sitemap.xml', :to => 'sitemap#index', :defaults => {:format => 'xml'}
XML ファイルを HTML に変換する方法: サンプル XML ファイル。
# テスト1.xml http://localhost:3000/magazine 2016-10-03T12:40:39+00:00 毎週 1.0 http://localhost:3000/magazine/1 2015-05-07T04:00:00+00:00 1.0 http ://localhost:3000/magazine/2 2015-05-07T04:00:00+00:00 1.0 http://localhost:3000/magazine/4 2015-05-07T04:00:00+00:00 1.0

1) Nokogri gem で Ruby スニペットを使用する: Nokogiri のインストール: https://nokogiri.org/tutorials/installing_nokogiri.html コードスニペット:
siteMapUrls = Nokogiri::XML(File.open('test1.xml')).xpath("//url/loc").each do |node| node.inner_text を終了します
2) JavaScript を使用する:
タグ内にテーブルを追加します。


このスクリプトを含めます。

3) XSL ファイルの使用: XSL ファイル # test_style_sheet.xsl を作成します

私のサイトマップ リンク コレクション

サイトマップ 最終更新日

  
  

ビュー ファイル:


  


  
4) JQuery (parseXML) の使用: $.parseXML() を使用すると非常に簡単です。例: http://jsfiddle.net/ecQQn/

  
サイトマップ XML ファイルからすべてのリンクを取得するには: Google に送信したいすべてのリンクを含むサイトマップがある場合、複数の URL を送信する簡単な方法です。 宝石が必要です: 1.ウェイバックアーカイバ https://github.com/buren/wayback_archiver sitemap.xml (http://www.sitemaps.org)、単一の URL、または URL を含むファイルから URL を Wayback Machine に送信します。 WaybackArchiver に Web サイトをクロールして URL を取得するように依頼することもできます。 2.サイトマップパーサー https://github.com/benbalter/sitemap-parser Ruby Gem による sitemaps.org 準拠のサイトマップの解析 3.OpenURI https://ruby-doc.org/stdlib-2.1.0/libdoc/open-uri/rdoc/OpenURI.html OpenURI は、Net::HTTP、Net::HTTPS、および Net::FTP の使いやすいラッパーです。 4.鋸切 https://github.com/sparklemotion/nokogiri Nokogiri は、XPath および CSS セレクターをサポートする HTML、XML、SAX、および Reader パーサーです。
# mysitemap.rb require 'wayback_archiver' require 'sitemap-parser' require 'open-uri' require 'nokogari' siteMapUrl = ARGV[0] if !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) 終了 終了 終了
Ruby プロンプトでスクリプトを実行します:ruby mysitemap.rb URL (サイトマップの URL を置き換えます)。サイトマップのコード スニペットは、ノード タグ名に応じて変更が必要になる場合があります。 サイトマップを検証して Google に送信します。 Google ウェブマスター ツールにサイトを登録します。そこから、サイトマップを検証してクロール用に送信できます。最後に、サイトマップにいくつかの URL が表示されるはずです。
ルバイブ・シージェイ
シニア Ruby on Rails 開発者

最新のアップデートを購読する

関連記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

jaJapanese