之前写过一篇文章「Google搜索成最大入口,简单谈下个人博客的SEO」,文章里介绍了网页的描述信息TDK(Title、Description和Keywords)对SEO的重要作用,尽管已经意识到了TDK能够直接影响到SEO的效果,但仍存在随意编写或忽略的情况,究其原因,第一是懒散,嫌麻烦,第二是不懂,随便写写效果不佳。曾经幻想有一个工具既能读懂文章的意思,又对SEO比较的了解,可以根据文章内容自动生成SEO友好的TDK,一直以来也仅仅是幻想,但随着AI的出现,随着GPT的普及,让这件原本几乎不太可能实现的事情也变得容易了很多

写好文章丢给GPT,再配上一段提示词,GPT就能根据文章的内容生成SEO友好的slug、title、keywords和description等信息,例如我把上篇文章「 全程使用 AI 从 0 到 1 写了个小工具」的内容丢给DeepSeek,让他从SEO友好的角度生成文章的TDK等信息

可以看到DeepSeek生成的内容确实十分的专业,利用AI生成SEO友好的TDK已然可以实现了。虽然功能能够实现,但每次都要复制文章内容给GPT,还是麻烦的,于是考虑借助API来实现自动化,许多AI模型都有提供API,但几乎全都收费,提供API还免费的不多,调研了一圈,决定试用硅基流动,主要原因是当前邀请注册送2000万Token,同时也支持Json格式输出,这对于我后续要拿到数据做自动化处理可太重要了。也想试用的朋友可以用我的推荐链接注册或是填写我的推荐码:tqPo40nB,这样就能免费获得2000万的Token

实际体验下来2000万的Token根本用不完,我300多篇文章近60万字,加上前期的调试调用,全部文章重新生成一遍SEO友好的描述信息,也就用了大概180万Token,用不完,根本用不完

过程

大概的实现流程是,调用AI的API,把文章内容喂它,同时让它输出Json格式的结果,我们拿到结果之后,把相应的TDK描述信息例如Keywords和Description写入数据库,然后再调用生成程序把文章连带这些描述生成HTML文件,最后上传到github自动发布,整个流程就算完成了。这其中基本的流程我的博客后台程序都已经是实现好的,需要修改的主要就是根据文章内容,调用AI来生成SEO友好的描述信息,然后把这些信息写入数据库。具体的实现过程很简单,主要就两步,以我用的硅基流动平台为例

首先去注册平台账号并登录,登录之后点击页面左侧的API密钥-新建API密钥,填写描述信息了之后就创建了一个API密钥

然后就可以调用API传入文章内容+需求让他生成数据,硅基流动它不是具体的某个模型,而是提供了一个模型市场,这个模型市场里的模型都可以调用,部分模型支持openai库进行调用,这样就比较方便,我们通过python调用,需要Python版本高于3.7.1,在调用之前先安装openai库,执行如下命令:

pip install --upgrade openai

安装完成后,就可以调用,一个简单的调用示例如下:

import json
from openai import OpenAI def generate_seo_data(content):
client = OpenAI(
api_key="sk-xxxxxxxx", # 替换成自己的密钥
base_url="https://api.siliconflow.cn/v1"
) try:
response = client.chat.completions.create(
model="deepseek-ai/DeepSeek-V2.5",
messages=[
{"role": "system", "content": "You are a helpful assistant designed to output JSON."},
{"role": "user", "content": f"? 以下是一篇markdown格式的文章,请根据文章内容从SEO友好的角度提取出slug、title、keywoards和description,至少10个keywords,要列表格式:{content}"
"Please respond in the format {\"slug\": ..., \"title\": ..., \"keywords\": ..., \"description\": ...}"}
],
response_format={"type": "json_object"}
) return json.loads(response.choices[0].message.content)
except Exception as e:
print("Error generating SEO data:", str(e))
return {"slug": "", "title": "", "keywords": [], "description": ""}

把代码里的api_key替换成第一步里生成的key,稍微调整下content的内容就可以为你所用。输出的结果就是这样的

>>> blog = Blog.objects.get(title='运维自动化系统各模块介绍')
>>> seo_data = generate_seo_data(blog.content)
>>>
>>> seo_data.get('slug')
'devops-automation-platform-overview'
>>>
>>> seo_data.get('title')
'运维自动化平台功能模块全面解析'
>>>
>>> seo_data.get('keywords')
['运维自动化', '资产管理', '容器管理', '监控告警', '作业系统', '任务系统', '域名管理', '备份系统', '数据库服务', '费用中心', '审计中心', '用户管理']
>>>
>>> seo_data.get('description')
'本文从整体视角介绍了一个较为完善的运维自动化系统包含的主要功能模块,包括工作台、资产管理、容器管理、监控告警、作业系统、任务系统、域名管理、备份系统、数据库服务、费用中心、审计中心和用户管理,详细解析每个模块如何解决实际运维中的问题。

然后我只需要把这些输出的数据保存到数据库,会自动触发页面生成方法并上传,整个流程就完成了

后记

当初找了好久的工具尝试了很多的方法来实现SEO友好型TDK信息的自动生成,始终没有很好的方案,现在终于找到了完美的方式来解决这个问题,但如今已经进入AI的时代,传统网站加速走向没落变成了一个不争的事实,那即便是生成再完美的TDK,做再好的SEO,意义还大吗

AI用的越多,越是感叹其强大,同时带来的打击也越大

