2016-02-03 2 views
0

У меня есть приложения ROR, которые продают такие предметы, как стул, стол и т. Д. Я использую gem sitemap_generator для создания карты сайта. Вот код моего сайта:Ruby on Rails карта сайта

# Set the host name for URL creation 
SitemapGenerator::Sitemap.default_host = "http://www.example.com" 

SitemapGenerator::Sitemap.create do 
    add '/products', :priority => 0.7, :changefreq => 'daily' 
end 

Когда я запускаю команду rake sitemap:refreshsitemap.xml.gz создается в общей папке. Мой robots.txt следующим образом:

# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file 
# 
# To ban all spiders from the entire site uncomment the next two lines: 
# User-agent: * 
# Disallow:/
Sitemap: http://www.example.com/sitemap.xml.gz 

бы это значит, все мои продукты на www.example.com/products будут доступны для Google индексировать?

Спасибо!

+0

Просто скачайте свой файл Sitemap с сайта http: // www.example.com/ sitemap.xml.gz, и вы увидите те же URL-адреса, что и Google, когда он загрузит файл ... – spickermann

+0

@spickermann благодарит. Это то, что я вижу ' http://www.example.com 2016-02-03T20: 56: 42 + 08: 00 всегда 1,0 HTTP: //www.example. ком/продукты 2016-02-03T20: 56: 42 + 08: 00 ежедневно 0,7 ' – d3bug3r

ответ

1

Во-первых, вам лучше использовать помощники URL, а не явные пути. Таким образом, если пути когда-нибудь измениться из-за изменения в файл routes.rb, вам не нужно беспокоиться о вашей карте сайта является неправильным:

SitemapGenerator::Sitemap.create do 
    add products_url, priority: 0.7, changefreq: 'daily' 
end 

Далее, продукты URL-адрес вы добавили выше, только добавить /products на карту сайт , Вы можете добавить каждый отдельный продукт, в зависимости от частоты их меняющейся:

SitemapGenerator::Sitemap.create do 
    add products_path, priority: 0.7, changefreq: 'daily' 

    Product.all.each do |product| 
    add product_path(product), priority: 0.7, changefreq: 'daily' 
    end 
end 

Очевидно, что вам нужно будет вызвать карту сайта обновления каждый раз при добавлении/удалении продукта.

+0

спасибо джон. Итак, теперь google будет проходить через каждый из продуктов? Я прав? Итак, для каждого продукта мне нужно правильно использовать itemprop для схемы? – d3bug3r

+0

Вы говорите о «Microdata», который является разметкой на вашей странице, чтобы сообщить поисковой системе, что такое контент на странице. Я не вижу, как это применимо к вашей карте сайта. – Jon