Lav*_*ani 6 meta-tags reactjs server-side-rendering next.js
我安装了多个元标记,例如标题、描述、关键字等。
但是,它没有在查看源代码中显示这些标签。因此,Facebook 共享卡无法正常工作(我已经安装了标签,但在 Facebook 的Scraperog或我的查看源中似乎找不到它们。但是它填充在 Client Slide 上。
我的头格式(在客户端检查/开发工具中显示标签,但不在查看源代码中显示标签):
import Head from 'next/head';
export default () => (
<>
<Head>
<meta property="og:title" content={title} />
<meta property="og:url" content={url} />
</Head>
<Header />
<Body />
<Footer />
</>
)
Run Code Online (Sandbox Code Playgroud)
输出(编辑页面道具):
<!DOCTYPE html><html><head><style data-next-hide-fouc="true">body{display:none}</style><noscript data-next-hide-fouc="true"><style>body{display:block}</style></noscript><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/development/pages/_app.js?ts=1592258092029" as="script"/><link rel="preload" href="/_next/static/development/pages/Home.js?ts=1592258092029" as="script"/><link rel="preload" href="/_next/static/runtime/webpack.js?ts=1592258092029" as="script"/><link rel="preload" href="/_next/static/runtime/main.js?ts=1592258092029" as="script"/><noscript id="__next_css__DO_NOT_USE__"></noscript></head><body><div id="__next"></div><script src="/_next/static/runtime/react-refresh.js?ts=1592258092029"></script><script src="/_next/static/development/dll/dll_f9de5cbc314a1e41f91e.js?ts=1592258092029"></script><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps": "page":"/Home","query":{},"buildId":"development","isFallback":false,"gssp":true}</script><script nomodule="" src="/_next/static/runtime/polyfills.js?ts=1592258092029"></script><script async="" data-next-page="/_app" src="/_next/static/development/pages/_app.js?ts=1592258092029"></script><script async="" data-next-page="/Home" src="/_next/static/development/pages/Home.js?ts=1592258092029"></script><script src="/_next/static/runtime/webpack.js?ts=1592258092029" async=""></script><script src="/_next/static/runtime/main.js?ts=1592258092029" async=""></script><script src="/_next/static/development/_buildManifest.js?ts=1592258092029" async=""></script><script src="/_next/static/development/_ssgManifest.js?ts=1592258092029" async=""></script></body></html>
Run Code Online (Sandbox Code Playgroud)
问题似乎来自 Redux Persist,它禁用了 SSR。禁用 PersistGate 服务器端似乎可以解决该问题。
return process.browser ? (
<PersistGate persistor={store.__persistor} loading={<div>Loading</div>}>
<ToastProvider>
<Component {...pageProps} />
</ToastProvider>
</PersistGate>
) : (
<Provider store={store}>
<ToastProvider>
<Component {...pageProps} />
</ToastProvider>
</Provider>
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4205 次 |
| 最近记录: |