From e55317c09b57d55132f1db2127ce0fc59d9e1a03 Mon Sep 17 00:00:00 2001
From: FROWNINGdev <218313741+FROWNINGdev@users.noreply.github.com>
Date: Mon, 28 Sep 2026 02:13:02 +0500
Subject: [PATCH] seo: keyword-intent homepage title and hero tagline
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The GitHub Pages homepage had no title/description in _config.yml, so its
and meta description were the bare repo name — it ranked only for
the brand 'django-orm-lens', never for the queries people actually run
('django er diagram', 'django n+1', 'django migration linter'), where the
incumbents win and this project did not appear at all.
Adds a keyword-bearing tagline (folded into the homepage by
jekyll-seo-tag) and a meta description. The hero H3 across all four READMEs
drops the abstract 'schema intelligence layer' for the concrete jobs a
visitor searches for: ER diagrams, N+1 detection, migration-risk checks.
---
README.md | 2 +-
_config.yml | 14 ++++++++++++++
docs/i18n/README.es.md | 2 +-
docs/i18n/README.ru.md | 2 +-
docs/i18n/README.zh.md | 2 +-
5 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
index f11efaf..596bf55 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@
# Django ORM Lens
-### The schema intelligence layer for Django.
+### ER diagrams, N+1 detection and migration-risk checks for Django — without booting it.
Your entire model graph — live in your editor sidebar, gating your CI, and answering your AI agent over MCP. All from static parsing: no database, no `runserver`, no working venv.
diff --git a/_config.yml b/_config.yml
index f80cb4e..bd121e0 100644
--- a/_config.yml
+++ b/_config.yml
@@ -14,6 +14,20 @@
theme: jekyll-theme-primer
+# Search metadata for the GitHub Pages homepage, consumed by jekyll-seo-tag.
+# Without a `title`/`tagline`/`description` the homepage `` and
+# `` fell back to the bare repo name — so the page
+# ranked only for the brand name "django-orm-lens", never for the problems
+# people actually search ("django er diagram", "django n+1", "django migration
+# linter"). `tagline` puts those keywords into the homepage ``
+# (" | "); `description` carries them into the meta description.
+title: Django ORM Lens
+tagline: Django ER diagram, N+1 and migration-risk linter — no database, no Django boot
+description: >-
+ Static analysis for Django models and migrations: ER diagrams, N+1 detection,
+ schema drift and migration-risk checks across a VS Code extension, a CLI, and
+ an MCP server. No database, no django.setup(). Free and MIT.
+
# Social card, consumed by jekyll-seo-tag. Without it the homepage unfurled
# as a bare `summary` card with no image anywhere it was shared.
#
diff --git a/docs/i18n/README.es.md b/docs/i18n/README.es.md
index 30c1c79..37b831a 100644
--- a/docs/i18n/README.es.md
+++ b/docs/i18n/README.es.md
@@ -9,7 +9,7 @@
# Django ORM Lens
-### La capa de inteligencia de esquema para Django.
+### Diagramas ER, detección de N+1 y análisis de riesgo de migraciones para Django, sin arrancarlo.
Todo tu grafo de modelos — en vivo en la barra lateral de tu editor, actuando de gate en tu CI y respondiendo a tu agente de IA vía MCP. Todo a partir de análisis estático: sin base de datos, sin `runserver`, sin venv funcional.
diff --git a/docs/i18n/README.ru.md b/docs/i18n/README.ru.md
index 74d8265..254eb27 100644
--- a/docs/i18n/README.ru.md
+++ b/docs/i18n/README.ru.md
@@ -9,7 +9,7 @@
# Django ORM Lens
-### Слой schema intelligence для Django.
+### ER-диаграммы, поиск N+1 и проверка риска миграций для Django — без запуска проекта.
Весь ваш граф моделей — вживую в боковой панели редактора, на страже вашего CI и в ответах вашему AI-агенту через MCP. Всё это — из статического парсинга: без базы данных, без `runserver`, без рабочего venv.
diff --git a/docs/i18n/README.zh.md b/docs/i18n/README.zh.md
index 8391b51..43dfad3 100644
--- a/docs/i18n/README.zh.md
+++ b/docs/i18n/README.zh.md
@@ -9,7 +9,7 @@
# Django ORM Lens
-### Django 的数据结构智能层。
+### Django 的 ER 图、N+1 检测与迁移风险检查 —— 无需启动项目。
你的整张模型图 —— 实时呈现在编辑器侧边栏、为你的 CI 把关,并通过 MCP 回答你的 AI agent 的提问。全部来自静态解析:无需数据库、无需 `runserver`、无需可用的 venv。