个人博客如何变现:Google Adsense 接入 Hugo

自从将我的个人博客接入 Google Analytics 后,我发现只要文章写得足够好,就会产生一些自然流量(虽然只有每天几十次的点击)。于是我开始思考个人博客变现的方式,哪怕只能赚取几美元,也是对自己智力成果的小小肯定。众所周知,我的个人博客是利用 Hugo 生成的纯静态网页,具体生成方式可以参考我的这篇文章。要真正从博客中赚取收益,需要结合 SEO 优化和广告投放策略。本文将详细解析如何为 Hugo 博客打造高流量的基础,并一步步接入 Google Adsense 实现广告收益。 SEO 优化:博客变现的基础 要让博客被搜索引擎高效索引并吸引自然流量,SEO 优化是至关重要的一步。对于 Hugo 而言,需要重点关注 sitemap(站点地图) 和 robots.txt(爬虫索引) 的配置。 配置 sitemap 站点地图 站点地图是一个重要的网站文件,它为搜索引擎和用户提供了网站结构的概览。要为 Hugo 站点创建站点地图,在配置文件config.yml中添加以下内容: sitemap: changefreq: weekly filename: sitemap.xml priority: 0.5 其中,changefreq表示更新频率,filename表示生成的站点地图文件名,priority表示页面的默认优先级。这样,Hugo 会在博客根目录下生成一个sitemap.xml文件,以便搜索引擎了解网站结构。 某些主题的 sitemap 模板会自动包含标签页或分类页,但这些页面可能对搜索引擎价值不高。通过自定义模板,可以移除冗余条目。具体操作方法为:在 Hugo 项目的 layouts/ 目录下创建名为 sitemap.xml 的文件,覆盖主题默认的 sitemap 模板。例如,屏蔽标签页的代码示例如下: {{- $pages := where .Site.Pages "Type" "not in" (slice "tags") -}} {{- $pages = $pages | union (where .Site.RegularPages "Permalink" "!=" "") -}} 通过上述调整,能确保 sitemap 仅包含核心内容页面,提升搜索引擎抓取效率 。 ...

2025-03-20 · Mason

年费15元的奥地利 eSIM 电话卡:RedteaGo

由于个人的一些特殊需求,我经常需要用到海外手机号,也因此一直在寻找经济实惠、性能稳定的海外电话卡。之前,我一直在使用美国 UltraMobile 每月 3 美元 的 PayGo 卡,以及香港 3HK 每年 268HKD、45G 流量的漫游卡。这两张卡都各有各的劣势:PayGo 卡在国内只能接打电话、收发短信,无法漫游上网;3HK 可以在国内漫游上网,但它使用的 IP 地址是香港的,无法登录 ChatGPT,也无法接打电话或收发短信。因此,长久以来我一直在寻找一款既能在国内漫游上网(非香港 IP 地址)、又能接收短信,并且价格不能太贵的海外电话卡,直到我发现了一家奥地利运营商 RedteaMobile 的全球上网手机卡——RedteaGo。 RedteaGo 的全球套餐有以下几点优势: 有效期内(最长365天,可续费)可免费接收短信,注册各类 APP【仅全球套餐】 支持全球130+地区(包括中国大陆)的漫游上网,且 IP 地址在欧洲,可以轻松登录 ChatGPT【仅全球套餐】 价格低廉,100MB 保号套餐仅需 3.2 美元/年,若叠加邀请码赠金,则最低 2 美元(约合人民币15元)即可保号一年 支持 eSIM,无需实体卡即可轻松激活 无需实名登记 RedteaGo 的套餐可以在官方网站或者官方APP上直接购买,如果你的手机支持 eSIM,那么可以通过官方APP直接购买;如果你的手机不支持 eSIM,需要借助第三方实体 eSIM 卡,那么最好在官方网站上下单,因为只有官方网站下单的套餐才会提供 eSIM 二维码。 先用邮箱注册一个 RedteaGo 账号,注册时可以使用我的邀请码MASO0042,这样你和我都可以获得 3 美元的赠金,后续购买套餐时可以直接抵用。叠加邀请码赠金后,最低只要 2 美元就能保号一整年。 注册完成后,就可以选购套餐了。如果想要在购买套餐时使用上面的 3 美元赠金,一定要先往账户里充值,再购买套餐,因为如果购买套餐时账户余额低于套餐金额的话,就只能选择直接支付套餐金额,无法抵扣邀请码赠金,这点一定切记。 账户充值的最小金额是 2 美元,支付方式可以选择Apple Pay、国际信用卡或支付宝等,下图为 RedteaGo APP 内的充值演示。注意充值前先看好你想购买套餐的价格,确保充值金额+3美元赠金要大于套餐价格,才能在购买套餐时抵扣。 以最便宜的 3.2 美元套餐为例,用邀请码注册账号的初始余额为 3 美元(赠送),那么我们只要充值最低的 2 美元,即可拥有 3+2=5 美元的余额。购买套餐时选择用余额支付,则购买完成后,账户中还剩下 5-3.2=1.8 美元,可用于下次购买其他套餐使用。 ...

