Skip to content

SEO: canonical/hreflang coverage, 1200×630 OG image, absolute meta URLs, lazy loading#6

Merged
Blankll merged 2 commits intomasterfrom
copilot/seo-performance-improvement-plan
Feb 26, 2026
Merged

SEO: canonical/hreflang coverage, 1200×630 OG image, absolute meta URLs, lazy loading#6
Blankll merged 2 commits intomasterfrom
copilot/seo-performance-improvement-plan

Conversation

Copy link
Contributor

Copilot AI commented Feb 26, 2026

Post-migration SEO gaps remained across blog, docs, news, and product feature pages — missing canonical/hreflang tags, a proper-sized OG image, and image lazy loading.

Changes

Per-page canonical + hreflang (32 files)

Added missing canonical, hreflang: en/zh/x-default to all pages that lacked them:

  • Blog (EN + ZH): best-dynamodb-gui-client, elasticsearch-ai-assistant, elasticsearch-gui-client, elasticsearch-integration-test-jest-search, dynamodb-gui-client, query-dynamodb-locally
  • Docs (EN + ZH): docs/dockit/{index,installation,connect-to-server,shortcut,manage-elasticsearch-cluster}index.md also got title/description frontmatter (had none)
  • News + Product features (EN + ZH): news/dockit-v0-8-dynamodb-support, products/dockit/features/{desktop-client,dynamodb-partiql,local-first,open-source}

Section landing pages (8 files)

about, donation, blog, news (EN + ZH) had zero frontmatter — added title, description, keywords, and canonical/hreflang.

OG image & meta URL fixes (config.mts)

  • Generated public/og-image.png at 1200×630 with GEEKFUN branding (replaces the 998×240 logo)
  • og:image and twitter:image in both EN and ZH locales now use the absolute URL https://www.geekfun.club/og-image.png instead of the relative /geekfun.png
const ogImage = 'https://www.geekfun.club/og-image.png';
// applied to og:image, twitter:image in both locales

Image lazy loading (config.mts)

markdown: {
    image: {
        lazyLoading: true
    }
}

Enables loading="lazy" on all markdown images site-wide via VitePress built-in support.

Original prompt

This section details on the original issue you should resolve

<issue_title>SEO Performance Improvement Plan after DocKit Migration (Detailed Audit & Action List)</issue_title>
<issue_description>## Summary
This issue documents a thorough post-migration SEO audit and includes a detailed, prioritized action plan to fully transition the Dockit site SEO value to https://www.geekfun.club/ and maximize organic performance for the combined geekfun-site.


📊 Current Site SEO State


🚨 Critical Issues & Gaps

  • Old canonical URLs: Pages still point to dockit.geekfun.club instead of www.geekfun.club.
  • No 301 redirects: Original plan for 301s from legacy domain not implemented at server/CDN/devops layer.
  • robots.txt missing
  • No JSON-LD/structured data
  • OG/Twitter card image uses favicon
  • Meta tags inconsistencies
  • Some blog/product pages missing modern SEO frontmatter
  • Google/GA tracking not set up

📋 Action Plan (phased & prioritized)

Phase 1: 🔴 Critical Fixes (Immediate)

  • Update all canonical and hreflang URLs to reference www.geekfun.club
  • Reinstate proper 301 server/CDN/domain-level redirects for ALL old URLs and mapped slugs (including /zh/*)
  • Update all internal links & content references to use new slugs

Phase 2: 🟡 High Priority

  • Add /robots.txt to site root
  • Add Google Search Console verification
  • Update Twitter/OG images and meta tags globally
  • Create custom OG preview image at correct size (1200x630)
  • Add JSON-LD org/product/FAQPage schema where possible

Phase 3: 🟠 Medium

  • Ensure homepage and all blog/docs have per-page SEO frontmatter (title, desc, canonical, og)
  • Add og:type, breadcrumbs, publish dates, author where sensible

Phase 4: 🔵 Optimization

  • Audit image usage: compress, alt text, explicit width/height
  • Add analytics (Google Analytics, etc.)
  • Audit internal linking, add related/content blocks
  • Enable performance optimizations (lazy-load images/iframes)

Phase 5: 🟣 Ongoing

  • Monitor console/GSC for errors, new 404s, ranking loss post-migration
  • Submit updated sitemap, index new URLs

Monitoring & Next Steps

  • Use this issue to track PRs that address above checklists
  • Ensure all SEO changes are validated in GSC after deployment
  • Continually monitor keyword rankings, and adapt plan as search data/trends dictate

Ref: Full technical audit & recommendations compiled via Copilot analysis, see chat history for raw details and code snippets.

/cc @Blankll
</issue_description>

<agent_instructions>finish remaining actionable works</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@Blankll ### What's been completed
Phase Item Status
Phase 1 All canonical & hreflang URLs → www.geekfun.club ✅ Done (PR #5, 25 files changed)
Phase 1 Internal links & old domain references updated ✅ Done (zero dockit.geekfun.club references remain)
Phase 2 robots.txt added ✅ Done
Phase 2 OG/Twitter meta tags fixed (summary_large_image, geekfun.png, absolute og:url) ✅ Done
Phase 2 JSON-LD Organization structured data added ✅ Done
Phase 3 og:type: website added (EN & ZH) ✅ Done
Phase 3 twitter:description bug fixed (was using title, now uses desc) ✅ Done

What's still remaining

Phase Item Status
Phase 1 301 redirects at server/CDN/DNS level for legacy dockit.geekfun.club domain ⏩ Not yet (requires ops/devops)
Phase 2 Google Search Console verification & sitemap submission ⏩ Not yet
Phase 2 Custom OG preview image at 1200×630 ⏩ Not yet (currently using logo)
Phase 3 Per-page SEO frontmatter for all blog/docs (breadcrumbs, publish dates, author) ⏩ Partially done
Phase 4 Image audit (compression, alt text, width/height) ⏩ Not started
Phase 4 Analytics (Google Analytics) integration ⏩ Not started
Phase 4 Internal linking audit & related content blocks ⏩ Not started
Phase 4 Performance optimizations (lazy-load images/iframes) ⏩ Not started
Phase 5 Ongoing GSC monitoring, 404 checks, ranking tracking ⏩ Ongoing

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Co-authored-by: Blankll <28639911+Blankll@users.noreply.github.com>
Copilot AI changed the title [WIP] Update SEO strategy for post-migration audit SEO: canonical/hreflang coverage, 1200×630 OG image, absolute meta URLs, lazy loading Feb 26, 2026
@Blankll Blankll marked this pull request as ready for review February 26, 2026 13:57
@Blankll Blankll merged commit f1e7192 into master Feb 26, 2026
1 check passed
@Blankll Blankll deleted the copilot/seo-performance-improvement-plan branch February 26, 2026 13:57
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.

SEO Performance Improvement Plan after DocKit Migration (Detailed Audit & Action List)

2 participants