Jelajahi Sumber

ignore: lander add canonical urls and h1 tags to all landing pages

Jay V 3 bulan lalu
induk
melakukan
536d10e5ab

+ 3 - 0
packages/console/app/src/config.ts

@@ -2,6 +2,9 @@
  * Application-wide constants and configuration
  * Application-wide constants and configuration
  */
  */
 export const config = {
 export const config = {
+  // Base URL
+  baseUrl: "https://opencode.ai",
+
   // GitHub
   // GitHub
   github: {
   github: {
     repoUrl: "https://github.com/sst/opencode",
     repoUrl: "https://github.com/sst/opencode",

+ 1 - 1
packages/console/app/src/routes/brand/index.css

@@ -264,7 +264,7 @@
   [data-component="brand-content"] {
   [data-component="brand-content"] {
     padding: 4rem 5rem;
     padding: 4rem 5rem;
 
 
-    h2 {
+    h1 {
       font-size: 1.5rem;
       font-size: 1.5rem;
       font-weight: 500;
       font-weight: 500;
       color: var(--color-text-strong);
       color: var(--color-text-strong);

+ 4 - 2
packages/console/app/src/routes/brand/index.tsx

@@ -1,6 +1,7 @@
 import "./index.css"
 import "./index.css"
-import { Title, Meta } from "@solidjs/meta"
+import { Title, Meta, Link } from "@solidjs/meta"
 import { Header } from "~/component/header"
 import { Header } from "~/component/header"
+import { config } from "~/config"
 import { Footer } from "~/component/footer"
 import { Footer } from "~/component/footer"
 import { Legal } from "~/component/legal"
 import { Legal } from "~/component/legal"
 import previewLogoLight from "../../asset/brand/preview-opencode-logo-light.png"
 import previewLogoLight from "../../asset/brand/preview-opencode-logo-light.png"
@@ -53,13 +54,14 @@ export default function Brand() {
   return (
   return (
     <main data-page="enterprise">
     <main data-page="enterprise">
       <Title>OpenCode | Brand</Title>
       <Title>OpenCode | Brand</Title>
+      <Link rel="canonical" href={`${config.baseUrl}/brand`} />
       <Meta name="description" content="OpenCode brand guidelines" />
       <Meta name="description" content="OpenCode brand guidelines" />
       <div data-component="container">
       <div data-component="container">
         <Header />
         <Header />
 
 
         <div data-component="content">
         <div data-component="content">
           <section data-component="brand-content">
           <section data-component="brand-content">
-            <h2>Brand guidelines</h2>
+            <h1>Brand guidelines</h1>
             <p>Resources and assets to help you work with the OpenCode brand.</p>
             <p>Resources and assets to help you work with the OpenCode brand.</p>
             <button
             <button
               data-component="download-button"
               data-component="download-button"

+ 1 - 1
packages/console/app/src/routes/enterprise/index.css

@@ -287,7 +287,7 @@
   }
   }
 
 
   [data-component="enterprise-column-1"] {
   [data-component="enterprise-column-1"] {
-    h2 {
+    h1 {
       font-size: 1.5rem;
       font-size: 1.5rem;
       font-weight: 500;
       font-weight: 500;
       color: var(--color-text-strong);
       color: var(--color-text-strong);

+ 4 - 2
packages/console/app/src/routes/enterprise/index.tsx

@@ -1,6 +1,7 @@
 import "./index.css"
 import "./index.css"
-import { Title, Meta } from "@solidjs/meta"
+import { Title, Meta, Link } from "@solidjs/meta"
 import { createSignal, Show } from "solid-js"
 import { createSignal, Show } from "solid-js"
+import { config } from "~/config"
 import { Header } from "~/component/header"
 import { Header } from "~/component/header"
 import { Footer } from "~/component/footer"
 import { Footer } from "~/component/footer"
 import { Legal } from "~/component/legal"
 import { Legal } from "~/component/legal"
@@ -54,6 +55,7 @@ export default function Enterprise() {
   return (
   return (
     <main data-page="enterprise">
     <main data-page="enterprise">
       <Title>OpenCode | Enterprise solutions for your organisation</Title>
       <Title>OpenCode | Enterprise solutions for your organisation</Title>
+      <Link rel="canonical" href={`${config.baseUrl}/enterprise`} />
       <Meta name="description" content="Contact OpenCode for enterprise solutions" />
       <Meta name="description" content="Contact OpenCode for enterprise solutions" />
       <div data-component="container">
       <div data-component="container">
         <Header />
         <Header />
@@ -62,7 +64,7 @@ export default function Enterprise() {
           <section data-component="enterprise-content">
           <section data-component="enterprise-content">
             <div data-component="enterprise-columns">
             <div data-component="enterprise-columns">
               <div data-component="enterprise-column-1">
               <div data-component="enterprise-column-1">
-                <h2>Your code is yours</h2>
+                <h1>Your code is yours</h1>
                 <p>
                 <p>
                   OpenCode operates securely inside your organization with no data or context stored
                   OpenCode operates securely inside your organization with no data or context stored
                   and no licensing restrictions or ownership claims. Start a trial with your team,
                   and no licensing restrictions or ownership claims. Start a trial with your team,

+ 1 - 0
packages/console/app/src/routes/index.tsx

@@ -47,6 +47,7 @@ export default function Home() {
         value="public, max-age=1, s-maxage=3600, stale-while-revalidate=86400"
         value="public, max-age=1, s-maxage=3600, stale-while-revalidate=86400"
       />
       />
       <Title>OpenCode | The AI coding agent built for the terminal</Title>
       <Title>OpenCode | The AI coding agent built for the terminal</Title>
+      <Link rel="canonical" href={config.baseUrl} />
       <Link rel="icon" type="image/svg+xml" href="/favicon.svg" />
       <Link rel="icon" type="image/svg+xml" href="/favicon.svg" />
       <Meta property="og:image" content="/social-share.png" />
       <Meta property="og:image" content="/social-share.png" />
       <Meta name="twitter:image" content="/social-share.png" />
       <Meta name="twitter:image" content="/social-share.png" />

+ 2 - 0
packages/console/app/src/routes/zen/index.tsx

@@ -3,6 +3,7 @@ import { createAsync, query, redirect } from "@solidjs/router"
 import { Title, Meta, Link } from "@solidjs/meta"
 import { Title, Meta, Link } from "@solidjs/meta"
 import { HttpHeader } from "@solidjs/start"
 import { HttpHeader } from "@solidjs/start"
 import zenLogoLight from "../../asset/zen-ornate-light.svg"
 import zenLogoLight from "../../asset/zen-ornate-light.svg"
+import { config } from "~/config"
 import zenLogoDark from "../../asset/zen-ornate-dark.svg"
 import zenLogoDark from "../../asset/zen-ornate-dark.svg"
 import compareVideo from "../../asset/lander/opencode-comparison-min.mp4"
 import compareVideo from "../../asset/lander/opencode-comparison-min.mp4"
 import compareVideoPoster from "../../asset/lander/opencode-comparison-poster.png"
 import compareVideoPoster from "../../asset/lander/opencode-comparison-poster.png"
@@ -33,6 +34,7 @@ export default function Home() {
         value="public, max-age=1, s-maxage=3600, stale-while-revalidate=86400"
         value="public, max-age=1, s-maxage=3600, stale-while-revalidate=86400"
       />
       />
       <Title>OpenCode Zen | A curated set of reliable optimized models for coding agents</Title>
       <Title>OpenCode Zen | A curated set of reliable optimized models for coding agents</Title>
+      <Link rel="canonical" href={`${config.baseUrl}/zen`} />
       <Link rel="icon" type="image/svg+xml" href="/favicon-zen.svg" />
       <Link rel="icon" type="image/svg+xml" href="/favicon-zen.svg" />
       <Meta property="og:image" content="/social-share-zen.png" />
       <Meta property="og:image" content="/social-share-zen.png" />
       <Meta name="twitter:image" content="/social-share-zen.png" />
       <Meta name="twitter:image" content="/social-share-zen.png" />