Skip to content

fix(seo): resolve ahrefs site audit issues and fix android pwa icons - #77

Merged
kascit merged 6 commits into
mainfrom
fix/site-audit-and-pwa-favicon
Aug 22, 2026
Merged

fix(seo): resolve ahrefs site audit issues and fix android pwa icons#77
kascit merged 6 commits into
mainfrom
fix/site-audit-and-pwa-favicon

Conversation

@kascit

@kascit kascit commented Aug 22, 2026

Copy link
Copy Markdown
Owner

Summary

This PR addresses all 36 issues flagged in the Ahrefs Site Audit (Project ID 9650520) along with Android PWA favicon & manifest resolution and cross-platform / cross-architecture pipeline reliability improvements.

Key Changes

  1. Image File Size Too Large (9 errors):
    • Fixed ImageMagick child process timeout threshold in scripts/lib/shared.js from 1,000ms to 60,000ms, enabling responsive WebP variants (400w, 800w, 1200w, 1600w) to generate cleanly for all 81 images.
  2. Broken JavaScript (3+1 errors):
    • Configured stable ESM loader generation in scripts/fingerprint-assets.js at public/js/shell.js forwarding to public/js/core/shell.<hash>.js.
  3. Orphan Page (1 error):
    • Added internal footer navigation link to content/design/_index.md and included a dedicated card on content/links/_index.md.
  4. Links to 302/301 Redirects (134 warnings):
    • Fixed tasks.dhanur.me endpoint to https://tasks.dhanur.me/app/index.html in data/projects.json and templates/macros/apps.html.
    • Normalized trailing slashes across internal project links (pulse, auth, up, linkr).
    • Fixed external redirect URLs (Kubernetes docs, Spring Boot projects, Discord invite).
  5. Short Meta Descriptions (123 warnings):
    • Enriched dynamic taxonomy description generators in templates/base.html (130–155 chars).
    • Enriched descriptions in config.toml and all section/content markdown pages to the 120–150 character range.
    • Fixed meta description resolution in templates/macros/head.html.
  6. Title & Word Count Issues:
    • Shortened content/blog/writing-documentation.md title to 52 characters.
    • Added SEO metadata, outgoing links, and noindex headers to utility pages (open-file, share-target, handler).
  7. Duplicate Pages & Non-Canonical Sitemap Entries:
    • Excluded redirect stubs and noindex utilities from scripts/generate-sitemap.js.
    • Injected noindex, follow, canonical links, and back-navigation into redirect stubs in scripts/clean-pagination-redirects.js.
  8. Android PWA Favicon & Orientation:
    • Maintained "orientation": "portrait" per explicit requirement.
    • Cleaned query params from icon paths in static/icons/site.webmanifest and updated Apple touch icon fallback in config.toml / templates/macros/head.html.
  9. Cross-Platform Compatibility:
    • Standardized shell scripts in justfile to avoid platform-specific sed in-place flags and non-portable bash arithmetic.

Verification

  • just quality passed 100% (JS lint, CSS lint, XML/XSL validation, icon asset validation, and zola check with 30 pages / 0 orphans).
  • just build completed with 0 errors across 81 responsive images (401 WebP variants), shell ESM bundling, and asset fingerprinting.
  • Automated SEO audit script verified 0 audit errors across all 133 generated HTML files in public/.

Copilot AI lite review requested due to automatic review settings August 22, 2026 19:15

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added ci and removed frontend labels Aug 22, 2026
@kascit
kascit enabled auto-merge (squash) August 22, 2026 19:36
@kascit
kascit merged commit 40f469b into main Aug 22, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants