按此:WordPress 万圣节恐怖故事

已发表: 2022-10-28

欢迎来到来自 WMR 的 WordPress 社区播客 Press This。 每集都有来自社区的嘉宾,并讨论 WordPress 开发人员面临的最大问题。 以下是原录音的抄录。

由 RedCircle 提供支持

Doc Pop :您正在收听 Press This,这是 WMR 上的 WordPress 社区播客。 每周,我们都会聚焦 WordPress 社区的成员。 我是您的主持人,Doc Pop,我通过我在 WP Engine 的角色以及我在 TorqueMag.io 上的贡献来支持 WordPress 社区。 您可以在 Red Circle、iTunes、Spotify 上订阅 Press This,也可以直接在 wmr.fm 下载剧集。

南瓜香料拿铁又回来了,12 英尺高的骷髅又在 Home Depot 有库存,这意味着万圣节又来了。 现在,万圣节的起源可以追溯到古代凯尔特人的节日,人们会点燃篝火并穿上服装来驱鬼。

本着这种精神,我们认为我们会在今天的 Press This 节目中讲述来自地狱或安装出错的客户的怪异故事。 因此,当我们听到我们的第一位客人 WP Engine 的工程经理 Chris Wiegman 讲述一个可怕的故事时,请和我一起坐在火炉旁。 克里斯,你能在这里给我们定下心情吗? 在你开始讲述你的故事之前,请告诉我们它发生的时间以及你在生活中的位置。 有点设定故事的气氛。

Chris Wiegman:这是一个古老的故事。 它可以追溯到一个很远的州,并且与我现在所做的工作相去甚远。 这是我在 WordPress 行业的早期工作之一。 这将是 2014 年的冬天到春天。差不多九年前,这发生了。

DP: 2014 年。你之前告诉我你有一个成功的插件。 你能告诉我们你要讲故事的那个插件吗?

CW:当然,这个故事也是关于早期插件的成功之一。 它是一个现在称为 iThemes Security 的插件,我将它作为 Better WP Security 卖给了 iThemes。 当我卖掉它时,我们知道我们有超过 200,000 名活跃用户,记住这是九年前的事了。

那是在他们甚至还没有可用的下载数量和所有恐怖故事之前——现在已经被删除了。 这是在这之前甚至是一回事。 所以我们知道我们有很多用户,我们知道我们有一个非常成功的插件,我们正在发布它的第一个版本,作为从 Better WP Security 到 iThemes Security 的更名。

DP:你实际上让我想到了这里,你说的是在跟踪活跃安装的日子之前。 您是否大致知道您有多少下载量,或者您当时如何知道您有多少活跃用户?

CW:最好的办法是积极下载和大量有根据的猜测。 当时,我把它放在谷歌分析中,这样就清理了很多东西,但是在谷歌分析之前,我们唯一知道的方法就是下载了多少,然后我们可以根据我们有多少活跃用户来猜测以为有。

DP:好的,所以你有一个非常流行的安全插件,一个 WP 安全插件。 你有很多活跃的安装,可能还有很多活跃的用户。 你说这是早期的 WordPress 插件成功案例之一。 你刚刚卖掉了它,所以对你来说一切都很顺利。 到目前为止,这是你的恐怖故事中的成功故事,对吧?

CW:到目前为止。 是的,事情进展顺利。 我们现在有一个支持人员来全职帮助我。 我有时间,现在是一家公司的一员,我可以投入全部时间来开发它,这样我们就可以真正做一些事情,比如一个 beta 程序并让人们对其进行测试,并确保一切正常,并真正花时间来确保当我们准备第一个版本时,一切都应该是正确的,应该一直在工作。

DP :所以事情进展顺利。 你为什么不在这里进入故事的核心。 告诉我们发生了什么?

CW:当然。 好吧,发生的事情是该插件有两个功能。 第一个是 10 年前在 WordPress 中被广泛认为是安全的一部分,也就是说,我的意思是它根本不是安全的,实际上,尤其是我们现在知道,那就是隐藏管理区域或隐藏 WP 登录。

通常,您转到 URL 并弹出登录表单。 我们曾经喜欢说——我现在承认,即使在那时,它可能更多的是营销而不是安全——如果你把这些藏起来,网站会更安全。 这有点像把你家的前门放在你家的旁边,声称你的房子更安全。 它没有那样工作。 但要实现这一点,让人们对此感觉更好,这是一个非常复杂的功能。