2025-03-17 · Mason

利用第三方 Deepseek API 实现 AI 辅助应用

最近一段时间,AI 圈最热的话题莫过于 Deepseek。它作为国内团队“弯道超车”的典型案例,同时受到两种不同立场群体的吹捧与批评。不过,抛开政治和技术上的争论,单从普通人使用 AI 的成本与门槛来看,Deepseek 确实做到了“AI 的普惠性”。与 OpenAI 等国外大模型运营商相比,Deepseek 的价格极为低廉,对想要学习 AI 应用,而经济条件又非常有限的用户来说,确实是最好的选择。 然而,受自身承载能力和大规模黑客攻击的限制,Deepseek 的官方服务器在最近一段时间经常会出现连接不稳定的问题,这给用户带来了不便。所幸,Deepseek 大模型的开源属性使其能够被部署在任何第三方服务器上。硅基流动便是众多第三方 AI 大模型供应商之一,它与华为云合作,以低廉的价格,向用户提供Deepseek r1大模型的API接口应用。用户可以通过这一接口顺利使用 Deepseek 的模型功能。 获取第三方 Deepseek API 首先,我们需要在硅基流动的官网注册一个账号。你可以使用我的邀请码1MwHUt0X注册,这样,你和我都会得到 14 CNY 的免费额度,可以用来免费体验各个大模型的功能。如果免费额度用完,想要付费充值的话,就必须完成实名认证,这也是中国特色的监管要求。 登录硅基流动的后台,我们就能看到它所支持的一系列大模型,其中就包含当下最热门的 Deepseek R1。 想要调用这些大模型为我们服务,首先要生成我们自己的 API Key。点击硅基流动后台左侧的API 密钥,再点击右上角的新建 API 密钥按钮,来新建一个 API Key。 结合 Chatbox 使用 Deepseek R1 大模型 Chatbox 是一款开源的AI聊天机器人客户端,支持包括个人电脑和移动端几乎所有平台(包括网页端),能够调用多种AI模型,以实现文字对话、文生图、程序编写、文案创作等诸多用途。 出于数据安全与隐私保护的考虑,Chatbox 的所有运行数据都只存储在本地。也就是说,Chatbox 本身只是一个向AI大模型传递数据的工具,它本身并不记录用户的数据。因此,即使我们在不同设备上同时使用 Chatbox,也无法做到配置设置和历史记录的多设备共享。 硅基流动的官方文档中提供了将其API接入 Chatbox 的指引。这里简单讲一下配置的重点。软件安装好以后,第一次打开会自动弹出设置界面。选择"添加自定义提供方",API 域名填写https://api.siliconflow.cn即可。更新版本的 Chatbox 已经原生支持了硅基流动的 API 接口,只要在模型提供方处选择SILICONFLOW API,再填写自己的 API Key,并选择想要调用的模型即可。 值得注意的是,硅基流动同时提供了Pro/deepseek-ai/DeepSeek-R1和deepseek-ai/DeepSeek-R1两个R1模型,只有不带Pro的那个模型支持消耗平台赠送的免费额度,带Pro的必须付费充值后才能使用,选的时候不要选错了。 配置好后点击保存,就可以开始和我们的AI大模型聊天了。Chatbox 软件内预置了很多好用的 Prompt 场景,可以都尝试一下。 ...

2025-02-07 · Mason

Hugo & PaperMod 建站技术记录

