Feature and its Use Cases
Since Stable Viewpoints is a blogging platform, SEO is pretty much the lifeline for organic traffic. Right now the site is missing some fundamental pieces that prevent search engines from properly indexing and ranking the articles.
I checked the live site and found these gaps:
- No
sitemap.xml : viewpoints.stability.nexus/sitemap.xml returns 404. Google literally can't discover our articles.
- No
robots.txt : viewpoints.stability.nexus/robots.txt also 404. No crawl instructions for any bot.
- Every article shows the same title and description in search results : The
<title> tag on all article pages just says "Stable Viewpoints" instead of the actual article title. Same issue with meta descriptions. This is because app/a/[slug]/page.tsx doesn't export a generateMetadata function.
- Canonical URLs on all articles point to the homepage (
/) : This makes Google think every article is a duplicate of the homepage. Huge ranking penalty.
- No JSON-LD structured data : No
BlogPosting or WebSite schema, so we'll never get rich results (article cards, breadcrumbs, etc.) in search.
- No Google Search Console verification : We can't even monitor how Google sees the site.
What needs to be done
- Add
app/sitemap.ts : Generate sitemap from articles-index.json with all article URLs, dates, and priorities
- Add
app/robots.ts : Allow all crawlers, link to sitemap
- Add
generateMetadata() to app/a/[slug]/page.tsx : Per-article title, description, OG tags, Twitter cards, and canonical URL
- Add JSON-LD structured data :
WebSite + Organization on homepage, BlogPosting schema on each article page
- Add Google Search Console verification tag in
app/layout.tsx
- Add
public/manifest.json and link it in layout
How users (and the project) benefit
- Articles actually show up in Google search with proper titles and descriptions
- Each article gets its own rich preview when shared on Twitter/LinkedIn/Discord
- GSC gives us data on impressions, clicks, and indexing issues
- Sitemap lets Google discover new articles automatically after deploy
I'd suggest splitting this into 2-3 PRs by priority. happy to pick some of these up.
Additional Context
I used my own portfolio https://atharvanaik.me as a reference : it's built with the same stack (Next.js 15, App Router, static export) and has all of these implemented. Here are the specific files for reference:
Useful tools for validation after implementation:
Code of Conduct
Feature and its Use Cases
Since Stable Viewpoints is a blogging platform, SEO is pretty much the lifeline for organic traffic. Right now the site is missing some fundamental pieces that prevent search engines from properly indexing and ranking the articles.
I checked the live site and found these gaps:
sitemap.xml:viewpoints.stability.nexus/sitemap.xmlreturns 404. Google literally can't discover our articles.robots.txt:viewpoints.stability.nexus/robots.txtalso 404. No crawl instructions for any bot.<title>tag on all article pages just says "Stable Viewpoints" instead of the actual article title. Same issue with meta descriptions. This is becauseapp/a/[slug]/page.tsxdoesn't export agenerateMetadatafunction./) : This makes Google think every article is a duplicate of the homepage. Huge ranking penalty.BlogPostingorWebSiteschema, so we'll never get rich results (article cards, breadcrumbs, etc.) in search.What needs to be done
app/sitemap.ts: Generate sitemap fromarticles-index.jsonwith all article URLs, dates, and prioritiesapp/robots.ts: Allow all crawlers, link to sitemapgenerateMetadata()toapp/a/[slug]/page.tsx: Per-article title, description, OG tags, Twitter cards, and canonical URLWebSite+Organizationon homepage,BlogPostingschema on each article pageapp/layout.tsxpublic/manifest.jsonand link it in layoutHow users (and the project) benefit
I'd suggest splitting this into 2-3 PRs by priority. happy to pick some of these up.
Additional Context
I used my own portfolio https://atharvanaik.me as a reference : it's built with the same stack (Next.js 15, App Router, static export) and has all of these implemented. Here are the specific files for reference:
Useful tools for validation after implementation:
Code of Conduct