Back to News
RSS feedgithub.com

local-seo-lint Checks Local SEO and AI-Search Errors in Static Sites

Summary

local-seo-lint is an open-source, zero-dependency Node.js CLI and GitHub Action for finding local SEO and AI-search problems in static website files. It compares business name, address, phone, and schema across pages; detects broken links, orphan pages, duplicate titles and descriptions, keyword cannibalization, missing or invalid canonicals, sitemap inconsistencies, and malformed JSON-LD. Its AI-search checks flag robots.txt rules that block crawlers such as OAI-SearchBot, ChatGPT-User, PerplexityBot, Claude-SearchBot, Bingbot, or Applebot, while leaving optional training-crawler blocks unflagged. It also warns when homepage business schema lacks sameAs links to profiles such as Google Business Profile, Facebook, LinkedIn, or Yelp. The tool runs locally, in CI, or through GitHub Actions with pull-request annotations, reads only the supplied files, and sends nothing elsewhere. A configuration file can define the business source of truth, ignored paths, overlap thresholds, and rule severities. It supports static output from plain HTML, Hugo, Jekyll, Eleventy, Astro, and static Next.js exports, but does not execute JavaScript or inspect third-party listings. Phone detection is tuned for US and Canadian formats, and complex redirect rules are not fully handled.