sitemap
Четверг, 5 июня, 2008Буквально пару дней, как яндекс стал поддерживать sitemap
появился раздел “Файлы Sitemap” в панели вебмастера, где можно добавить путь к этому файлу.
также путь можно указать в robots.txt
User-agent: Yandex
Sitemap: http://sumskyi.com/sitemap.xml
выкладываю маленькую штуку для генерирования этих самых сайтмапов из базы данных MySQL
required: ruby, activerecord (часть ruby on rails, ror)
Это походу и маленькое руководство по использованию activerecord без рельсов
размазано по 3м файлам
- данных для коннекта
- код
- шаблон
шаблон содержит только обязательные параметры формата sitemap.
bin/db.yml:
adapter: mysql
database: sumskyi
username: root
password: ~
host: localhost
encoding: utf8
bin/sitemap.rb:
#!/usr/bin/env ruby
require 'rubygems'
require 'activerecord'
require 'erb'
cur_dir = File.dirname(__FILE__)
template = File.read("#{cur_dir}/sitemap.erb")
dbconfig = YAML::load(File.open("#{cur_dir}/db.yml"))
ActiveRecord::Base.establish_connection(dbconfig)
class Article < ActiveRecord::Base
end
@urls = Article.find(:all, :select => 'id, link, DATE_FORMAT(created_at, "%Y-%m-%d") as cr', :order => "id ASC")
sitemap = ERB.new(template).result(binding)
file = File.new('../sitemap.xml', 'w+')
file.puts sitemap
file.close
bin/sitemap.erb:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><% for url in @urls %>
<url>
<loc>http://sumskyi.com/articles/<%= url.link %></loc>
<lastmod><%= url.cr %></lastmod>
</url><% end %>
</urlset>