我们在这个版本中打破的第二个功能是所谓的“离开模式”,基本上,如果你在一个朝九晚五的办公室,并且你根本不希望人们在工作之外进入它小时,例如对于学校或医生办公室或类似的东西,此功能将设置该表格完全可用的时间。 因此,您无法登录该网站。 除了站点管理员指定的时间之外,您无法进入后端。

为此,这两个功能都被大量重写。 我认为这个数字是我们在 3 月初发布的 4.0 版本。 因此,从我开始并出售它到最终能够全职工作,这是四个月的时间。 你知道,这一直是我的副业。 我在其他公司和学校有一份全职工作。 这是我第一次能够全职开发插件。

所以我们开始了一个测试计划,我们重写了这些功能并发布了它们,我想说的是在 3 月 1 日左右给予或接受。 所以在那次发布后的两三天里,一切看起来都还不错。 反馈似乎是积极的,我们从未听说过 beta 测试人员有任何问题。 我们有 100 个人对这个东西进行 beta 测试,一切看起来都很好。 然后问题开始出现。人们无法访问他们的站点。 我现在不记得它是否只是仪表板,我认为在某些情况下整个网站都崩溃了,我们无法弄清楚原因。

好吧,你一定是做错了什么。 事情已经发生了足够的变化,也许你的配置是错误的。 我们就这样走了一天左右。 然后它爆炸了。 我们没有关闭一两个有错误的站点,我们确实找到了错误,并且在最初发布后的大约一周内修复了错误。 根据使用次数和我们知道有多少人在使用这个功能以及这个和那个,我们通过这个错误估计减少了 10 到 20,000 个站点。

离开模式和隐藏后端的组合只是让事情陷入循环。 你无法登录,你无法访问任何东西,网站实际上已经死了。 而且您不能只登录并禁用该插件。 你必须进入托管。 现在,如果您曾经与主机和 WordPress 用户打过交道,有时这真的很容易。 告诉别人嘿,登录并禁用插件很容易,这将解决您的问题。 但是,如果您无法登录怎么办? 你如何去那个插件来禁用它? 所以我们在几天之内就收到了几百条一星评论。 它刚刚爆炸,对任何人来说都不是一个好情况。

DP:哇。 所以你认为大约有 10 到 20,000 个网站在使用这个插件,并且在四个月的时间里得到了这个漂亮的更新,并且有一个 beta 程序,并且经过了很好的测试,你有一个支持它的团队。 但它并没有立即让这些网站崩溃,而是一系列滚动的崩溃。 起初看起来像是用户错误,很快就变成了,“不,这是我们做的事情。” 那么,在您知道数百条负面评论和数千个网站关闭之后,您是如何反应的,您的下一步是什么?

CW:嗯,你能做的只有这么多。 我们的目标是 A) 解决问题。 有些人回来了,很多人随着时间的推移回来了,有些人再也不会接触产品了,这是可以理解的。 我们打破了对它的信任。

然后第二件事是确保我们甚至在此基础上有所改进。 未来版本的一些功能测试和类似的东西。 在我完全离开该插件工作之前,我只使用 iThemes 的 14 个月的插件。 我们制定了相当多的计划,相当多的测试,相当多的程序来确保类似的事情不会再次发生。 据我所知,这种类型的插件或特定的插件从来没有。

DP:那对你来说一定是有压力的。 你觉得你从这次经历中学到了什么吗? 从那以后你有没有因为这次经历而改变?

CW:从那以后我没有做过这样的商业插件。 我学到的一个教训是,即使是 beta 程序,你也必须在 beta 程序中获取正确的数据。 我们能发现这个吗? 很明显,通过正确的设置组合,是的,我们可能已经在测试版中发现了它。 但相反,我们刚刚打开了一个测试版并说,“来试试吧。 如果你看到任何东西,请告诉我们”,没有任何指示。 而不是“专门尝试这个”或“专门尝试那个”。 你把它和其他所有事情结合起来。 如果有一个弱点,那就是缺乏方向,缺乏检查测试版中的每个功能,只是从大局而不是具体细节来看待一切。

DP:所以,如果 Chris 刚刚告诉你的故事是 20,000 个网站在听起来像是成功推出了一个新插件之后出现了问题,那么请在这次休息后继续关注另一个恐怖故事。 我们马上回来。

