Reactjs 规范链接不';未在页面上显示源代码,无ssr
我在查看页面源代码上的规范URL时遇到问题,下面是web应用程序页面中的代码Reactjs 规范链接不';未在页面上显示源代码,无ssr,reactjs,canonical-link,react-helmet,Reactjs,Canonical Link,React Helmet,我在查看页面源代码上的规范URL时遇到问题,下面是web应用程序页面中的代码 const Index = () => { const airportsQuery = useQuery(ALL_AIRPORTS_QUERY, { variables: { keyword: '', }, skip: true, notifyOnNetworkStatusChange: false, }); let timer = null; fu
const Index = () => {
const airportsQuery = useQuery(ALL_AIRPORTS_QUERY, {
variables: {
keyword: '',
},
skip: true,
notifyOnNetworkStatusChange: false,
});
let timer = null;
function fetchOptions(inputValue, callback) {
clearTimeout(timer);
timer = setTimeout(() => {
const response = airportsQuery.refetch({ keyword: inputValue });
response.then(
({ data }) => callback(data?.allAirports || []),
({ message }) => {
console.error('Server Error:', message);
}
);
}, 100);
}
return (
<Layout>
<Layout.Header />
<Layout.Container width="full">
<Helmet>
<meta charSet="utf-8" />
<title>eeeeee</title>
<link rel="canonical" href="https://www.biletiniz.com/" />
</Helmet>
<HomePage
fetchOptions={fetchOptions}
onSubmit={variables =>
Router.push(`/flight-offers?${qs.stringify(variables)}`)
}
/>
</Layout.Container>
<Layout.Footer />
</Layout>
);
};
export async function getStaticProps() {
const { default: lngDict = {} } = await import(
`@biletiniz/intl/locales/tr.json`
);
return {
props: { lng: 'tr', lngDict },
};
}
export default withApollo({
ssr: false,
})(Index);
常数索引=()=>{
const airportsQuery=useQuery(所有机场){
变量:{
关键字:“”,
},
斯基普:是的,
notifyOnNetworkStatusChange:false,
});
设定时器为空;
函数获取选项(inputValue、回调){
清除超时(计时器);
计时器=设置超时(()=>{
const response=airportsQuery.refetch({关键字:inputValue});
回答,然后(
({data}=>回调(data?.allAirports | | |[]),
({message})=>{
console.error('服务器错误:',消息);
}
);
}, 100);
}
返回(
Eeeee
Router.push(`/flight提供?${qs.stringify(变量)}`)
}
/>
);
};
导出异步函数getStaticProps(){
const{default:lngDict={}}=wait import(
`@biletiz/intl/locales/tr.json`
);
返回{
道具:{lng:'tr',lngDict},
};
}
使用Apollo导出默认值({
ssr:错,
})(索引);
当我检查页面源代码时,我找不到链接或标题
我怎样才能解决它?
我们没有SSR如何在客户端渲染头盔React使用DOM渲染。DOM通过JavaScript更改,JavaScript与HTML源代码一起发送。但是,JS只能更改DOM(用户可以看到的),而不能更改源本身。因此,您应该检查DOM(所有主要浏览器中的F12或右键单击并检查),而不是页面的源代码现代爬虫如谷歌爬虫检查DOM,而不是源,否则像React这样的单页应用程序无法理解其内容,因为所有内容都是通过JS呈现的。因此,您可以完全保持代码的原样。或者在React的静态HTML文件中更改它React使用DOM呈现它。DOM通过JavaScript更改,JavaScript与HTML源代码一起发送。但是,JS只能更改DOM(用户可以看到的),而不能更改源本身。因此,您应该检查DOM(所有主要浏览器中的F12或右键单击并检查),而不是页面的源代码现代爬虫如谷歌爬虫检查DOM,而不是源,否则像React这样的单页应用程序无法理解其内容,因为所有内容都是通过JS呈现的。因此,您可以完全保持代码的原样。或者在React的静态HTML文件中更改它谢谢您的回复,但我将我的网站url添加到,它返回没有提供规范url,但我可以在DOM中看到它,这就是我解释的方式。这个搜索引擎优化检查器不像谷歌那样作为搜索引擎执行JS。这应该不是流行搜索引擎的问题。你也可以使用这个SEO检查器来检查JS页面。只需选择更多选项并选择爬行模式:Chrome(启用JavaScript),但您也应该考虑JS的服务器端呈现。感谢您的回复,但我将我的网站url添加到,它返回没有提供规范url,但我可以在DOM中看到它。我就是这样解释的。这个搜索引擎优化检查器不像谷歌那样作为搜索引擎执行JS。这应该不是流行搜索引擎的问题。你也可以使用这个SEO检查器来检查JS页面。只需选择更多选项并选择爬行模式:Chrome(支持JavaScript),但您还应该考虑JS的服务器端渲染。