class SiteHealth::MissingDescription

Checks if HTML-meta description is present

Protected Instance Methods

check() click to toggle source
# File lib/site_health/checkers/missing_description.rb, line 22
def check
  return if page.redirect?

  description_meta = page.search('//meta').detect do |meta|
    name = (meta.attributes['name'] || meta.attributes['http-equiv']).to_s.strip
    name == 'description'
  end

  unless description_meta
    return add_issue_type(:missing_tag)
  end

  description = description_meta.attributes['content'].to_s.strip
  if description.empty?
    return add_issue_type(:missing)
  end

  if description.length <= 50
    return add_issue_type(:too_short)
  end

  if description.length > 300
    return add_issue_type(:too_long)
  end
end