DP:欢迎回到万圣节版的 Press This,一个 WordPress 社区播客。 在这一集中,我们讲述了插件出错的可怕故事和其他 WordPress 恐怖故事。 我是您的主持人 Doc Pop,现在我正在与同时制作 WordPress 插件的网页设计师和开发人员 Derek Ashauer 交谈。 德里克,我听说你给我们讲了一个鬼故事。 你能设置场景吗?

Derek Ashauer:是的,所以这是我职业生涯的早期,很久以前。 我仍然在一家正常的公司全职工作,制作和建立网站,但我正在做一些兼职工作。 我帮助一个小型音乐会场地建立了一个定制的票务系统,因为他们真的很讨厌 Ticketmaster。 他们是一种独立的场所,所以他们想做任何事情来避开那些大公司。 但我建立了这个相当不错的票务系统,至少我是这么想的。 在 Blink-182 真正流行的那一天,他们将举办一场盛大的音乐会。 他们将把它们放在他们的场地,他们将以每张 1 美元的价格出售门票。 所以当他们发布门票时,这件事会在一夜之间得到绝对的抨击。

所以我们设置了它,进行了各种测试,并认为它工作得很好。 然后到了我们应该发布它的早晨。 我想这就像一个星期一的早上 10:00。 我们有一些规则,一些基本的东西,比如你不能买超过八张票来尝试让尽可能多的人有机会获得票之类的东西。 再说一次,在我职业生涯的早期,所以我在检查事情方面做得并不好。 但场地本身可容纳约 1,000 人。 所以我们有一个限制,一旦达到 1,000 张门票就基本停止销售。

我们在 10 点发布,我在正常的日常工作中做我的事。 我有点检查它,以确保该网站至少正在加载和类似的东西,但并不太担心。 几分钟过去了,一切似乎都在进行中。 然后,突然间我开始收到短信。 然后我接到一个电话。 然后我收到另一条短信,我正在做我的正常工作,所以我真的不能轻易接受这些。

事实证明,我忘记进行小查询检查以检查已售出的最大门票。 突然间,它将达到 1,000、1,050、1,100、1,200。 我认为在我最终能够登录服务器并基本上拔掉插头之前,它售出了大约 1,600 张票。 很明显,场馆的老板们都慌了,吓坏了,他们有一个千座的场馆,已经卖出了大约1600张门票,所以他们显然很恐慌。 我在工作日的中间惊慌失措。 我将如何解决这个问题? 我要怎么做? 我得做我正常的工作,处理这个自由职业者的事情。 那一刻简直是一场灾难。

值得庆幸的是,事情最终做得非常好。 有趣的是,我没有检查的另一件不幸的事情是,人们绕过最大门票的一种方法是他们会多次购买但使用相同的电子邮件地址。 同样,这是我职业生涯的早期阶段。 我不太擅长弄清楚如何处理人们会尝试解决的可能情况。 所以他们检查了所有的订单,发现一个使用相同电子邮件地址的人订购了 24 张门票,所以他们联系了他们,退款,并尽可能多地这样做。 他们把它减少到大约 11-1,200 张门票。 这是很久以前的事了,我不记得确切的数字了。 但他们把它归结为关于那么多。

然后事件发生的那一天发生了,他们仍然有点担心能否适合每个人。 我认为最终只有600人出现。 原因是它只有1美元,所以很多人买了票以防万一,然后很多人不能出现。 所以他们从来没有遇到过容量问题。 这一切都结束得很好。

但是当所有这些门票都在处理并获得报酬并做所有这些事情时,这是一个压力很大的时期。 谢天谢地,最终客户非常高兴并且可以理解,他们并没有生我的气。 一旦我修补了那个小东西,他们最终就使用了那个精确的票务系统。 他们最终使用了我制作了大约 10 到 12 年的票务系统。 所以,是的,他们很高兴,我们把这一切都解决了。 即使对我来说,客户也做了所有的跑腿工作,接触到所有这些购买并做所有这些事情。 所以我只需要关闭服务器然后修复这个小补丁就不必处理太多后果了,谢天谢地。 但是,当我们试图弄清楚发生了什么以及那里发生了什么时,这是一个非常紧张的几个小时。

DP:那是过山车,德里克。 你正在设置这个场景,而我对它发生的时间有一点暗示。 你知道,Blink-182 有点受欢迎。 我假设您需要一个自定义插件,因为没有像现在这样好的选项。

DA:那是 2005 年。很久很久以前。 在附近的某个地方,是的。