AI 实践|零成本生成SEO友好的TDK落地方案的更多相关文章

  1. Google Colab——零成本玩转深度学习

    前言 最近在学深度学习HyperLPR项目时,由于一直没有比较合适的设备训练深度学习的模型,所以在网上想找到提供模型训练,经过一段时间的搜索,最终发现了一个谷歌的产品--Google Colabora ...

  2. ASP.NET的SEO: 服务器控件背后——SEO友好的Html和JavaScript

    本系列目录 假设你需要从一个页面转向其他页面,下面有很多种方式,你是如何选择的呢?你能清晰的说明理由么?         <%--链接的表现形式--%>        <asp:Hy ...

  3. 如何利用开源思想开发一个SEO友好型网

    如果你有一个网站需要去做SEO优化的时候,不要期望你的努力能立即得到回报.耐心等待并更正内容营销策略,最终会发现你的网站很受用户欢迎.下面就教你如何利用开源思维开发一个SEO友好型网站! 首先,你应该 ...

  4. 零成本搭建个人博客之图床和cdn加速

    本文属于零成本搭建个人博客指南系列 为什么要使用图床 博客文章中的图片资源文件一般采用本地相对/绝对路径引用,或者使用图床通过外链进行引用展示.本地引用的弊端我认为在于: 图片和博客放在同一个代码托管 ...

  5. ajax 如何做到 SEO 友好

    我猜你是在网络上搜索“ajax如何被搜索引擎收录”.“ajax SEO”.“ajax SEO友好”等关键词来到这里的.你可能已经很疲惫了,因为前段时间我也这样搜索,但是我发现搜索到的内容质量不高,有的 ...

  6. Oracle EBS-SQL (CST-3):检查零成本交易.sql

    SELECT            '零成本交易'                                交易异常类型          ,msi.segment1               ...

  7. 零成本实现Android/iOS自动化测试:基于Appium和Test Perfect

    https://item.taobao.com/item.htm?spm=a230r.1.14.14.42KJ3L&id=527677900735&ns=1&abbucket= ...

  8. 用AI思维给成本降温,腾讯WeTest兼容性测试直击底价!

    WeTest 导读 当AI成为各行业提高产业效率的动能,很多人开始疑惑,这架智能化的“无人机”何时在移动应用测试中真正落地?在今年的国际数码互动娱乐博览会(ChinaJoy)上,腾讯WeTest给出了 ...

  9. 使用syncthing和蒲公英异地组网零成本实现多设备实时同步

    设想一个场景,如果两台电脑之间可以共享一个文件夹,其中一个增删更改其中的内容时,另一个也能同步更新,而且速度不能太慢,最好是免费的.那么syncthing就可以满足这个要求.syncthing可以实现 ...

  10. Web前端开发最佳实践(7):使用合理的技术方案来构建小图标

    大家都对网站上使用的小图标肯定都不陌生,这些小图标作为网站内容的点缀,增加了网站的美观度,提高了用户体验,可是你有没有看过在这些网站中使用的图标都是用什么技术实现的?虽然大部分网站还是使用普通的图片实 ...

随机推荐

  1. tar 分卷压缩和解压缩

    示例将 jdk1.8.0_221 文件夹按 98m 进行分卷压缩和解压缩压缩: tar -czvf - jdk1.8.0_221/ |split -b 98m - jdk1.8.0_221.tar.g ...

  2. OkHttp实现延时重试

    本文主要应用了OkHttp的Interceptor来实现自定义重试次数 虽然OkHttp自带retryOnConnectionFailure(true)方法可以实现重试,但是不支持自定义重试次数,所以 ...

  3. MybatisPlusException: can not find lambda cache for this entity[]异常解决

    文章目录 场景说明 解决方案 场景说明   简单来说,我们系统中许多数据都是树状结构的,所以我定义了一个实体类父类BaseTreePO,并且想封装一个通用的树状对象的Service类,部分代码如下: ...

  4. 工具大全-dirsearch探测Web目录

    dirsearch介绍 dirsearch是一款开源的.基于Python开发的命令行工具,主要用于对Web服务器进行目录和文件的扫描,以发现潜在的安全漏洞. dirsearch下载地址: https: ...

  5. Qt编写物联网管理平台47-通用数据库设置

    一.前言 为了做这个通用的数据库组件,专门安装了虚拟机来安装各种版本的不同类型的数据库做测试,包括编译对应的数据库插件,我一直坚信的是一切从实际出发+有实际采用发言权,包括不同Qt版本编译mysql. ...

  6. RxSqlUtils(base R2dbc)

    一.前言 随着 Solon 3.0 和 Solon-Rx 3.0 发布,又迎来了的 RxSqlUtils 扩展插件,用于"响应式"操作数据库.RxSqlUtils 是基于 R2db ...

  7. win7语言栏不见了,只显示搜狗输入法,不显示中文(简体)-美式键盘

    参考百度经验: win7右下角输入法图标不见了[终极方法]

  8. 从零开始的Python世界生活——语法基础先导篇(Python小白零基础光速入门上手)

    从零开始的Python世界生活--语法基础先导篇(Python小白零基础光速入门上手) 1. 准备阶段 1.1 下载并安装Python 1.1.1 下载步骤: 访问Python官方网站:点击这里下载P ...

  9. Pytorch Utils 总结

    Utils 从torch.nn.utils模块 clip_grad_norm_ 裁剪参数迭代的梯度范数. clip_grad_value_ 在指定值处剪辑可迭代参数的梯度. parameters_to ...

  10. 百万架构师的第二课:设计模式:Spring 源码版本命名规则及下载安装

    第二章--SpringWeb应用开发篇 二.Spring 源码版本命名规则及下载安装 2.1.Spring源码版本命名规则 (1) 首先看看某些常见软件的版本号: Linux Kernel: 0.0. ...