早在4年前刚开始搭建本博客时,我曾写过一篇简短的文章,介绍了我建站时使用的一些工具。如今,那篇文章中提到的很多工具都已过时。加之本次博客整体迁移,又使用了全新的 PaperMod 主题,很多功能的配置方式都发生了变化。于是我决定重新写一篇文章,记录一下我在折腾这个新主题过程中的一些技术细节。 配置文件语法 Hugo 同时支持3钟配置文件语法,分别为 YAML、TOML和JSON。它们都是常用的数据序列化和配置文件格式,且各有特点和适用场景。 YAML (YAML Ain’t Markup Language) YAML是一种人类可读的数据序列化格式,常用于配置文件和数据交换,它的语法格式为: name: John Doe age: 30 city: New York hobbies: - reading - traveling 它的特点为: 语法简洁,易于阅读和编写 支持注释、多行字符串和复杂的数据结构 使用缩进表示层级关系 TOML (Tom’s Obvious, Minimal Language) TOML是一种旨在成为最小配置文件格式的语言,设计目标是易于阅读和编写,它的语法格式为: [person] name = "John Doe" age = 30 city = "New York" [person.hobbies] favorite = "reading" others = ["traveling", "photography"] 它的特点为: 语法直观,易于理解 支持注释 支持多种数据类型,包括日期时间 允许创建嵌套的数据结构 JSON (JavaScript Object Notation) JSON是一种轻量级的数据交换格式,最初源于JavaScript,但现在已广泛应用于各种编程语言,它的语法格式为: { "name": "John Doe", "age": 30, "city": "New York" } 它的特点为: 简洁易读 解析速度快 与JavaScript高度兼容 支持基本数据类型:字符串、数字、布尔值、null、对象和数组 综合考虑易读性及与当前主题的兼容性,我选择的配置文件语法为YAML,以下所有配置命令,都将以YAML格式呈现。值得注意的是,YAML对缩进非常敏感,在利用 Hugo 进行渲染时,哪怕某一行少了一个空格,都会渲染失败,所以要特别注意。 ...

2024-12-30 · Mason

HomeAssistant 米家官方集成的安装与使用

背景 我在2022年4月的一篇文章中介绍了 Home Assistant 的安装与配置方法。彼时,要将小米的众多智能家居接入 HA,我们必须安装一个第三方 HA 集成,即 Hass-Xiaomi-Miot。它由个人开发者 al-one 在 Github 上发布,一直以来都是我们将米家接入 HA 的唯一选择。直到最近,小米在 Github 上发布了官方的 HA 集成:HA_Xiaomi_Home,填补了米家接入 HA 的空白。 虽然这又是一个“官方逼死同人”的故事,但小米的开源精神仍然值得称赞。与第三方集成相比,小米官方的集成对自家产品支持更好, 能够帮助我们更加轻松地将米家接入 HA,进而实现米家与 Homekit 生态的互联互通。今天,我们将跟随 HA_Xiaomi_Home 的官方文档,详细介绍一下这个集成的安装及使用方法。 通过 HASC 安装米家官方集成 米家官方集成有多种安装方式,其中最简单,也是最新手友好的方式,就是通过 HACS 进行安装。HASC 的安装方法详见我的这篇文章,此处不再赘述。由于米家官方集成暂未加入 HASC 的官方库,我们需要通过添加自定义库链接的方式,将米家官方集成的库链接添加到 HASC 目录。登入 HA 后台,点击左侧的HASC,再点右上角的三个点,选择Custom Repositories,新建一个自定义库链接,如下图所示。 库类型(Catagory)选择Integration;库链接填写下面的链接: https://github.com/XiaoMi/ha_xiaomi_home.git 最后点击ADD按钮,如果网络没有问题的话,米家官方集成的安装链接就会被添加到 HASC 的自定目录中。再依次点击设置—设备与集成—添加集成,在搜索框中输入Xiaomi,在弹出的结果中选择XIaomi Home。接下来,按照提示登录米家账号即可。 注意⚠️:如果你和我一样,使用 Docker 作为 HA 的安装环境,那么大概率会在米家账号验证时遇到无法跳转的问题。无法跳转的核心原因在于,米家官方集成默认使用 homeassistant.local:8123这个本地域名来跳转回 HA 页面,而 Docker 容器中的 HA 无法在本地局域网中广播.local本地域名。因此,在验证米家账号并跳转回 HA 页面时,我们需要手动将浏览器地址栏中的homeassistant.local:8123改为IP:8123。这样就能完成米家账号的验证工作。以上方法参考自米家集成仓库的 Issue#8。 停用多余的米家实体 当我们安装好米家官方集成并完成账号验证后,HA 就会自动搜索并添加米家的各种设备。同时,我们的家庭中会出现一堆乱七八糟的实体。所谓实体(Unit)是 HA 用来定义设备最小子功能单元的概念。通常一个设备会对应多个实体。例如,一台『热水器』设备,可以同时拥有『当前水温』、『目标水温』、『预热开关』、『增压开关』等多个实体。 然而在日常使用过程中,我们并不需要将每一个设备都拆分成诸多零碎的子功能单元,这样不仅使人迷惑,还会让我们的家庭界面变得极其繁琐。因此,在将 HA 链接到 Homekit 之前,我们需要对米家集成添加进来的众多实体进行筛选,仅保留我们日常使用过程中最需要的开关和数值即可。 ...

2024-12-27 · Mason