- 公開日:2016年01月28日
環境
- rails 4.2.4
- ruby 2.2.2
- vagrant centos6.5
記事概要
sitemap_generatorで作ったsite_map.xmlをcapistrano3で自動デプロイできるようにしたので、そのやり方を記事にしました。
site_map.xmlとは
ページのURLリストをもとにサイトの構造を記述したxml形式のファイルです。
作成したサイトが運用フェーズになったら、必ず導入しておきたいSEO対策の技術の一つです。
site_map.xmlの一番の効果は、検索エンジンの通常のクロール処理では検出できないページを知らせることができることです。
gemのinstall
capistrano3を利用するプロジェクトにsitemap_generatorを追加します。
{project_folder}/Gemfile
gem 'sitemap_generator'
Gemfile記述後に、インストールします。
terminal
// create directory cd {project_folder} rbenv exec bundle install Installing sitemap_generator (5.1.0) Using spring (1.3.4) Using spring-commands-rspec (1.0.4) Using therubyracer (0.12.2) Using turbolinks (2.5.3) Using uglifier (2.7.1) Using unicorn (4.9.0) Your bundle is complete! It was installed into ./vendor/bundle Post-install message from sitemap_generator:
インストールが終了したら、capistrano3にsitemap_generatorの設定をします。
Capistranoでsitemap_generator
まずはCapfileに以下のreqiureを追記します。
{project_folder}/Capfile
require 'capistrano/sitemap_generator'
後はdeply.rbにsitemapの実行処理を追加します。
{project_folder}/config/deploy.rb
# webサーバー再起動時にsitemapをrefresh(サーバーに送信)する after :restart, :sitemap do on roles(:web), in: :groups, limit: 3, wait: 10 do puts "-----restart sitemap-------" # Here we can do anything such as: within release_path do with rails_env: fetch(:rails_env) do execute :rake, 'sitemap:refresh' end end end end
以上で終了です。
さらに確認、本番実行と続けていきましょう。
deployテスト
本番前にdeployのテストをします。
terminal
bundle exec cap production deploy:check
エラーが発生しなければ、本番のdeployを行います。
本番deploy
本番deployをします。せっかくなので私のアプリのdeployログを載せます。
terminal
I, [2016-01-26T06:40:47.922269 #745] INFO -- net.ssh.connection.session[3fdd4a672b9c]: channel_data: 66 29b DEBUG [159535d3] Successful ping of Google D, [2016-01-26T06:40:47.923078 #745] DEBUG -- tcpsocket[3fdd4a0a92ec]: received packet nr 465 type 94 len 44 I, [2016-01-26T06:40:47.923165 #745] INFO -- net.ssh.connection.session[3fdd4a672b9c]: channel_data: 66 27b DEBUG [159535d3] Successful ping of Bing D, [2016-01-26T06:40:47.923676 #745] DEBUG -- tcpsocket[3fdd4a0a92ec]: received packet nr 466 type 98 len 44 ... // something INFO [db1051b1] Finished in 0.102 seconds with exit status 0 (successful).
GoogleとBingにsitemapが送信されているのが確認できますね。
まとめ
Capistrano3でsitemapの自動化をしておくと、本当に便利です。
リリース作業では、手作業は最小限にしておきたいですね。
Capistrano3は本当に優れたdeployツールのなので、是非利用してください。
以上です
PICK UP オススメ書籍
運営サイト(railsで作成しています)
参考サイト
0 件のコメント:
コメントを投稿