# Add a canonical URL and fix two setup steps Branch `feature/canonical-and-setup-fixes` ## What changed - **Canonical URL:** `public/index.html` now has ``. Search engines then treat `https://monoexp.com/` as the page's one address, which matches the redirect from `www.monoexp.com`. Nothing visible changes. - **README, first deploy:** - The Admin's clone now uses HTTPS (`https://git.monoexp.com/bajdev/home.git`). The SSH address needs a key registered in Gogs, which the Admin's server account doesn't have, so the clone failed with "permission denied". - Claude's first deploy is now `rsync -rlt -O --delete`. The previous `deploy-static` instruction fails when the Admin owns the folder: `rsync -a` tries to change the folder's own permissions and timestamp, which only the owner can do. That's how the first deploy was actually done on 27 Oct. - **README, adding a project:** says merging deploys automatically, since the site is now on the pipeline. ## Notes - This is the home page's first pull request on the merge-to-deploy pipeline, so it doubles as the pipeline test: merging it should publish the canonical tag on its own. - The pipeline publishes only `public/`. The README changes stay in the repo. ## Testing - Served `public/` locally: the page includes the canonical tag and looks unchanged. - Before merging, the live page has no canonical tag. After merging, it should, with a new `deploy/monoexp.com/…` tag in Gogs on the merge commit and a line in `/var/log/deploys.log`. ## Screenshots From the branch's `public/` folder served locally. The page doesn't change visibly. | Desktop | Mobile | |---|---| | [![Desktop](desktop.png)](desktop.png) | [![Mobile](mobile.png)](mobile.png) | 🤖 Generated with [Claude Code](https://claude.com/claude-code)