Skip to content

Improve the website's SEO - #12

Merged
mategogiberidze merged 1 commit into
mainfrom
seo/site
Oct 21, 2026
Merged

mategogiberidze merged 1 commit into
mainfrom
seo/site

Conversation

@mategogiberidze

Copy link
Copy Markdown
Owner

What does this change?

Makes https://meshand.app easier to find and nicer to share.

Landing page

  • Title "MeshAnd: your Meshtastic team live on the OsmAnd map" (52 chars) and a 158-character description mentioning Android, Bluetooth, OsmAnd and offline use.
  • Open Graph: og:site_name, og:locale, image alt; the social image is now served from meshand.app/images/social-preview.png (copied from docs/images/ at build time) instead of raw.githubusercontent.com.
  • A real /favicon.svg (search engines don't read data-URI favicons) and a 180 px apple-touch-icon.png.
  • JSON-LD: WebSite (site name in results) and SoftwareApplication (free, Android 7+, download, release notes, help, licence, features). No ratings or reviews, since we have none.
  • A visible FAQ that answers the questions people search for: offline use, which radios, OsmAnd Pro, whether you still need the Meshtastic app, how often positions update, iPhone, price. Answers come from README and docs.
  • "Learn more" drops the "All guides" card (8 cards, no orphan); the top bar still has Guides.

Site root (now site/public/)

  • robots.txt listing both sitemaps, sitemap.xml for the landing page (MkDocs makes /docs/sitemap.xml).
  • A branded 404.html (noindex) with links home and to the guides. GitHub Pages serves it for any missing path.

Guides (MkDocs)

  • Each page gets its own <title> and meta description from site/hooks.py, so docs/*.md need no front matter (GitHub would show it as a table). For example "Meshtastic radio setup for live team tracking - MeshAnd".
  • Open Graph tags on every guide page via site/theme/main.html. site_name is now "MeshAnd"; sidebar labels are unchanged.

AGENTS.md describes the new files and asks to keep JSON-LD and FAQ answers true to the app.

Type of change

  • Bug fix
  • New feature
  • UI / design
  • Docs only
  • Build, CI or refactoring

How was it tested?

No app code changed (CI's build should be skipped by the new path filter). ./site/build.sh builds with --strict; the JSON-LD parses; checked titles, descriptions and canonical/OG URLs in the built pages, and looked at the FAQ and 404 page in headless Chrome.

Checklist

  • Doesn't log channel keys, radio configuration or other secrets
  • Doesn't make MeshAnd transmit anything new to the mesh (or this was agreed in a discussion first)
  • User-visible changes are added to CHANGELOG.md under the next version (not an app change)
  • README / docs / AGENTS.md updated if something they say is no longer true
  • AI tools were used for this change: yes

🤖 Generated with Claude Code

Landing page: a sharper title and description, og:site_name/locale and
image alt, the social image served from meshand.app, a real favicon and
apple-touch-icon, JSON-LD (WebSite + SoftwareApplication), and a visible
FAQ answering common searches (offline use, radios, OsmAnd Pro, the
Meshtastic app, update rate, iPhone, price).

Site root: robots.txt pointing to both sitemaps, a sitemap for the
landing page, and a branded 404 page (noindex). The root files move to
site/public/.

Guides: each page gets its own title and description from
site/hooks.py, so docs/*.md stay free of front matter, and Open Graph
tags from site/theme/main.html. The site name is now "MeshAnd".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@claude

claude Bot commented Oct 21, 2026

Copy link
Copy Markdown

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

🤖 Generated with Claude Code

@mategogiberidze
mategogiberidze merged commit 27af0ed into main Oct 21, 2026
3 checks passed
@mategogiberidze
mategogiberidze deleted the seo/site branch October 21, 2026 21:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant