Class: Abqari::Audit::SEO
Overview
SEO rule. Catches:
- Missing meta descriptions
- Title / description length problems
- Duplicate titles across pages
- Missing og:image (info — no social-share preview)
- Workshops without Event JSON-LD
- Publications without Book JSON-LD
Redirect stubs (meta-refresh-only pages) are skipped — they're not user-facing content, so SEO rules don't apply.
Constant Summary collapse
- TITLE_MAX_CHARS =
60- DESC_MAX_CHARS =
160
Instance Method Summary collapse
Methods inherited from Rule
Constructor Details
This class inherits a constructor from Abqari::Audit::Rule
Instance Method Details
#run ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/abqari/audit/seo.rb', line 19 def run titles = {} html_files.each do |file| url = page_url(file) html = File.read(file, encoding: 'UTF-8') next if html.include?('http-equiv="refresh"') check_title(html, url, titles) check_description(html, url) check_og_image(html, url) check_workshop_event_jsonld(html, url) check_publication_book_jsonld(html, url) end flag_duplicate_titles(titles) end |