sitemap

Буквально пару дней, как яндекс стал поддерживать 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>

Метки: , , , , , , ,

Оставьте свой отзыв!

Вам нужно войти, чтобы оставить комментарий.