ruby on rails - रेल परियोजनाओं के लिए Google साइटमैप फ़ाइलें




ruby-on-rails sitemap (4)

अब rails3 के लिए, पूर्ण विशेषताओं वाले sitemap_generator मणि का उपयोग करना बेहतर है।

क्या रेल परियोजनाओं के लिए साइटमैप फ़ाइल बनाने का एक आसान तरीका है? विशेष रूप से गतिशील साइटों (जैसे कि उदाहरण के लिए स्टैक ओवरफ्लो) में डायनामिक रूप से साइटमैप फ़ाइल बनाने का एक तरीका होना चाहिए। रूबी और / या रेल में जाने का रास्ता क्या है?

आप क्या सुझाव देंगे? क्या कोई अच्छा रत्न है?


मुझे जॉन टॉपले का जवाब पसंद है क्योंकि यह एक रत्न की आवश्यकता के बिना इतना सरल और सुरुचिपूर्ण है। लेकिन यह थोड़ा दिनांकित है, इसलिए मैंने रेल्स 4 और Google वेबमास्टर टूल्स के नवीनतम साइटमैप दिशानिर्देशों के लिए उनके उत्तर को अपडेट कर दिया है।

config / routes.rb:

get 'sitemap.xml', :to => 'sitemap#index', :defaults => { :format => 'xml' }

एप्लिकेशन / नियंत्रक / sitemap_controller.rb:

class SitemapController < ApplicationController
  layout nil

  def index
    headers['Content-Type'] = 'application/xml'
    last_post = Post.last
    if stale?(:etag => last_post, :last_modified => last_post.updated_at.utc)
      respond_to do |format|
        format.xml { @posts = Post.all }
      end
    end
  end
end

एप्लिकेशन / विचारों / साइटमैप / index.xml.haml:

!!! XML
%urlset{:xmlns => "http://www.sitemaps.org/schemas/sitemap/0.9"}
  - for post in @posts
    %url
      %loc #{post_url(post)}/
      %lastmod=post.updated_at.strftime('%Y-%m-%d')
      %changefreq monthly
      %priority 0.5

आप इसे लोकलहोस्ट करके ला सकते हैं: 3000 / साइटमैप। xml।


यहाँ रूबी ऑन रेल्स: रूबी ऑन रेल्स साइटमैप प्लगइन में साइटमैप बनाने के लिए एक प्लगइन है । यह अधिकांश साइटमैप तर्क और पीढ़ी का ख्याल रखता है। प्लगइन मेरे होमपेज से है।

उदाहरण विन्यास:

Sitemap::Map.draw do

  # default page size is 50.000 which is the specified maximum at http://sitemaps.org.
  per_page 10

  url root_url, :last_mod => DateTime.now, :change_freq => 'daily', :priority => 1

  new_page!

  Product.all.each do |product|
    url product_url(product), :last_mod => product.updated_at, :change_freq => 'monthly', :priority => 0.8
  end

  new_page!

  autogenerate  :products, :categories,
                :last_mod => :updated_at,
                :change_freq => 'monthly',
                :priority => 0.8

  new_page!

  autogenerate  :users,
                :last_mod => :updated_at,
                :change_freq => lambda { |user| user.very_active? ? 'weekly' : 'monthly' },
                :priority => 0.5

end

सबसे अच्छा संबंध है, लास


यह लेख बताता है कि एक साइटमैप कैसे उत्पन्न किया जा सकता है।

मूल रूप से एक नियंत्रक बनाना चाहिए जो सभी पृष्ठों (जैसे आपके पोस्ट) पाता है और एक XML फ़ाइल में डाला जाता है। आगे आप Google को XML फ़ाइल के स्थान के बारे में बताते हैं और जब आपकी वेबसाइट अपडेट होती है।

एक साधारण Google रेल साइटमैप क्वेरी में मूल रूप से एक ही बात बताते हुए कई अन्य लेखों का पता चलता है।







google-webmaster-tools