Local-SEO skills for server-rendered, multi-location marketing sites.
Every rule here prevents a failure that is easy to ship and hard to notice — the kind that looks fine in the markup, passes review, and quietly costs you the ranking. The failure is recorded next to the rule on purpose: a rule without its failure gets "simplified" away by the next person who reads it.
| Skill | Covers |
|---|---|
seo-playbook |
Start here. Cross-cutting rules: head contract, canonicals, host-derived indexing, robots.txt, sitemaps, JSON-LD escaping, thin pages, URLs, verification, deploy traps. Routes to the page skills. |
seo-home |
Homepage and hero — the page the logo links to. H1 as category term, LCP, above-the-fold conversion, Organization schema. |
seo-products |
Catalog taxonomy, Product schema, galleries without JavaScript, faceted filters, thin subcategories. |
seo-services |
Service index and detail pages, staff-editable content, thin-service handling. |
seo-locations |
LocalBusiness schema, NAP consistency, opening hours, per-city and per-county pages, duplicate-copy avoidance. |
seo-about |
Founder story, E-E-A-T, trust pages, financing and FAQ. |
seo-header |
Crawlable nav, CSS-only keyboard-accessible dropdowns, logo markup, sticky-header CLS, skip links. |
seo-footer |
Footer NAP as a citation surface, hours markup, internal link mesh, decorative logo alt. |
seo-accessibility |
WCAG 2.2 rules for the same surfaces: keyboard operation, focus visibility under sticky headers, target size, contrast, accessible names, alt-text decisions, form labels, reflow, reduced motion. |
Load seo-playbook first, then the skill matching the surface you are touching. The page
skills do not repeat the shared rules.
seo-accessibility is the one skill that is not page-specific — load it alongside whichever
page skill you are using, any time you touch something interactive.
claude plugin marketplace add nickdemari/Bytesize-SEO
claude plugin install bytesize-seoOr from a local clone:
claude plugin marketplace add ~/dev/Bytesize-SEO
claude plugin install bytesize-seoSnippets are written against Rails 8 / ERB / Propshaft, and examples use a fictional
retailer. The snippets are Rails; the rules are not. Canonical-origin discipline,
host-derived noindex, thin-page handling, schema @id graphs and NAP consistency apply to
any stack that renders HTML on the server.
Two assumptions run through all of it:
- The site exists to be found. Crawlability, unique per-location copy and structured data are functional requirements, not polish.
- Content a crawler needs is in the initial HTML response. If a
curlof the page does not contain it, nothing else matters.
Several of these rules exist because a confident-sounding claim stays false until someone
measures it — a schema type that looks real and returns 404, a cache-control header nobody
inspected, a sitemap written during a release phase to a container that is then discarded.
When a skill here tells you to verify something with curl or a test, that is why.
MIT.