nook: fix the landing title, isolate /blog, grow the sitemap
The landing page spent its strongest on-page signal on the word "Home"; the title now carries the positioning line and the OG title carries the full brand phrase. /blog on a product subdomain served the personal blog in dev (vinxi ignores the vercel.json rewrites that protect production), splitting the brand and crawl equity — subdomain hits now render the shared 404. /agents, /changelog and /faq join the sitemap registry so they are indexed as they land. Tests: bun test (539 pass); vinxi build clean, no new tsc errors. Issues: FRE-8, FRE-15, FRE-9
This commit is contained in:
@@ -21,6 +21,8 @@ import { api } from "~/lib/api";
|
||||
import CustomScrollbar from "~/components/CustomScrollbar";
|
||||
import "../post.css";
|
||||
import { Post } from "~/db/types";
|
||||
import { useSite } from "~/context/SiteContext";
|
||||
import NotFound from "../../[...404]";
|
||||
|
||||
const getPostByTitle = query(
|
||||
async (
|
||||
@@ -262,6 +264,7 @@ const getPostByTitle = query(
|
||||
);
|
||||
|
||||
export default function PostPage() {
|
||||
const site = useSite();
|
||||
const params = useParams();
|
||||
const [searchParams] = useSearchParams();
|
||||
|
||||
@@ -297,6 +300,12 @@ export default function PostPage() {
|
||||
return str.includes('data-type="mermaid"');
|
||||
};
|
||||
|
||||
// Host-dispatch guard: blog posts live on the apex domain only (see the
|
||||
// guard in blog/index.tsx for the dev-server rationale).
|
||||
if (site().id !== "main") {
|
||||
return <NotFound />;
|
||||
}
|
||||
|
||||
return (
|
||||
<Show
|
||||
when={data()}
|
||||
|
||||
Reference in New Issue
Block a user