docs: add SEO meta keywords to all pages#69
Conversation
Adds per-page keywords meta tags targeting scale brands, export targets, and common search terms. Also adds global keywords in VitePress config and updates OG description to include Strava.
There was a problem hiding this comment.
Pull request overview
This PR adds SEO-focused <meta name="keywords"> tags across the VitePress documentation site, using both page-level frontmatter head entries and a global head entry in the VitePress config, and updates the Open Graph description to mention Strava.
Changes:
- Add per-page frontmatter
headkeywords meta tags to key documentation pages. - Add a global keywords meta tag in
docs/.vitepress/config.ts. - Update
og:descriptionto include Strava.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/.vitepress/config.ts | Adds a global keywords meta tag and updates OG description to include Strava. |
| docs/index.md | Adds keywords meta tag to the home/landing page. |
| docs/guide/getting-started.md | Adds keywords meta tag for install/setup search terms. |
| docs/guide/supported-scales.md | Adds keywords meta tag listing supported scale brands/models. |
| docs/guide/configuration.md | Adds keywords meta tag for configuration-related searches. |
| docs/guide/esp32-proxy.md | Adds keywords meta tag for ESP32 proxy / BLE-to-MQTT searches. |
| docs/exporters.md | Adds keywords meta tag covering exporter targets (Garmin, Strava, MQTT, etc.). |
| docs/body-composition.md | Adds keywords meta tag for body composition and BIA-related searches. |
| docs/multi-user.md | Adds keywords meta tag for multi-user/family scale scenarios. |
| docs/troubleshooting.md | Adds keywords meta tag for common BLE/BlueZ/D-Bus troubleshooting searches. |
| docs/alternatives.md | Adds keywords meta tag for comparison/alternative solution searches. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| [ | ||
| 'meta', | ||
| { | ||
| name: 'keywords', | ||
| content: | ||
| 'ble scale, smart scale, body composition, garmin connect, strava, bluetooth scale, weight sync, raspberry pi, home assistant, mqtt, self-hosted, docker, body fat, impedance', | ||
| }, | ||
| ], |
There was a problem hiding this comment.
Adding a global <meta name="keywords"> here will be concatenated with each page’s frontmatter head entries, resulting in multiple <meta name="keywords"> tags on pages that also define per-page keywords. Consider removing the global keywords tag (and rely on per-page), or implement a single-source approach (e.g., only global defaults for pages without page-level keywords, or a build-time dedupe).
| [ | |
| 'meta', | |
| { | |
| name: 'keywords', | |
| content: | |
| 'ble scale, smart scale, body composition, garmin connect, strava, bluetooth scale, weight sync, raspberry pi, home assistant, mqtt, self-hosted, docker, body fat, impedance', | |
| }, | |
| ], |
| 'meta', | ||
| { | ||
| property: 'og:description', | ||
| content: | ||
| 'Automatic body composition sync from BLE smart scales to Garmin Connect, Home Assistant, InfluxDB and more.', | ||
| 'Automatic body composition sync from BLE smart scales to Garmin Connect, Strava, Home Assistant, InfluxDB and more.', | ||
| }, |
There was a problem hiding this comment.
og:description was updated to mention Strava, but the site-level description above still omits Strava. This creates inconsistent metadata across the site (and depending on theme usage, could show different descriptions in different contexts). Consider updating the top-level description to match the updated OG description.
Summary
<meta name="keywords">tags to all 10 content pages (landing, getting started, supported scales, configuration, ESP32 proxy, exporters, body composition, multi-user, troubleshooting, alternatives)Keywords target scale brand names, export targets, common search terms, and technical queries.