Skip to content

NOISSUE - Update SEO#26

Open
Musilah wants to merge 10 commits intoabsmach:mainfrom
Musilah:seo-report
Open

NOISSUE - Update SEO#26
Musilah wants to merge 10 commits intoabsmach:mainfrom
Musilah:seo-report

Conversation

@Musilah
Copy link
Copy Markdown

@Musilah Musilah commented Mar 23, 2026

What type of PR is this?

This is a feature and optimization because it adds SEO/GEO metadata, structured
data, and technical SEO infrastructure to the website.

What does this do?

  • Adds Schema.org JSON-LD (Organization, SoftwareApplication, WebSite, FAQPage, TechArticle, BreadcrumbList) for Google and AI search engines
  • Rewrites sitemap with dynamic lastModified, depth-based priority, and
    deduplication of the /docs index entry
  • Adds robots.txt rules for AI crawlers (GPTBot, ClaudeBot, PerplexityBot,
    OAI-SearchBot, Google-Extended, FacebookBot)
  • Adds /public/llms.txt for AI crawler guidance (llms.txt spec)
  • Extends MDX frontmatter schema with authors and lastModified fields
  • Adds /about page with mission, values, team, funding, and open-source sections
  • Adds author registry (src/lib/authors.ts) and DocAttribution component
    for docs pages
  • Adds geo-constants.ts as a single source of truth for brand strings
  • Updates homepage and docs layout metadata (title template, canonical tags,
    OG/Twitter tags)
  • Updates meta descriptions across 16 MDX docs pages

Which issue(s) does this PR fix/relate to?

N/A

Have you included tests for your changes?

Did you document any new/modified features?

Notes

@Musilah Musilah marked this pull request as ready for review March 24, 2026 09:31
@Musilah Musilah force-pushed the seo-report branch 2 times, most recently from 56a8491 to 471a22d Compare March 24, 2026 13:41
@@ -0,0 +1 @@
REPLACE_WITH_YOUR_INDEXNOW_KEY
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's the purpose of this file?

return "weekly";
}

const EXCLUDED_PATHS = new Set([
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes in this pages are also not efficient. These links may need to be changed. For sitemaps, just remove the modified time and stick to the Next.js recommendations

@@ -0,0 +1,87 @@
import Link from "fumadocs-core/link";
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the purpose of this component?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its purpose is to show who owns a documentation page and when it was last updated. That gives each page clear maintenance responsibility and a freshness signal, which makes the docs easier to manage internally and more trustworthy for readers. It is also a small reusable pattern, so the same author and last-updated block can be used consistently across other sites.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it really necessary?

Image

We already know it's maintained by Abstract Machines. Also I've not seen anywhere else where docs are attributed to a particular author

Signed-off-by: Musilah <[email protected]>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove "CoAP" and "WebSocket" from structured-data.ts, vs-kubeedge.mdx, and about/page.tsx - only MQTT is implemented

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

content/docs/hal.mdx had its description updated in this PR, but it remains unlisted in meta.json. This is a pre-existing omission that the PR touches but doesn't fix - hal.mdx is unreachable from the sidebar navigation.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cd.yaml includes uses: pnpm/action-setup@v4 in the indexnow job but never runs pnpm install. The script only uses native Node.js fetch with no npm dependencies, so pnpm setup is a no-op noise step.

"coco-k8s-setup.mdx"
"coco-k8s-setup.mdx",
"vs-kubeedge.mdx",
"changelog.mdx"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

content/docs/meta.json was updated to include "changelog.mdx", but no such file exists in the branch. This will either cause a build error or a dead link in the navigation.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How accurate is this?
@JeffMboya could you please confirm this comparison

<div className="w-full py-12 sm:py-20 lg:py-28 space-y-20">
<JsonLd data={organizationSchema()} />
<JsonLd data={founderPersonSchema()} />
<section className="container mx-auto px-4 sm:px-6 max-w-4xl">
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make use of this white space

Image

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here:

Image Image

</div>
</section>
</div>
);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a footer

Image

changeFrequency: "weekly",
priority: 0.7,
});
function gitLastModified(filePath: string): Date | null {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need all the changes in this page?
Seems like google doesn't use last modified, so I'm wondering if we need this complexity at all

@@ -0,0 +1,87 @@
import Link from "fumadocs-core/link";
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it really necessary?

Image

We already know it's maintained by Abstract Machines. Also I've not seen anywhere else where docs are attributed to a particular author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants