Next.js自动生成元数据未被谷歌搜索识别的问题求助
Next.js自动生成metadata无法被谷歌识别的问题求助
我用Next.js + JavaScript开发项目,按照官方文档的方式声明metadata常量来自动生成页面Head部分的元数据,本地调试时完全符合预期,但谷歌搜索无法正确识别这些自动生成的标签——网站的标题和描述直接丢失,谷歌反而抓取了页面里随机的h2标签。
最初的实现代码(自动生成metadata)
// 定义metadata export const metadata = { title: "MySite", description: "My site talks about this...", }; // 根布局组件 export default function RootLayout({ children }) { return ( <html> <body> {children} </body> </html> ); }
之后我尝试手动在布局里编写Head标签,引入已声明的metadata变量,经过谷歌验证后这个方法有效,谷歌能正确读取网站的标题和描述。这里需要说明:原修改代码里的<description>标签是错误写法,正确的应该是<meta name="description" />,修正后的代码如下:
修改后的有效代码(手动添加Head标签)
// 定义metadata export const metadata = { title: "MySite", description: "My site talks about this...", }; // 根布局组件 export default function RootLayout({ children }) { return ( <html> <Head> <title>{metadata.title}</title> <meta name="description" content={metadata.description} /> </Head> <body> {children} </body> </html> ); }
想问问有没有其他开发者遇到过同样的情况?Next.js官方文档里明确说自动生成的方式应该正常工作,但谷歌似乎不接受这种自动生成的标签,我只能用手动添加的方式解决。
内容的提问来源于stack exchange,提问作者Giammy
相关产品推荐
相关产品推荐