DP:你正在构建一个自定义插件。 好吧,所以 Blink-182 的人气最高,门票是 1 美元。 这太疯狂了。 所以很明显会有很多需求。 整个过山车就像,“哦,不,我们卖的太多了。” 我以为你会告诉我你又卖了几万。 我很幸运你只超卖了 600 张门票,因为这可能会更糟。 然后是黄牛,男孩它成功了。 尤其是因为客户本可以把所有这些都交给你,以便伸出援手,提供技术支持,并取消这些票。 伙计,这是过山车。

DA:是的。 这是我第一个真正的大型开发项目,我开发过的最大的事情就是这个。 所以我只是不知道事情会如何出错,事情会出错到什么程度,甚至要检查什么,这是一次非常好的学习经历,这是肯定的。 我与客户的关系很好,所以他们很高兴,因为老实说,这是我做事的早期阶段,我几乎没有收取任何费用。 所以这并不是说我向他们收取了 50,000 美元的费用,然后突然之间它就不起作用了。 我得到了诚实的报酬,以每张票为基础。 当时我每张票 10 美分,他们通过他们的东西卖掉了,而我才 20 多岁,每月多赚几千美元。 那是惊人的。 这太棒了。 所以这是一个很好的情况。 但是,是的,就像我说的,他们一直使用它十多年,完全相同的系统。

DP:所以你为一个相当大的活​​动建立了这个票务系统。 正如我们所说,那个事件有点失控。 但听起来这两个问题有某种方法可以阻止黄牛至少使用同一封电子邮件。

DA:是的,没错。 我什至没有这样做,因为系统中没有用户帐户。 这很简单。 这只是一次客人结帐。 所以它甚至没有检查电子邮件地址或任何东西。 它确实会在每次售出门票时进行跟踪。 它记录了一个总数。 只是当人们访问该页面时,它忘记了检查已售出多少张门票以及我们是否通过了该数字,并阻止它出售更多门票。

DP:所以这两件事都得到了解决,而且这工作了 10 年,几乎是一种运行本身?

DA:是的,在那之后我再也没有真正碰过它。 它只是一直在巡航,直到他们最终变得足够大,以至于他们不得不进行一些业务合并,就像其他音乐公司之一一样,我忘记了它是什么。 他们基本上被收购了,所以他们就像,不,我们必须使用 Ticketmaster 或其他类似的东西,所以他们最终出于商业原因被迫放弃它。

DP:他们可能被 Clear Channel 收购了。

DA:是的,就是这样,Clear Channel。 是的,就是这样的。

DP:所以只是回顾一下。 根据您的经验,您会给处理类似项目的人提供什么建议。 你要警告他们的一件事是什么?

DA:我的意思是,这显然是在测试。 这很重要,只是在尽可能多的情况下尽可能多地测试你的东西。 我的意思是,我现在仍然在做自己的插件,实际上我刚刚收到了一个请求,就在今天早上,实际上,我回复说:“我什至从未考虑过有人这样做。 曾经。”

我有一个五彩纸屑插件,他说:“我在页面上放了两次五彩纸屑。 一旦页面加载完毕并随着用户向下滚动,它就会再次出现。” 而且我从来没有考虑过有人在一页纸上做两次五彩纸屑。 所以你知道,你可以随心所欲地测试,但有时你会遇到那些你没有想到的场景,但你仍然必须尽可能多地进行测试。

DP: Derek Ashauer,我真的很感谢你的时间。 您正在收听 Press This。 我们要休息一下,等我们回来的时候,我们会有一个最后的万圣节故事让你不寒而栗。 所以请继续关注。

DP :欢迎回到 Press This WMR 上的 WordPress 社区播客。 这是一个特殊的万圣节故事。 早些时候我们收到了 Chris Weigman 的消息,我想我会让 Chris 回来听我唯一的 WordPress 恐怖故事。

克里斯,你熟悉 Midjourney 和文本到文本图像生成器吗?

CW:像 Dall-e 之类的? 开放人工智能之类的东西?

