Skip to content

Give each entry a real subpage URL (SEO) #4

Description

@marsrobertson

Right now every entry lives at /#slug on the single index.html page (by design — see README: "a standard-library Python script and one HTML file"). That's great for the zero-dependency build, but #anchor URLs don't get indexed/shared well for SEO.

Proposal

Extend build.py to also emit a real subpage per entry:

  • entries/<slug>/index.html (or /<slug>/index.html at repo root) — same rendered content as the current #slug section, standalone page, own <title>/<meta description> pulled from the entry's title + "In one line".
  • Keep the single index.html register/index page as-is (don't remove it — it's the browsable list).
  • Cross-link: subpage has a "back to index" link; index pills link to the subpage instead of (or in addition to) the #slug anchor.
  • No new dependencies — same html.escape/regex-based renderer, just called once per entry into its own file.
  • .nojekyll already present, so plain directories with index.html will serve fine on GitHub Pages.

Why

  • Real canonical URLs per entry = indexable, shareable, better SEO than hash fragments.
  • Doesn't change the authoring workflow — still "add one markdown file to entries/, push to main."

Not urgent — filed as a TODO, not blocking anything.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions