Metadata, robots, sitemap, error pages and a real test toolchain
The SEO layer was pulled into one place and the site started publishing the files crawlers expect.
- Site-wide SEO values live in one module and every page builds its canonical, Open Graph and Twitter metadata through the same helper.
- robots.txt and the XML sitemap are generated routes; the title template renders "Page | PostHub" everywhere.
- Custom 404, error and global-error pages so a broken URL fails with the site around it instead of a bare white screen.
- A password-reset flaw that could hand an account to whoever held the link was closed.
- Vitest, Prettier and an ESLint config were installed so typecheck, lint and unit tests run in CI on every push and pull request.