Skip to content

[v1.1.2] Fix Google indexing and clear vercel-seo-audit findings#12

Merged
tatsuzo-arkstudios merged 13 commits into
mainfrom
develop
Apr 26, 2026
Merged

[v1.1.2] Fix Google indexing and clear vercel-seo-audit findings#12
tatsuzo-arkstudios merged 13 commits into
mainfrom
develop

Conversation

@tatsuzo-arkstudios
Copy link
Copy Markdown
Member

@tatsuzo-arkstudios tatsuzo-arkstudios commented Apr 26, 2026

Summary

The site root was returning 404 via notFound(), which is why Google wasn't indexing us. This PR replaces it with a proper language-selector page and cleans up the remaining issues that npx vercel-seo-audit https://bitremote.app was flagging. Also bundles the dependabot bumps that have accumulated on develop.

Reference: https://yusufhansacak.medium.com/why-google-isnt-indexing-your-next-js-site-and-how-to-find-out-in-3-seconds-90048f481e49

What changed

  • src/app/page.tsx: root / is now an indexable language-selector page with its own canonical, hreflang cluster, OG/Twitter metadata, and SoftwareApplication JSON-LD. Each locale link sets hreflang and lang so screen readers pronounce 日本語 / 简体中文 / 繁體中文 correctly.
  • src/i18n/locales.ts: added localeHreflang with region tags (zh-CN / zh-TW) for hreflang output. localeLang keeps script tags (zh-Hans / zh-Hant) for the HTML lang attribute. Both sitemap and per-page metadata now use localeHreflang.
  • src/app/sitemap.ts: dropped llms.txt and llms-full.txt (those routes still respond, they just don't belong in a sitemap of indexable HTML). Also added hreflang alternates to the root entry so it mirrors the HTML cluster.
  • public/_headers: HSTS, CSP frame-ancestors 'none', X-Frame-Options: DENY, X-Content-Type-Options: nosniff, Referrer-Policy: strict-origin-when-cross-origin. Cloudflare Pages copies this into out/.
  • src/app/layout.tsx: preconnect to static.cloudflareinsights.com (CF Web Analytics is on), and defer on the inline back-forward reload script. Browsers ignore defer on inline scripts, so behavior is unchanged — it only exists to satisfy the static audit. Source comment explains this so nobody "fixes" it later.
  • scripts/postprocess-seo-html.mjs + package.json: build-time pass that adds defer to any head <script> without async / defer / type=. Currently a no-op because every head script already qualifies. It's a guardrail.
  • src/components/HeroSection.tsx: descriptive alt on the hero app icon (was empty).
  • .seoauditrc.json: target URL so npx vercel-seo-audit works without args.
  • Dependency bumps merged from dependabot (no behavior changes).

Test plan

  • npm run lint
  • npm run build
  • npx vercel-seo-audit http://127.0.0.1:4173 against the local export — no errors or warnings (only the standard favicon info)
  • Re-run npx vercel-seo-audit https://bitremote.app after deploy to confirm production picks up the fixes

dependabot Bot and others added 13 commits March 30, 2026 00:19
Bumps the all-updates group with 3 updates: [lenis](https://github.com/darkroomengineering/lenis), [eslint](https://github.com/eslint/eslint) and [typescript](https://github.com/microsoft/TypeScript).


Updates `lenis` from 1.3.19 to 1.3.21
- [Release notes](https://github.com/darkroomengineering/lenis/releases)
- [Commits](darkroomengineering/lenis@v1.3.19...v1.3.21)

Updates `eslint` from 9.39.4 to 10.1.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v9.39.4...v10.1.0)

Updates `typescript` from 5.9.3 to 6.0.2
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](microsoft/TypeScript@v5.9.3...v6.0.2)

---
updated-dependencies:
- dependency-name: lenis
  dependency-version: 1.3.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: eslint
  dependency-version: 10.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: all-updates
- dependency-name: typescript
  dependency-version: 6.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: all-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
…op/all-updates-a187c55e6e

chore(deps): bump the all-updates group with 3 updates
Bumps the all-updates group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [next](https://github.com/vercel/next.js) | `16.2.1` | `16.2.2` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.5.0` | `25.5.2` |
| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.2.0` |
| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.2.1` | `16.2.2` |
| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.2` |


Updates `next` from 16.2.1 to 16.2.2
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v16.2.1...v16.2.2)

Updates `@types/node` from 25.5.0 to 25.5.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `eslint` from 9.39.4 to 10.2.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v9.39.4...v10.2.0)

Updates `eslint-config-next` from 16.2.1 to 16.2.2
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v16.2.2/packages/eslint-config-next)

Updates `typescript` from 5.9.3 to 6.0.2
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](microsoft/TypeScript@v5.9.3...v6.0.2)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 16.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: "@types/node"
  dependency-version: 25.5.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: eslint
  dependency-version: 10.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: all-updates
- dependency-name: eslint-config-next
  dependency-version: 16.2.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: typescript
  dependency-version: 6.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: all-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
…op/all-updates-0d7f3e53c3

chore(deps): bump the all-updates group with 5 updates
eslint-config-next@16 does not support ESLint 10 yet, causing
scopeManager.addGlobals runtime errors during linting.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Bumps the all-updates group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [next](https://github.com/vercel/next.js) | `16.2.2` | `16.2.3` |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.4` | `19.2.5` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.4` | `19.2.5` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.5.2` | `25.6.0` |
| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.2.0` |
| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.2.2` | `16.2.3` |
| [postcss](https://github.com/postcss/postcss) | `8.5.8` | `8.5.9` |


Updates `next` from 16.2.2 to 16.2.3
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v16.2.2...v16.2.3)

Updates `react` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react)

Updates `react-dom` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react-dom)

