我与SEO顾问一起工作,进行SEO优化和更快的页面加载。他说,字体和一些javascript库应该在页面加载后到达。因此,网站的加载速度会更快,但当我在互联网上查看它时,我找不到太多。我使用的是React js,对seo的改进一无所知。我在header组件中调用字体,如下所示。header组件称为与HeaderLayout组件相关的其他嵌套组件,调用HeaderLayout访问其他页面的组件。有没有办法在页面加载后加载这些内容?
return (
<Head>
<link
rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"
integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z"
crossOrigin="anonymous"
/>
<link
rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap"
/>
<link
rel="icon"
type="image/x-icon"
sizes="32x32"
href="/icons/favico.ico"
/>
<link rel="canonical" href={routerUrlWithoutQuery} />
<meta name="color-scheme" content="light" />
</Head>
)发布于 2021-04-01 22:49:55
也许你可以把它附加到useEffect的头部?
示例:
useEffect(() => {
const link = document.createElement("link");
link.rel = "stylesheet";
link.href =
"https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css";
link.integrity =
"sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z";
link.crossOrigin = "anonymous";
document.head.appendChild(link);
}, []);发布于 2021-04-01 21:08:18
只需在<link>中为媒体属性设置一个无效值,然后在页面加载时将其设置为all,如下所示:
<link rel="stylesheet" href="link here" media="none" onload="if(media!='all')media='all'">当媒体查询结果为false时,浏览器仍将下载样式表,但不会等待内容可用后再呈现页面。
https://stackoverflow.com/questions/66904966
复制相似问题