mirror of
https://github.com/nexu-io/open-design.git
synced 2026-10-27 09:51:12 +01:00
feat(landing-page): move Mistral Vibe CLI off the vibe-design slug and 301 it to the vibe-design guide (#5209)
The Mistral Vibe CLI agent page was auto-generated at /agents/vibe-design/ as part of the 21-agent set (its product name is "Vibe"). That exact-match URL squatted the informational "vibe design" concept query: GSC shows it holding 7,353 impressions at pos ~9 with 0.3% CTR because searchers see a "Mistral Vibe CLI" title that doesn't answer "what is vibe design", while the page that does — /blog/what-is-vibe-design/ — is suppressed by the sibling URL. Rename the Mistral agent route to /agents/vibe-cli-design/ (it keeps the same agentGuides['vibe'] content) and 301 the old /agents/vibe-design/ URL, across all landing locales, to /blog/what-is-vibe-design/ so the "vibe design" authority and intent consolidate on the guide that actually answers the query. Updates the agents hub route map and the Agent nav dropdown to the new route. Co-authored-by: Joey <276262049+xne998808-ai@users.noreply.github.com>
This commit is contained in:
@@ -94,7 +94,7 @@ const AGENTS: ReadonlyArray<{ name: string; route: string }> = [
|
||||
{ name: 'Pi', route: 'pi-design' },
|
||||
{ name: 'Kiro CLI', route: 'kiro-design' },
|
||||
{ name: 'Kilo', route: 'kilo-design' },
|
||||
{ name: 'Mistral Vibe CLI', route: 'vibe-design' },
|
||||
{ name: 'Mistral Vibe CLI', route: 'vibe-cli-design' },
|
||||
{ name: 'Qoder CLI', route: 'qoder-design' },
|
||||
];
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
---
|
||||
import AgentDetailPage from '../../../agents/vibe-design/index.astro';
|
||||
import AgentDetailPage from '../../../agents/vibe-cli-design/index.astro';
|
||||
import { DEFAULT_LOCALE, LANDING_LOCALES } from '../../../../i18n';
|
||||
|
||||
export function getStaticPaths() {
|
||||
@@ -100,7 +100,7 @@ const DETAIL_ROUTES: Record<string, string> = {
|
||||
pi: 'pi-design',
|
||||
kiro: 'kiro-design',
|
||||
kilo: 'kilo-design',
|
||||
vibe: 'vibe-design',
|
||||
vibe: 'vibe-cli-design',
|
||||
qoder: 'qoder-design',
|
||||
};
|
||||
|
||||
|
||||
+7
-4
@@ -1,9 +1,12 @@
|
||||
---
|
||||
/*
|
||||
* /agents/vibe-design/ — agent detail page (industrial long-form).
|
||||
* /agents/vibe-cli-design/ — Mistral Vibe CLI agent detail page (long-form).
|
||||
*
|
||||
* Captures "vibe design" intent and drives to Open Design. Renders the
|
||||
* rich how-to layout from copy.agentGuides['vibe'].rich. Linked from /agents/.
|
||||
* This is the Mistral Vibe CLI agent guide. It lives at /agents/vibe-cli-design/
|
||||
* (not /agents/vibe-design/) so it does not squat the informational "vibe design"
|
||||
* concept query — that intent is served by /blog/what-is-vibe-design/, which the
|
||||
* old /agents/vibe-design/ URL now 301-redirects to (see public/_redirects).
|
||||
* Renders the rich how-to layout from copy.agentGuides['vibe'].rich. Linked from /agents/.
|
||||
* Never fabricate URLs or facts here.
|
||||
*/
|
||||
import Layout from '../../../_components/sub-page-layout.astro';
|
||||
@@ -11,7 +14,7 @@ import { getInfoPageCopy } from '../../../info-page-i18n';
|
||||
import { localeFromPath, localizedHref } from '../../../i18n';
|
||||
|
||||
const SLUG = 'vibe';
|
||||
const ROUTE = 'vibe-design';
|
||||
const ROUTE = 'vibe-cli-design';
|
||||
const SITE = Astro.site?.toString() ?? 'https://open-design.ai/';
|
||||
const REPO = 'https://github.com/nexu-io/open-design';
|
||||
const REPO_RELEASES = `${REPO}/releases`;
|
||||
@@ -206,3 +206,45 @@
|
||||
/:loc/skills/* /:loc/plugins/skills/ 301
|
||||
/:loc/systems/* /:loc/plugins/systems/ 301
|
||||
/:loc/templates/* /:loc/plugins/templates/ 301
|
||||
|
||||
# Mistral Vibe CLI moved from /agents/vibe-design/ to /agents/vibe-cli-design/ so the
|
||||
# exact-match 'vibe design' concept URL serves the informational blog instead of a
|
||||
# product page. 301 the old agent URL (all locales) to the what-is-vibe-design guide.
|
||||
/agents/vibe-design/ /blog/what-is-vibe-design/ 301
|
||||
/agents/vibe-design /blog/what-is-vibe-design/ 301
|
||||
/en/agents/vibe-design/ /en/blog/what-is-vibe-design/ 301
|
||||
/en/agents/vibe-design /en/blog/what-is-vibe-design/ 301
|
||||
/zh/agents/vibe-design/ /zh/blog/what-is-vibe-design/ 301
|
||||
/zh/agents/vibe-design /zh/blog/what-is-vibe-design/ 301
|
||||
/zh-tw/agents/vibe-design/ /zh-tw/blog/what-is-vibe-design/ 301
|
||||
/zh-tw/agents/vibe-design /zh-tw/blog/what-is-vibe-design/ 301
|
||||
/ja/agents/vibe-design/ /ja/blog/what-is-vibe-design/ 301
|
||||
/ja/agents/vibe-design /ja/blog/what-is-vibe-design/ 301
|
||||
/ko/agents/vibe-design/ /ko/blog/what-is-vibe-design/ 301
|
||||
/ko/agents/vibe-design /ko/blog/what-is-vibe-design/ 301
|
||||
/de/agents/vibe-design/ /de/blog/what-is-vibe-design/ 301
|
||||
/de/agents/vibe-design /de/blog/what-is-vibe-design/ 301
|
||||
/fr/agents/vibe-design/ /fr/blog/what-is-vibe-design/ 301
|
||||
/fr/agents/vibe-design /fr/blog/what-is-vibe-design/ 301
|
||||
/ru/agents/vibe-design/ /ru/blog/what-is-vibe-design/ 301
|
||||
/ru/agents/vibe-design /ru/blog/what-is-vibe-design/ 301
|
||||
/es/agents/vibe-design/ /es/blog/what-is-vibe-design/ 301
|
||||
/es/agents/vibe-design /es/blog/what-is-vibe-design/ 301
|
||||
/pt-br/agents/vibe-design/ /pt-br/blog/what-is-vibe-design/ 301
|
||||
/pt-br/agents/vibe-design /pt-br/blog/what-is-vibe-design/ 301
|
||||
/it/agents/vibe-design/ /it/blog/what-is-vibe-design/ 301
|
||||
/it/agents/vibe-design /it/blog/what-is-vibe-design/ 301
|
||||
/vi/agents/vibe-design/ /vi/blog/what-is-vibe-design/ 301
|
||||
/vi/agents/vibe-design /vi/blog/what-is-vibe-design/ 301
|
||||
/pl/agents/vibe-design/ /pl/blog/what-is-vibe-design/ 301
|
||||
/pl/agents/vibe-design /pl/blog/what-is-vibe-design/ 301
|
||||
/id/agents/vibe-design/ /id/blog/what-is-vibe-design/ 301
|
||||
/id/agents/vibe-design /id/blog/what-is-vibe-design/ 301
|
||||
/nl/agents/vibe-design/ /nl/blog/what-is-vibe-design/ 301
|
||||
/nl/agents/vibe-design /nl/blog/what-is-vibe-design/ 301
|
||||
/ar/agents/vibe-design/ /ar/blog/what-is-vibe-design/ 301
|
||||
/ar/agents/vibe-design /ar/blog/what-is-vibe-design/ 301
|
||||
/tr/agents/vibe-design/ /tr/blog/what-is-vibe-design/ 301
|
||||
/tr/agents/vibe-design /tr/blog/what-is-vibe-design/ 301
|
||||
/uk/agents/vibe-design/ /uk/blog/what-is-vibe-design/ 301
|
||||
/uk/agents/vibe-design /uk/blog/what-is-vibe-design/ 301
|
||||
|
||||
Reference in New Issue
Block a user