Gmeek
Gmeek copied to clipboard
提一些 SEO 优化相关问题
- 增加外部链接
rel标签(可以设置白名单) - 增加外部链接跳转页(可以设置白名单和自由开关,以及自定义页面内容)
- 生成站点的
sitemap.xml文件
1和2我不是很专业,能否详细说明一下是哪些外部链接?或者举个例子?
3我觉得是不是就是目前的rss.xml文件?
rss文件是专门用于订阅获取内容更新的,通常只包含最新的几个链接;
而站点地图sitemap.xml,包含了整个网站的所有重要页面的链接,并还可以含有页面的相对优先级、最后更新时间和更新频率,更针对搜索引擎的抓取和优化。
不过现在的搜索引擎似乎也支持拿rss文件当站点地图用? 我把rss地址提交到必应和谷歌,可以正常识别抓取。
@molikai-work 对的,目前的rss.xml文件已经包含整个网站的所有重要页面的链接。我就是把rss.xml提交给google的。
1应该是说在构建博客文章时自动识别链接元素,然后构建html时自动添加属性设置,例如 在编辑器中添加链接,
[https://example.com/](https://example.com/)
然后构建html时把这个链接的a标签加上属性rel="external nofollow",来告诉搜索引擎:“这个链接是外部链接,不是我的,请不要给他权重,他怎么样也跟我没关系”
<a href="https://example.com/" rel="external nofollow">https://example.com/</a>
这样确实可以优化搜索引擎的抓取,至于设置白名单,应该是说可以设置特定的链接,然后当文中出现的链接在设置中时,不添加rel="external nofollow"属性。
2的外部链接跳转页,应该就是在各个平台常见的提示你:“这个链接不是他们的,不归他们管,是否跳转页面”,例如某乎的链接跳转提示。
举个例子写一个js读取链接的参数内容,假如说这个页面是example.html,那就是
https://example.com/example.html/?url=https://example.net/
使用js自动读取参数中url的内容得到链接,然后设置提示,给按钮是否跳转。
然后在构建html时自动再编辑文章中出现的url链接, 例如,
https://example.net/
然后自动在链接前面加上
https://example.com/example.html/?url=
这样用户最终跳转的链接就是
https://example.com/example.html/?url=https://example.net/
这样使得用户会先跳转到我们的这个页面,然后用前面说的js读取参数信息, 然后页面提示是否跳转,给你按钮。
简单的一个示例(
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
function getQueryParameter(name) {
const urlParams = new URLSearchParams(window.location.search);
return urlParams.get(name);
}
function confirmRedirect() {
const targetUrl = getQueryParameter('url');
if (targetUrl) {
const userConfirmed = confirm('您即将跳转到以下网址:' + targetUrl + ',是否继续?');
if (userConfirmed) {
window.location.href = targetUrl;
} else {
alert('您取消了跳转。');
}
} else {
alert('未找到要跳转的URL参数。');
}
}
window.onload = confirmRedirect;
</script>
</head>
<body>
</body>
</html>
@molikai-work 感谢大佬补充相关细节
@Meekdai 具体的楼上已经说的很详细了
@molikai-work @dishao123 了解了,这些功能都可以通过插件的方式来实现,我有空写一个试试。
其实仔细想想第一条可以通过Gmeek插入html元素的方法实现? 不用md语法的链接,而是手动用已经处理好的a标签元素。😂
@molikai-work 确实可以,就是如果链接多了不方便。
而且第二条我好像没有在浏览一些独立博客的时候遇到这种功能,只有一些大平台的有这个跳转页。
@eekdai 给你看个例子https://www.skyqian.com/这个网站就使用了,我说的跳转页
其实仔细想想第一条可以通过Gmeek插入html元素的方法实现? 不用md语法的链接,而是手动用已经处理好的a标签元素。😂
今天本来想看看先简单实现添加rel="nofollow"功能的,测试后发现其实这里不需要使用Gmeek-html的方式来实现。直接使用a标签就可以了。https://blog.meekdai.com/post/code-server-pei-zhi-HTTPS.html
参考链接:[centos搭建code-server及配置HTTPS、登录页自定义](https://juejin.cn/post/7230335974085525541)
修改为如下:
参考链接:<a href="https://juejin.cn/post/7230335974085525541" rel="nofollow">centos搭建code-server及配置HTTPS、登录页自定义</a>
因为之前测试过target="_blank"会被github自动删除,所以以为a标签不能添加其他内容,今天突然发现rel="nofollow"是可以的,这样就要方便不少了,而且在issue中的页面也有这个属性。
其实实在不行可以用Gmeek插入html元素的方法(
Gmeek-html<a href="https://example.com/" rel="external nofollow noopener noreferrer" target="_blank">Example测试</a>
这个应该是最万能的。
@molikai-work 对的,目前的rss.xml文件已经包含整个网站的所有重要页面的链接。我就是把rss.xml提交给google的。
@Meekdai 但是 Google 没法读取我的,请问你是怎么提交的呢?