today_ai_weather/config/sitemap.rb
songtianlun a0516f731c feat: add SEO meta tags and sitemap generation
- Introduced `SeoConcern` module to handle SEO meta tags
- Integrated `meta-tags` gem for customizable meta tags
- Created `RefreshSitemapWorker` to automate sitemap updates
- Added relevant meta tags in controllers for weather art and cities
- Configured sitemap generation settings

These changes improve the SEO of the application by ensuring that
pages have appropriate meta tags. Additionally, a sitemap is now
generated and refreshed daily, enhancing site visibility to search
engines.
2025-01-23 19:02:52 +08:00

49 lines
1.5 KiB
Ruby

# Set the host name for URL creation
SitemapGenerator::Sitemap.default_host = "https://todayaiweather.com"
SitemapGenerator::Sitemap.create do
add root_path, changefreq: 'daily', priority: 1.0
add cities_path, changefreq: 'daily', priority: 0.9
add arts_path, changefreq: 'daily', priority: 0.9
City.find_each do |city|
add city_path(city),
changefreq: 'daily',
priority: 0.8,
lastmod: city.updated_at
end
WeatherArt.includes(:city).find_each do |art|
add city_weather_art_path(art.city, art),
changefreq: 'daily',
priority: 0.7,
lastmod: art.updated_at,
images: [{
loc: url_for(art.image),
title: "#{art.city.name} Weather Art - #{art.weather_date.strftime('%B %d, %Y')}"
}] if art.image.attached?
end
# Put links creation logic here.
#
# The root path '/' and sitemap index file are added automatically for you.
# Links are added to the Sitemap in the order they are specified.
#
# Usage: add(path, options={})
# (default options are used if you don't specify)
#
# Defaults: :priority => 0.5, :changefreq => 'weekly',
# :lastmod => Time.now, :host => default_host
#
# Examples:
#
# Add '/articles'
#
# add articles_path, :priority => 0.7, :changefreq => 'daily'
#
# Add all articles:
#
# Article.find_each do |article|
# add article_path(article), :lastmod => article.updated_at
# end
end