Skip to content

feat(web): SEO (sitemap/OG/JSON-LD) + contributor Issue Forms - #72

Merged
tallnato merged 1 commit into
mainfrom
feat/seo-and-contrib-forms
Jun 4, 2026
Merged

tallnato merged 1 commit into
mainfrom
feat/seo-and-contrib-forms

Conversation

@tallnato

@tallnato tallnato commented Jun 4, 2026

Copy link
Copy Markdown
Member

Summary

Improves search/social discoverability of the catalog site and adds a no-code path for non-technical contributors to propose content.

SEO / social

  • url set to https://natobytes.com in _config.yml (baseurl stays /Volts) so plugins emit absolute URLs.
  • jekyll-sitemap added (Gemfile :jekyll_plugins + _config.yml plugins list). Generates sitemap.xml + robots.txt at build.
  • OpenGraph / Twitter-card meta added to _layouts/default.html <head> (title/description/url/site_name; og:image + summary_large_image when a thumbnail exists), reinforcing the existing {% seo %} tag and guarding for missing front matter.
  • Per-item JSON-LD added to _layouts/item.html: schema.org MediaObject for audio categories (light shows, lock sounds, boombox, horn sounds) and CreativeWork otherwise (wraps), with name/author/description/category(genre)/keywords and absolute image/contentUrl. All fields guarded and jsonify-escaped.

Contribution (no coding required)

  • New GitHub Issue Forms under .github/ISSUE_TEMPLATE/:
    • config.yml — chooser config linking the existing PR templates and SCHEMA.md.
    • submit-content.yml — "Submit content (no coding required)" form capturing category, title, author, description, tags, and a files link/upload field, plus a licensing confirmation. Complements the existing per-category PR templates.

CI

  • Added a non-blocking npm audit --audit-level=high step to .github/workflows/build-check.yml to surface high/critical advisories on PRs.

Verification

  • npm run build succeeds (23 items, 5 categories) and npm run validate exits 0 (only pre-existing placeholder-stub warnings).
  • bundle exec jekyll build (Jekyll 4.4, jekyll-seo-tag 2.9, jekyll-sitemap 1.4) succeeds locally:
    • sitemap.xml + robots.txt generated with absolute https://natobytes.com/Volts/... URLs.
    • OG/Twitter meta and per-item JSON-LD render correctly with single (non-doubled) /Volts/ paths; JSON-LD parses as valid JSON.
  • All new/edited YAML parses via python3 yaml.safe_load; Issue Form structure checked against the Issue Forms schema (types, required dropdown/checkbox options, unique ids).

Did not touch scripts/build.ts or SCHEMA.md (owned by the other agent).

🤖 Generated with Claude Code

Improve discoverability and lower the bar for non-technical contributors.

SEO / social:
- Set site `url` to https://natobytes.com (baseurl stays /Volts) so
  jekyll-seo-tag and jekyll-sitemap emit absolute URLs.
- Add the jekyll-sitemap plugin (Gemfile :jekyll_plugins + _config.yml
  plugins list); it generates sitemap.xml and robots.txt at build.
- Add explicit OpenGraph / Twitter-card meta to the default layout head
  (title/description/url/site_name, plus og:image + summary_large_image
  when a thumbnail exists), reinforcing the {% seo %} baseline and
  guarding for missing front matter.
- Add per-item schema.org JSON-LD in the item layout (MediaObject for
  audio categories, CreativeWork otherwise) with name/author/description/
  category/keywords and absolute image/contentUrl links, all guarded and
  jsonify-escaped.

Contribution:
- Add GitHub Issue Forms under .github/ISSUE_TEMPLATE/ — a config.yml
  chooser (linking the PR templates + SCHEMA.md) and a "Submit content
  (no coding required)" form capturing category/title/author/description/
  tags and a files link-or-upload field, so non-coders can propose content.

CI:
- Add a non-blocking `npm audit --audit-level=high` step to build-check
  to surface high/critical dependency advisories on PRs.

Verified: `npm run build` + `npm run validate` pass; `bundle exec jekyll
build` succeeds locally with sitemap.xml/robots.txt generated and valid
OG meta + JSON-LD rendered; all new YAML parses via PyYAML.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added site Changes to site layouts, includes, and config ci Changes to CI/CD and scripts labels Jun 4, 2026
@tallnato
tallnato merged commit 40c4b04 into main Jun 4, 2026
4 checks passed
@tallnato
tallnato deleted the feat/seo-and-contrib-forms branch June 4, 2026 17:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Changes to CI/CD and scripts site Changes to site layouts, includes, and config

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant