Frontmatter
| id | 7446 |
| title | Enhance SEO for Neo.mjs Website |
| state | Closed |
| labels | epicai |
| assignees | tobiu |
| createdAt | Oct 10, 2025, 10:06 PM |
| updatedAt | Nov 11, 2025, 7:30 PM |
| githubUrl | https://github.com/neomjs/neo/issues/7446 |
| author | tobiu |
| commentsCount | 0 |
| parentIssue | null |
| subIssues | 7448 Create DocumentHead Addon with Canonical URL Support 7449 Create Sitemap & LLM.txt Generator Script 7451 Generate sitemap.xml File via Build Script 7452 Generate LLM.txt File via Build Script 7453 Update robots.txt for SEO 7460 Refactor SEO Generator Script with Correct Data Sources 7742 Enhance Sitemap Generation: Add `lastmod` based on Git History 7743 Enhance Sitemap Generation: Include Top-Level Application Routes 7744 Refactor Release Preparation Script: Rename `injectPackageVersion` to `prepareRelease` and Integrate SEO File Generation 7745 Refactor `generate-seo-files.mjs`: Implement CLI Option Parsing with Commander 7746 Enhance Release Preparation: Auto-update `datePublished` in `index.html` 7747 Integrate SEO File Copying into `buildAll.mjs` for Application Builds 7748 Bug: `copySeoFiles.mjs` Fails to Copy SEO Files to Correct `dist` Paths for Applications |
| subIssuesCompleted | 13 |
| subIssuesTotal | 13 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Nov 11, 2025, 7:30 PM |
Enhance SEO for Neo.mjs Website
tobiu assigned to @tobiu on Oct 10, 2025, 10:06 PM
tobiu added sub-issue #7447 on Oct 10, 2025, 10:08 PM
tobiu added sub-issue #7448 on Oct 10, 2025, 10:09 PM
tobiu added sub-issue #7449 on Oct 10, 2025, 10:10 PM
tobiu added sub-issue #7451 on Oct 10, 2025, 10:14 PM
tobiu added sub-issue #7452 on Oct 10, 2025, 10:16 PM
tobiu added sub-issue #7453 on Oct 10, 2025, 10:20 PM
tobiu added sub-issue #7460 on Oct 11, 2025, 11:36 AM
tobiu added sub-issue #7742 on Nov 11, 2025, 12:38 PM
tobiu added sub-issue #7743 on Nov 11, 2025, 12:59 PM
tobiu added sub-issue #7744 on Nov 11, 2025, 1:06 PM
tobiu added sub-issue #7745 on Nov 11, 2025, 1:33 PM
tobiu added sub-issue #7746 on Nov 11, 2025, 6:29 PM
tobiu added sub-issue #7747 on Nov 11, 2025, 7:18 PM
tobiu added sub-issue #7748 on Nov 11, 2025, 7:27 PM
tobiu removed sub-issue #7447 on Nov 11, 2025, 7:30 PM
tobiu closed this issue on Nov 11, 2025, 7:30 PM
This epic aims to improve the search engine optimization (SEO) of the Neo.mjs website, specifically focusing on making the blog and learning content discoverable by search engines and Large Language Models (LLMs). The goal is to increase organic traffic and improve the visibility of the Neo.mjs framework.
Top-Level Items & Implementation Phases
Phase 1: LLM & Sitemap Integration
LLM.txtand a sitemap to enhance content discoverability for search engines and LLMs.Strategic Overview
Our strategy to enhance SEO is a two-pronged approach that addresses both the initial server response and the client-side navigation within our Single-Page Application (SPA), all while working within the constraints of a static hosting environment like GitHub Pages.
1. Fixing the Root Domain (
neomjs.com)The most critical issue is that our root domain serves a meta-refresh redirect, offering no content to search engines. We will fix this by modifying our deployment process to serve a real, content-rich
index.htmlat the root.<base>Tag Solution: The deployment script will copy the portal app'sindex.htmlto the root and inject a<base href="/dist/production/apps/portal/">tag into its head. This ensures that crawlers see real content immediately, while all relative asset paths for our live IDE continue to function correctly.2. Managing SPA Routes (Client-Side)
Once the app is loaded, we need to handle client-side route changes to prevent duplicate content issues and provide accurate metadata for each page.
HeadManagerAddon: We will build a new main thread addon responsible for dynamically manipulating the document's<head>. Its primary job will be to set thecanonical URLfor each route, which is essential for telling search engines the "true" address of a page and consolidating our SEO authority. It will also manage titles and other meta tags.3. Automating Content Discovery
To ensure search engines have an up-to-date map of our site, we will automate the generation of discovery files.
learn/tree.json) to automatically generate a completesitemap.xmlandllm.txt. This ensures these files are never out of date and requires zero manual maintenance.This combination of a server-side deployment fix and a client-side management addon, supported by automated file generation, provides a robust and sustainable solution to dramatically improve the project's visibility.