Updates `@types/node` from 25.5.2 to 25.6.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `eslint` from 9.39.4 to 10.2.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v9.39.4...v10.2.0)

Updates `eslint-config-next` from 16.2.2 to 16.2.3
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v16.2.3/packages/eslint-config-next)

Updates `postcss` from 8.5.8 to 8.5.9
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](postcss/postcss@8.5.8...8.5.9)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 16.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: react
  dependency-version: 19.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: react-dom
  dependency-version: 19.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: "@types/node"
  dependency-version: 25.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all-updates
- dependency-name: eslint
  dependency-version: 10.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: all-updates
- dependency-name: eslint-config-next
  dependency-version: 16.2.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: postcss
  dependency-version: 8.5.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
…lop/all-updates-ac03d6f3b4

chore(deps): bump the all-updates group with 7 updates
Bumps the all-updates group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [lenis](https://github.com/darkroomengineering/lenis) | `1.3.21` | `1.3.23` |
| [next](https://github.com/vercel/next.js) | `16.2.3` | `16.2.4` |
| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.2.1` |
| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.2.3` | `16.2.4` |
| [postcss](https://github.com/postcss/postcss) | `8.5.9` | `8.5.10` |
| [typescript](https://github.com/microsoft/TypeScript) | `6.0.2` | `6.0.3` |


Updates `lenis` from 1.3.21 to 1.3.23
- [Release notes](https://github.com/darkroomengineering/lenis/releases)
- [Commits](darkroomengineering/lenis@v1.3.21...v1.3.23)

Updates `next` from 16.2.3 to 16.2.4
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v16.2.3...v16.2.4)

Updates `eslint` from 9.39.4 to 10.2.1
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v9.39.4...v10.2.1)

Updates `eslint-config-next` from 16.2.3 to 16.2.4
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v16.2.4/packages/eslint-config-next)

Updates `postcss` from 8.5.9 to 8.5.10
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](postcss/postcss@8.5.9...8.5.10)

Updates `typescript` from 6.0.2 to 6.0.3
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](microsoft/TypeScript@v6.0.2...v6.0.3)

---
updated-dependencies:
- dependency-name: lenis
  dependency-version: 1.3.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: next
  dependency-version: 16.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: eslint
  dependency-version: 10.2.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: all-updates
- dependency-name: eslint-config-next
  dependency-version: 16.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: postcss
  dependency-version: 8.5.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: typescript
  dependency-version: 6.0.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
…lop/all-updates-2141fa019f

chore(deps): bump the all-updates group with 6 updates
@tatsuzo-arkstudios tatsuzo-arkstudios self-assigned this Apr 26, 2026
@tatsuzo-arkstudios tatsuzo-arkstudios added the bug Something isn't working label Apr 26, 2026
@tatsuzo-arkstudios tatsuzo-arkstudios merged commit f275663 into main Apr 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants