对大多数网店来说,Drupal Commerce 都是错误的答案。这并不是在批评这个项目,它十五年来一直工程扎实。这只是在陈述大多数网店的样子:几百个 SKU、一种货币、面向消费者的客户,最后刷一次卡。对这种形态的生意来说,托管型平台在每一个重要的维度上都会胜出,争论还没开始就已经结束了。 但确实存在一小部分商家,他们的账算下来完全相反,而且这是一批利润可观的商家。无法用变体网格表达的可配置产品。带有议定价目表的贸易账户。目录本身就是编辑内容。由 ERP 掌握库存与价格,而网站只是一个展示面。在这些生意里,托管型平台并不便宜,它是一笔长期缴纳的税,以应用、变通做法和"这里不许改"的形式支付。 本文要说清楚那条界线究竟落在哪里,并给出...
网页教程
清晰的网页开发教程,涵盖 HTML、CSS、JavaScript、性能、可访问性和 SEO。学习响应式布局、现代工具与网站优化。
Drupal 12 定于 2026年12月7日那一周发布,而 Drupal 10 在 2026年12月9日走到生命周期终点。这两个日期就写在 Drupal 核心发布计划的同一页上,相隔不过两行,可是绝大多数正在运行 Drupal 10 站点的人两个都没注意到。新大版本的第一个 alpha 已经在 2026年9月2日打上标签,所以这次发布的形状现在是记录在案的事实,不再是猜测。 这场撞车就是全部故事。一个大版本发布,对站点所有者来说通常并不紧急,因为你可以在旧的大版本上坐一两年,等生态跟上来。这一次不同,旧的大版本在新版本发布的同一周停止收到安全公告,于是一个技术事件变成了一个带着合规锋刃的截止日期。...
Elementor 与自定义主题之争,通常被当成品味问题来吵,偶尔还被当成部落身份来吵。它两者都不是。它是一个成本问题,而且形状可以预测:页面构建器把成本从建站阶段挪到了网站的运营周期里。这笔交易划不划算,取决于两个几乎没人摆到桌面上的数字,一是网站有多少页面,二是这些页面多久改动一次。 争论迟迟没有结论,是因为双方都在用轶事说话。有人说构建器慢,另一个人贴出一张绿色的 Lighthouse 分数,什么也没有定下来。性能确实是一项真实成本,但它只是一张更长账单上的一行,同一张账单上还有授权续费、插件堆栈、内容编辑吞吐量、无障碍整改,以及最后把内容重新取出来的价格。 Elementor 不是一个糟糕的工具。对一大类网站来说它就是正确答...
WordPress 7.0 于 2026年5月20日发布,版本代号 Armstrong,比原定的 2026 年日程表上的日期晚了六周,它是自 block editor 以来对代理商影响最大的一次内核发布。标题写的是内核现在可以和生成式 AI 模型对话。更值得注意的细节是,内核现在还规定了插件应该如何与这些模型对话,这悄悄改变了站点上每一个插件可以对自己地盘作出的假设。 对编辑来说,看得见的变化并不多。多了一个 Command Palette、一个更整洁的仪表盘、一个字体管理界面,以及更好用的修订记录。但对以维护站点为职业的人来说,真正重要的变化藏在后台之下:options 表里的一个凭据存储、一份站点能做哪些事的注册表,以及一个把它...
Drupal SEO 的名声并不完全配得上它的实力。随便问一圈,总会有人告诉你 Drupal 开箱即用就很适合搜索,而说这话的人往往是在拿十五年前对另一个平台的记忆做比较。一套原装的 Drupal 11 安装,既没有元描述字段,也没有 XML 站点地图,URL 变更时没有自动重定向,而且在编辑手动敲入别名之前,内容一直在 /node/123 上响应。 这不是在批评这个项目。核心刻意把自己的范围保持得很小,把一切带有立场的东西推给贡献模块,而这恰恰是大型 Drupal 站点能比多数平台调得更精细的原因。但这也意味着开箱即用这个说法承担了非常多的分量,意味着一个 Drupal 站点的搜索表现,几乎完全取决于第一天装了哪些模块,以及有谁把...
CMS 迁移属于少数几类项目:技术活可以做得毫无差错,结果却仍然是一场灾难。站点按期上线,样子更好看,加载也更快,流量却掉了一半,原因是几百条网址换了形状,而没有人去做那张对照表。技术验收一项项全过,商业结果却是负的。 丢掉的流量并不是新平台造成的,而是断裂造成的:以前能响应的地址现在不再响应,以前能被认出来的页面现在看起来像全新的,多年积累在旧网址上的历史也失去了去处。而且排名往往不是上线当天就掉下去,而是在随后的几周里慢慢往下沉,所以上线当天看着一切正常,并不能说明任何问题。 决定结果的只有一个判断:你要保留 URL 结构吗? 如果保留,迁移基本上就是一件内容和模板的活儿,风险有限。如果不保留,每一条变动过的地址都需要一条指向其...
多语言 SEO 通常被讲成一个翻译问题,外加一点技术标记。但把这个站点用十二种语言运营下来,也就是英语、阿拉伯语、德语、法语、匈牙利语、意大利语、日语、韩语、罗马尼亚语、越南语,加上中文的两种书写形式,我们很清楚地看到:翻译才是简单的那一半。 难的那一半在于,你在英语里习以为常的每一条规则,都有一个依文字系统而变的版本,而你原本并不知道它存在。长度上限不一样。结构会跑偏。数字会被一个想帮忙的译者写成汉字,从那一刻起就不再和原文对得上。这些问题在有东西去检查之前,一律看不见。 真正让它跑起来的是自动化,不是努力。 在任何内容上线之前,有十一项独立检查会从头到尾扫一遍:语言覆盖率、原文与各译文之间的结构一致、数字一致性、标题层级顺序、死...
在多数已经运营了一段时间的网站上,内容更新是回报率最高的一项工作,而它之所以不受欢迎,正是因为做完之后没有任何东西可以拿出来宣布。修改一篇已经有排名的文章,感觉像是在做维护。发布一篇新文章,感觉像是在往前走。数字通常不同意这种感觉。 原因在于,一个已经存在的页面早就积累了那些昂贵的东西:外部链接、抓取历史,以及与一组搜索词之间被验证过的关系。新页面从零开始,什么都没有,要花上好几个月才能挣到旧页面早已拥有的东西。而改进旧页面,是直接叠加在这份积累之上。 会让整件事白做的错误,是只改日期,别的什么都不改。 这种做法足够常见,值得把话讲明白。一个把新鲜度纳入考虑的检索系统,比较的是内容而不是时间戳,一个日期动了、实质却原封不动的页面,除...
程序化 SEO 指的是用一套模板加一份数据集批量生成页面:每个城市一页、每个产品组合一页、每种参数组合一页。如果用的是真实的数据集,它是这个行业里效率最高的做法之一。如果用的是同义词词典和洗稿工具,它就正是搜索引擎花了二十年学着识别的东西。 区别不在技术。两条路都会大批量地产出模板页面。区别在于每一页是否包含只有这一页才能回答的东西,而这是关于你手里数据的问题,不是关于你内容流程的问题。换句话说,这个问题的答案在数据库里,不在编辑部里。 区分两者的检验方法: 把模板拿掉,看看一页上还剩下什么。如果剩下的是真正不同的事实、不同的价格、不同的数据集、不同的计算,这一页就有存在的理由。如果剩下的是同一段文字换了个地名,...
内容修剪是搜索优化里最违反直觉的一件事,因为所有本能都在说,页面越多流量就该越多。发布内容让人感觉是在积累资产。删除内容让人感觉是在把别人花钱买来的成果丢进垃圾桶。于是删除总被一再推迟,最后只剩下一堆越堆越高的页面。 让删除真正生效的机制,是你自己的页面之间在互相竞争。当你有两个页面瞄准同一个搜索意图时,本来会集中在一个页面上的信号被劈成两半,而必须在两者之间做选择的检索系统,最后甚至可能一个都不选。解决办法不是把两个都做得更好,而是不要再同时拥有两个。 在删掉任何东西之前,先看清每个页面各自在做什么。 一个没有点击的页面,可能仍然承接着一条传递权威的外链,也可能每月只有一位访客,却把这位访客变成了比网站其余部分加起来还值钱的询盘。...