DP:是的,Dall-e。 我正在使用它们并尝试不同的东西,作为一个经常溜溜球的人,我尝试的第一件事就是溜溜球表情符号。 溜溜球表情符号在那里真的没有得到任何好的结果。 例如,它没有得到任何看起来像 yo-yo 的东西,而且 yo-yo 这个词也没有让我在文本到图像生成器中得到任何东西。 但这真的让我很感兴趣,因为我一直得到非常一致的结果。 每当我使用悠悠球表情符号时,我都会得到这个看起来很酷的粉色和蓝色场景,背景是三座山峰,前景是一个人影。 这应该是一种随机的,我不断得到非常不同的图像,有粉红色和蓝色柔和的颜色、人物和前景之类的东西。 所以我真的开始深入研究为什么这个表情符号给了我这个,我花了几个小时研究不同的表情符号组合。 这个表情符号有什么作用? 当我做两个溜溜球表情符号时会发生什么?

我写了这篇庞大的博客文章。 这会像在 Dall-e 和 Midjourney 中发生的奇怪事情一样打开案件,为什么这个表情符号会给我这个图像? 为什么其他表情符号实际上会给我,你知道,椒盐卷饼会给我看起来像烘焙食品的东西,或者咖啡会给我看起来像咖啡店的东西。 但是悠悠球表情符号不断给我这个奇怪的场景。

因此,在我写完这篇庞大的博文之后,我的意思是,我花了数小时的时间进行研究、记录和做笔记。 然后是写作,我讨厌写作,就像拔牙一样,我点击发布就睡觉了。 现在是星期天晚上,我整个星期天都在研究这篇文章。

星期一早上人们就像,“当我去你的网站时,我看到的都是正方形,博士。 我看到你说方形表情符号给了我这个结果,但方形表情符号给了我这个结果。” 我去检查了。 你知道仪表板在后端看起来很棒,就像我这边和古腾堡编辑器一样。 它看起来很漂亮。 在前端,它都是正方形。 所有这些工作都是绝对拍摄的。 你知道为什么吗,克里斯?

CW:为什么会这样? 机器里有鬼? 小精灵?

DP:我的 WordPress 网站太旧了,数据库不支持表情符号。 完全一样。 这就像15岁。 如果我在过去八年里安装了一些东西,它仍然很旧,但它会在某种程度上支持表情符号。

我的 WordPress 网站上的数据库没有——如果您真的不知道自己在做什么,那么您不想做的一件事就是在您的 WordPress 数据库中四处寻找。 这就是我需要的,更新我的 WordPress 数据库,所以克里斯,这就是我的恐怖故事。 我去寻找一个插件来轻松转换为支持表情符号的东西。 任何可以做到这一点的数据库。 现在我将不得不雇人来更新数据库,这样我才能得到这篇我花了 10 个小时才真正以合乎逻辑的方式出现在我的网站上的帖子。

CW:那就行了。 旧技术就像僵尸一样等着给你带来麻烦,对吧?

DP:是的,你知道,而且它也教会了我很多东西。 就像,我可以在我的主机上进入我的门户网站,然后单击一下,我就可以更新我的 PHP。 我可以做所有其他的事情。 但是,是的,那个数据库,不,你必须知道你需要什么。 没有简单的解决方法。 而且我认为可能有,因为那些正在推出,但我有点错过了浪潮,就像那些修复数据库的东西,你知道,在这一点上更新它们,它们甚至已经过时了技术,这就是我的 WordPress 恐怖故事。 克里斯,它并没有让 20,000 个网站倒闭,但老实说,这真是太糟糕了,看到那篇博文并想到它可能是什么,我仍然不寒而栗。

但这就是我们的万圣节剧集 Press This,WMR 上的 WordPress 社区播客。 我要感谢我的所有客人今天加入我的行列。 克里斯,非常感谢你加入我。 您可以在 Twitter @thetorquemag 上关注我在 Torque 杂志上的冒险经历,或者您可以访问 Torquemag.io,我们每天都会提供类似的教程、视频和采访。 因此,请查看 torquemag.io 或在 Twitter 上关注我们。 您可以在 Red Circle、iTunes、Spotify 上订阅 Press This,也可以直接在 wmr.fm 下载。

我们是每周播客,下周我们将有 Fran Agulto,告诉我们如何克服您对 WordPress 无头的恐惧。 我们将讨论 headless 的优缺点,如果你担心跳到 headless,你担心学习 JavaScript,或者任何你需要做的事情来实现这个跳跃,Fran 会有给你一些很好的建议,所以请继续关注那一集。 我是你的主人,流行医生。 我通过我在 WP Engine 和 Torque 杂志的角色支持 WordPress 社区,我喜欢每周在 Press This 上关注该社区的成员。