fix(website): SEO canonicals, host redirects, sitemap, app noindex
Addresses the high-volume issues from the Ahrefs audit: - Worker entrypoint 301s every request not on https://paseo.sh (www subdomain and http variants), killing the duplicate-page errors and the HTTP→HTTPS internal-link notices. - pageMeta() emits <link rel="canonical"> and og:url per route; every head() call now passes its canonical path. - /blog stops rewriting itself to /blog?drafts=false; the search param only appears when explicitly true. - Sitemap includes /blog and each post. - Trim homepage title under SERP truncation, rewrite /agents meta description under 160 chars, pad short descriptions on /privacy, /download, /cloud, /changelog, /docs. - app.paseo.sh gets <meta robots=noindex,nofollow> and a Disallow-all robots.txt so the SPA shell stops polluting the crawl with H1-missing / no-OG / low-word-count warnings.
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
import startEntry from "@tanstack/react-start/server-entry";
|
||||
|
||||
const CANONICAL_HOST = "paseo.sh";
|
||||
|
||||
type FetchArgs = Parameters<typeof startEntry.fetch>;
|
||||
|
||||
export default {
|
||||
async fetch(...args: FetchArgs): Promise<Response> {
|
||||
const [request] = args;
|
||||
const url = new URL(request.url);
|
||||
if (url.hostname !== CANONICAL_HOST || url.protocol !== "https:") {
|
||||
url.protocol = "https:";
|
||||
url.hostname = CANONICAL_HOST;
|
||||
return Response.redirect(url.toString(), 301);
|
||||
}
|
||||
return startEntry.fetch(...args);
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user