通过Notion查看本文 本文同步发布在j000e.com

<!-- index-menu -->

前言

本文记录我首次将自己的博客添加到Google、Bing、Baidu收录的过程。所谓「入门」只是描述我自己刚接触SEO的一小步,而本文不是一篇很科学、详细、完善的SEO入门教程。

本文将按照合理顺序记录步骤,而不是实际踩坑的顺序,以便复现时更加流畅。

三种方法将不带www的URL 301重定向到带www的

这个步骤属于一个填坑环节,我的博客主页和所有URL路径都可以通过两个域访问,分别是https://j000e.com/https://www.j000e.com/,虽然不带www的域名更加简洁,但是两个入口导致在网络上这是两个完全不同的页面,为了统一,我选择将所有不带www的URL都跳转到带www的,这样我的博客虽然有两个入口,但只有一种固定链接:https://www.j000e.com/*

本节介绍并实践了三种方法来实现这个目的。推荐Cloudflare Rules或Workers,在边缘端完成301重定向。

除了本节提到的方法,还有更多方法,比如「Cloudflare 规则」菜单中就新增了「重定向规则」这一功能,可以新建静态或动态的规则,而不占用默认页面规则,但是我没有实践成功,大概率是我自己不会设置。

通过Cloudflare Workers实现301重定向

  1. 优点:少占用用一个Rules(Cloudflare免费用户只有3个免费Rules)实现同样的效,速度没有区别(我比较过与通过Rules实现的加载速度的差别)。

  2. (不大的)缺点:免费版workers有请求量限制(免费版有1000个请求/分钟、100000个请求/天的限制。访问受速率限制的网站的用户将收到Cloudflare 1015错误页面。),但对于本站也足够用了。

  3. 首先在Clouflares Workers新建一个服务,命名(如redirectwww):

    Untitled

  4. 点击快速编辑:

    Untitled

  5. 粘贴以下代码,保存并部署:

    addEventListener('fetch', event => {
      event.respondWith(handleRequest(event.request))
    })
    
    async function handleRequest(request) {
      const url = new URL(request.url)
    
      // 如果请求的是 j000e.com,则重定向到 www.j000e.com
      if (url.hostname === 'j000e.com') {
        url.hostname = 'www.j000e.com'
    
        return Response.redirect(url.toString(), 301)
      }
    
      // 如果请求的是 www.j000e.com,不做任何修改
      return fetch(request)
    }
    
  6. 返回到该服务主界面,点触发器,添加一个路由,要相应的URL应为j000e.com/*https://j000e.com/*都可以,根据需求来填写。

    Untitled

  7. 至此已经该Workers服务已经可以工作了,下面是测试打开首页和一个文章时的请求,可以注意到301重定向在起作用

    Untitled

    Untitled

通过Cloudflare Rules(页面规则)实现301重定向

  1. 优点:简单。