我正在使用React + NextJS(均为最新版本)(未使用redux等)
我需要动态更改元标记的内容
当我渲染页面并通过Chrome开发工具观察时,成功创建了Meta标签,但当我在Slack,FB等上提供URL时,它不起作用。此外,Facebook OpenGraph调试器无法检查我的og标签
需要帮助
这是我的密码
[编号]. jsx〉
const Main = () => {
....
return (
<>
<MetaSEO
title={response.data.seo ? response.data.seo['page-title'] : SEOSheet.seo.title}
keywords={response.data.seo ? response.data.seo.keywords : SEOSheet.seo.keywords}
description={response.data.seo ? response.data.seo.description : SEOSheet.seo.description}
ogType={SEOSheet.seo['sns-type']}
ogTitle={response.data.seo ? response.data.seo['sns-title'] : SEOSheet.seo['sns-title']}
ogDescription={response.data.seo ? response.data.seo['sns-description'] : SEOSheet.seo['sns-description']}
ogImage={SEOSheet.seo['sns-image']}
ogUrl={SEOSheet.seo['sns-url']}
indexing="all"
/>
.......
</>
);
}
搜索引擎优化. jsx
import Head from 'next/head';
const MetaSEO = ({
title, keywords, description, ogTitle, ogDescription, ogImage, ogUrl, indexing
}) => (
<Head>
<title>{title}</title>
<meta name="keywords" content={keywords} />
<meta name="description" content={description} />
<meta property="og:type" content="website" />
<meta property="og:title" content={ogTitle} />
<meta property="og:description" content={ogDescription} />
<meta property="og:image" content={ogImage} />
<meta property="og:url" content={ogUrl} />
<meta name="robots" content={indexing} />
</Head>
);
export default MetaSEO;
努力解决我做了-〉-使用NextSEO-在所有页面添加Meta标签-使用getInitialProps
2条答案
按热度按时间kq0g1dla1#
您需要使用
getServerSideProps
或getStaticProps
获取数据,然后通过props将其传递给组件,以便正确呈现 meta标记,您可以使用View Source
验证它,而不使用Dev Tools
。tag5nh1u2#
---已解决---有一些代码阻止组件呈现(如'return false')