Canonical URL 正确设置:避免重复内容惩罚
sitemap.xml 在 Next.js App Router 中用路由处理器生成。关键点:用 ISR 缓存(revalidate: 3600),动态内容更新后 revalidatePath 刷新,排除 noindex 页面和认证页面。超过 50000 URL 要分割成多个 sitemap 文件。...
sitemap.xml 在 Next.js App Router 中用路由处理器生成。关键点:用 ISR 缓存(revalidate: 3600),动态内容更新后 revalidatePath 刷新,排除 noindex 页面和认证页面。超过 50000 URL 要分割成多个 sitemap 文件。...
hreflang 自引用是必须的。每个语言页面必须包含指向自身的 hreflang(如 hreflang=en 指向英文版)。缺少自引用,Google 会忽略整组 hreflang。x-default 指向默认语言版本,用于未匹配语言的用户。 PageSpeed 优化记录:我的站点从 60 分到...
hreflang 是多语言站点最容易被忽略的 SEO 配置。每个语言页面必须包含指向自身的 hreflang、指向其他语言版本的 hreflang、以及 x-default。缺少自引用会导致 Google 忽略整组 hreflang,多语言版本可能被当作重复内容。 Next.js ISR 对 SE...
robots.txt 不是阻止索引的手段,而是控制抓取。要阻止索引用 noindex meta 标签或 X-Robots-Tag header。常见的 robots.txt 配置:允许所有页面、禁止 /admin、禁止 /api、指向 sitemap.xml。 Google 抓取预算对大站很重要。...
Next.js ISR 对 SEO 友好,因为输出的是完整 HTML。但要注意:ISR 缓存的页面不能包含用户个性化数据(如 session),否则不同用户看到相同缓存会有安全问题。SSR 输出必须对所有用户相同。 Schema.org 类型选择:博客文章用 Article(必须有 author/...
Schema.org 类型选择:博客文章用 Article(必须有 author/datePublished),产品页用 Product + AggregateOffer(不要用 Offer + price:0),FAQ 用 FAQPage(必须有 Question/Answer 数组)。选错类型会...
JSON-LD 是 Google 推荐的结构化数据格式。博客文章用 Article 类型,产品页用 Product + AggregateOffer,FAQ 用 FAQPage。用 Next.js 可以在 Server Component 中直接渲染 script 标签,不需要客户端注入。 Goo...
Next.js Image 组件自动优化图片格式(WebP/AVIF)、尺寸和懒加载,对 LCP 优化效果显著。LCP 图片要加 priority 属性,否则懒加载会延迟 LCP 时间。但不要给所有图片加 priority,只给首屏最大的图片。 Schema.org 类型选择:博客文章用 Arti...
Core Web Vitals INP 优化关键是减少主线程阻塞。① 拆分长任务(>50ms)用 requestIdleCallback 或 setTimeout ② 减少第三方脚本 ③ 用 Web Worker 处理重计算 ④ 延迟加载非关键交互 ⑤ 避免大型布局重排。 Vercel 部署的 N...
Next.js 15 的 metadata API 比 Pages Router 的 Head 组件强大太多。用 generateMetadata 可以根据路由参数动态生成 title、description、OG 标签。关键是 metadataBase 要正确设置,否则 OG 图片的 URL 会是...
SEO 分页 URL 用 /page/2 路径形式比 ?page=2 查询参数更好。路径形式更利于 Google 理解和索引,查询参数可能被当作重复内容。但分页页面的 canonical 要指向自身而非第一页,否则第二页之后的内容不会被索引。 PageSpeed 优化记录:我的站点从 60 分到...
Google Search Console 验证站点后,第一件事是提交 sitemap.xml。新页面发布后可以用 URL 检查工具主动请求索引,加速收录。但不要频繁提交相同 URL,Google 会降低优先级。 Canonical URL 解决重复内容问题。多语言站点、分页页面、带查询参数的页面...
SEO 友好的 URL 用 kebab-case:/forum/thread/how-to-optimize-nextjs-seo。避免下划线、驼峰、中文 URL(虽然 Google 支持但不利于分享)。Next.js 中可以用 slugify 函数生成 URL 友好的 slug。 Google...
Next.js ISR 对 SEO 友好,因为输出的是完整 HTML。但要注意:ISR 缓存的页面不能包含用户个性化数据(如 session),否则不同用户看到相同缓存会有安全问题。SSR 输出必须对所有用户相同。 Google 抓取预算对大站很重要。优化方法:① robots.txt 禁止低价值...
Core Web Vitals 2024 的三个指标:LCP(最大内容绘制,<2.5s)、INP(交互到下一次绘制,<200ms)、CLS(累积布局偏移,<0.1)。其中 INP 替代了 FID,更严格。Next.js 用 next/image 优化图片能显著改善 LCP,用 next/dynami...
Core Web Vitals INP 优化关键是减少主线程阻塞。① 拆分长任务(>50ms)用 requestIdleCallback 或 setTimeout ② 减少第三方脚本 ③ 用 Web Worker 处理重计算 ④ 延迟加载非关键交互 ⑤ 避免大型布局重排。 软 404 是指返回 2...
Next.js Image 组件自动优化图片格式(WebP/AVIF)、尺寸和懒加载,对 LCP 优化效果显著。LCP 图片要加 priority 属性,否则懒加载会延迟 LCP 时间。但不要给所有图片加 priority,只给首屏最大的图片。 Google E-E-A-T(经验、专业、权威、可信...
Core Web Vitals 2024 的三个指标:LCP(最大内容绘制,<2.5s)、INP(交互到下一次绘制,<200ms)、CLS(累积布局偏移,<0.1)。其中 INP 替代了 FID,更严格。Next.js 用 next/image 优化图片能显著改善 LCP,用 next/dynami...
面包屑导航不仅提升用户体验,还是 SEO 信号。用 BreadcrumbList JSON-LD 结构化数据能让 Google 在搜索结果中显示面包屑路径,提升点击率。Next.js 中可以在 Server Component 渲染面包屑 HTML + JSON-LD。 Google 抓取预算对大...
Canonical URL 解决重复内容问题。多语言站点、分页页面、带查询参数的页面都需要正确设置 canonical。Next.js metadata 中 canonical 要用绝对 URL,通过 buildPageUrl 工具函数确保域名一致。 hreflang 自引用是必须的。每个语言页面...