Maksutov Design MAKSUTOV DESIGN
自有项目 技术SEO Schema.org 多语言

网站 SEO

对自己的网站 maksutovdesign.ru 进行技术SEO:四种语言共268个页面,不使用任何CMS。我制定了哪些规则,让搜索引擎以同样的方式理解每个页面;截至2026年10月3日的数字结果;以及这与“装个插件”有何不同。

01 / 任务

没有CMS,意味着SEO必须靠脚本搭建、用数字验证

268个页面:俄语版及英语、中文、阿拉伯语镜像站。
4种语言的完整镜像——RU、EN、ZH 和 AR(从右至左)。
10,586条页面间内部链接——每一条都检查过目标是否存在。
0个CMS、插件或第三方SEO服务:一切都在静态HTML文件中。

在WordPress中,canonical和站点地图由插件完成。这里每个页面都是单独的HTML文件,同样的元信息需要手工维护在268个地方。目标是把SEO从零散的修补变成可重复的流程:统一规则、生成器、检查,并把结果记录为数字。

02 / 技术包

每个页面都有 Canonical、hreflang、Open Graph 和 JSON-LD

100%的页面(268 / 268)具备 canonical、Open Graph、Twitter Card 和 JSON-LD。
261个页面带有 ru/en/zh/ar 和 x-default 的 hreflang。
250张独特的 1200×630 OG 图片——每页一张,而不是共用一张。
1个 h1 每页——已对全部268页核验。

2026年9月6日,我按照《工艺圣经》一书(附录A和B——上线准备与Schema.org标记)的建议,对网站应用了统一的技术包。该块插入 <head> 中 seo-pack 标记之间,由一个幂等脚本生成:可重复运行,不会重复数据,并根据当前的 title、description 和面包屑重新生成。

Hreflang 只为真实存在的语言生成:如果页面没有译文,就不会出现指向不存在地址的链接。这样可避免“hreflang 链接指向404”的错误。

  • 每个页面都有 canonical,域名不带 www
  • hreflang ru/en/zh/ar + x-default,不含指向缺失译文的链接
  • 带独立图片的 Open Graph 与 Twitter Card
  • theme-color、favicon 套件和 site.webmanifest
  • 一个脚本一次性重建所有页面的该块

03 / 结构化数据

每个页面的同一图谱中包含十二种 Schema.org 类型

统一的 Organization + Person 图谱把所有页面关联到同一位网站所有者,在此基础上每个页面再按其真实性质获得自己的类型。类型按栏目自动选择。

Schema.org 类型页面数应用位置
Organization + Person268 + 268整个网站——唯一的所有者与作者
BreadcrumbList256带面包屑的页面,依据真实导航生成
WebPage72普通页面
Service64服务页面及其子栏目
CreativeWork53案例、项目和代码仓库
CollectionPage35列表:案例、项目、博客、笔记
Article28博客文章
Book8四种语言版本的《工艺圣经》与《色彩百科》
WebSite + SearchAction4首页,内置搜索的描述
ContactPage, SearchResultsPage4 + 4联系页面与搜索结果

我有意做了两个决定。其一:网站没有自评的 AggregateRating 标记——所有者给自己打的评分会被搜索引擎视为违规。其二:我不依赖 FAQ 富摘要——Google 已于2026年5月取消,因此 FAQ 栏目就是一个带问答的普通页面。

04 / 标题与元数据

一个 h1、独特的 description、零重复

1个 h1 标题出现在全部268个页面——没有缺失,也没有重复。
43个字符——title 的平均长度;范围 14–76。
110个字符——description 的平均长度;没有任何 description 在两个页面上重复。
100%的图片(3,505张)有 alt 属性,89% 指定了宽和高。

9月6日我对文本做了编辑审核:删掉案例中的广告套话,重写命名与品牌手册的导语,统一卡片、名称与元数据。对搜索来说,这与标记同样重要:摘要由 description 和 title 生成,重复的描述会让页面彼此混淆。

图片的宽高在加载前预留位置,页面不会“跳动”,这改善了 CLS 指标。其余11%是动态图库,尺寸由脚本设置。

  • Title 和 description 为页面而写,而非套用模板
  • h2–h3 标题不跳级
  • 所有图片的 alt 描述内容,而非文件名
  • 草稿页和服务页以 noindex 关闭

05 / 收录

Robots、含261个地址的站点地图和品牌化404页

261个 URL 在 sitemap.xml 中——每个都带所有语言的 hreflang 替代版本。
1行 Disallow 在 robots.txt 中——只关闭了后台管理区。
404页面采用品牌设计并带 noindex,错误页不会进入搜索结果。
0个可被收录的空页面:草稿在填充前一律关闭。

站点地图不只是地址列表:每个 URL 都附有其他语言版本的链接,搜索引擎在一个文件里就能拿到镜像站地图。robots.txt 指明站点地图路径,只关闭 /admin/ 文件夹:除 CRM 外,整个网站对收录开放。

当网站出现尚无内容的新栏目——例如未来服务的页面——它们会立即获得 noindex,且不进入站点地图。页面填充完成的当天,我就解除限制。

  • robots.txt:Allow / 与 Disallow /admin/
  • 带 hreflang 替代版本的 sitemap.xml
  • 带 noindex 和栏目链接的 404.html
  • 草稿——noindex, follow,不进站点地图
  • site.webmanifest 与三种格式的 favicon

06 / 主机与重定向

唯一的地址版本,以及来自旧站的301重定向

网站只通过 https://maksutovdesign.ru 打开:带 www 的版本和不安全的 http 都以301重定向到主地址。搜索引擎不会把权重分散到同一地址的四种变体上。

上一版网站的8条重定向规则得以保留:/ai-art、/trip、/logofolio 和 /case/monin 等旧地址指向新页面,因此外部链接和书签不会变成404。服务器还会发送安全头和为期一年的 HSTS。

  • www → 无 www,http → https,均为301
  • 8条旧地址规则
  • 关闭目录列表:Options -Indexes
  • HSTS 1年,以及 nosniff、SAMEORIGIN 头

07 / 速度与体积

不使用框架的静态站:首页 HTML 仅 87 KB

87 KB是首页 HTML 的大小;CSS 内联在文件中,没有外部阻塞样式表。
87%的图片(3,505张中的3,049张)随滚动懒加载。
1年图片和字体的缓存期限;CSS 和 JS 为一个月。
gzip服务器对 HTML、CSS、JS、JSON 和 SVG 的压缩。

这里的速度是架构的结果,而不是事后优化:没有 JS 框架,没有构建,没有笨重的 CMS。主要体积来自图片,所以它们以一年的缓存期提供,替换文件时会换新名称,用户立刻就能看到新版本。统计用的是我自己的轻量计数器,不使用第三方 cookie,也不会因别人的脚本拖慢页面。

09 / 如何维护

三个脚本,以及每次发布前的检查

SEO 层不会过时,因为它不靠手工修改。每次内容变更后,都会运行同一套动作。

步骤作用何时运行
seopack.py在所有页面重建 canonical、hreflang、OG 和 JSON-LD修改 title、description 或面包屑之后
build_search_index.py根据页面全文更新四套搜索索引修改文本或新增页面之后
标签检查查找每个页面中未闭合和多余的标签构建发布压缩包之前
链接与移动端布局检查查找失效链接、横向滚动和控制台错误重大结构变更之后

洽谈项目

您的网站需要SEO吗?

发来网站地址——我会做审计、编写修改任务书,并告诉您先改什么。

订购SEO

10 / 相关页面