01项目概述
Urlik是一个网址缩短器:您粘贴一个冗长、尴尬的地址,得到一个紧凑的链接,您可以愉快地放入聊天、放入电子邮件签名或打印在名片上。尽管这种简单性背后是一个完整的SaaS工具:每个短链接都带有一个二维码、详细的点击分析和通过公共REST API的访问。因此,Urlik对一次缩短文章链接的个人和通过该服务运行数百个活动并将统计数据提取到自己报告中的营销团队同样有用。
这个前提简单且经过时间考验:链接缩短是那些日常工具之一,其质量差异巨大。一些服务在重定向上滞后,其他服务则将分析隐藏在昂贵的计划后面,还有许多服务充斥着广告和额外的屏幕。我们着手构建一个工具,其中基本流程——粘贴链接,获取短链接——是即时且免费的,而企业所需的一切(品牌别名、分析、API)都在这里,没有人为障碍。
我们设计并构建了整个产品:从快速重定向架构和分析存储模型到仪表板、二维码生成和API文档。下面我们将详细介绍Urlik解决了什么问题,它在后台是如何工作的,以及哪些工程决策使我们能够在不牺牲任何一方的情况下将重定向速度与丰富的分析相结合。
上下文很重要。Urlik并不是作为一次性的“缩短这个链接”小部件而构思的,而是作为一个具有免费层和付费功能的独立工具。免费计划消除了进入障碍并吸引了受众,而自定义别名、高级分析和API则提供了留存的理由,并将该服务融入实际工作流程。这个模型在每个阶段都驱动了优先事项:核心重定向的速度和可靠性比任何装饰都更重要,因为它们是赢得产品信任的关键。
02背景和问题
任何学生都可以在一个晚上 "技术上" 缩短一个链接:生成一个短代码,将其放入一个表中,访问时重定向。这并不是难点。难点在于使工具 快速, 可靠,以及 有用的一次性处理所有内容——并在负载和时间的推移中保持这种状态。当我们拆解任务时,一套明确的需求和陷阱浮现出来。
- 重定向速度是产品。一个短链接位于用户和他们想要的页面之间。每增加一百毫秒的重定向时间都会造成摩擦和流失。重定向在任何负载下都必须接近瞬时。
- 正常运行时间至关重要。如果一个短链接服务宕机,每个已经发出的链接都会停止工作——在电子邮件、帖子和印刷材料上的二维码中。这不是一个你可以偶尔放弃的系统。
- 在不降低速度的情况下进行分析。每次点击都必须被计数并丰富(地理、设备、来源),但方式不能减慢重定向本身。
- 独特且易读的代码。短代码不得冲突,必须保持简短,并且不得意外形成冒犯或误导的组合。
- 自定义别名。企业需要一个有意义的链接“尾部”,以便于其品牌或活动,而不是一个没有个性的字符串——并且有其自身的可用性和有效性的逻辑。
- 滥用保护。任何公共短链接立即成为垃圾邮件和网络钓鱼的目标,因此您需要限制、验证和对策。
任务是这样设定的:构建一个在基本流程中感觉即时的短链接生成器,同时在其背后提供完整的分析和API。普通用户应该完全看不到复杂性——他们粘贴一个链接并立即获得结果。深入了解的企业会发现自定义别名、按地理位置和设备划分的点击统计数据,以及用于自动化的程序化访问。
一个单独的层是 对短链接的信任。缩短的URL本质上隐藏了真实地址,用户对这样的链接持谨慎态度。因此,产品必须整洁、可预测,并且没有理由被视为垃圾邮件来源:一个干净的域名、诚实的分析、在重定向上没有侵入性广告。
03项目目标
该任务产生了具体的产品和工程目标,我们在每个阶段都牢记这些目标:
- 即时重定向。基本流程——跟随短链接——在任何情况下都必须快速。这是产品的主要质量指标。
- 高正常运行时间。每个分发链接依赖的服务必须可靠运行。停机时间在任何情况下都是不可接受的。
- 一步缩短。粘贴一个长URL,获取一个短链接、一个二维码和一个统计链接。基本流程无需注册,无需额外屏幕。
- 自定义别名。能够为品牌或活动设置自己的链接“尾部”,并进行可用性和有效性检查。
- 详细分析。每个链接:点击次数、点击的地理位置、设备和浏览器、来源和推荐者,以及随时间变化的趋势。
- 每个链接一个二维码。短链接和二维码是同一事物的两种形式,特别是对于离线材料;二维码应该自动生成。
- 一个公共的REST API。这样服务可以嵌入到其他产品中并实现自动化:以编程方式创建链接和提取统计数据。
- 一个免费层。作为增长引擎的低门槛:基本功能免费,高级功能在付费计划中。
这些目标是故意按优先级排序的。速度和正常运行时间是第一位的,因为它们是信任的基础。其他一切——分析、别名、API——都是在此基础上叠加的,如果基本重定向表现不佳,则毫无意义。
04我们做了什么
Urlik 将链接工作分解为几个清晰的部分,涵盖整个生命周期:从创建短链接到分析人们如何通过它进行浏览。
链接缩短
粘贴一个长 URL,获取一个带有唯一代码的短链接。基本流程只需一步,无需额外的屏幕。
自定义别名
为品牌或活动提供您自己的有意义的链接 "尾部",并进行可用性和有效性检查。
二维码
每个短链接都会自动生成一个二维码 — 方便用于印刷、包装和离线材料。
点击分析
点击计数、地理位置、设备和浏览器、来源和趋势 — 所有信息都在一个清晰的仪表板中。
公共 REST API
以编程方式创建链接并提取统计数据 — 用于集成和自动化工作流程。
免费套餐
基本功能是免费的;自定义别名、高级分析和更高的限制在付费计划中。
在这个核心之上是一个个人仪表板,用户可以在其中管理他们的链接、查看统计数据和获取二维码,以及开发者可以集成的API文档,而无需进行一次调用。所有这些都作为一个产品结合在一起,核心是快速重定向。
产品一句话概括: "粘贴一个长链接,获取一个短链接、二维码和统计数据。对于企业——品牌自定义别名、点击分析和用于自动化的REST API。快速,免费开始,没有广告杂乱。"
05解决方案架构
Urlik的核心架构理念是分离两种非常不同的负载特征:便宜的、超频繁的重定向和仪表板及分析的更重的工作。这些任务有不同的访问模式和不同的速度要求,因此将它们混合成一个“胖”处理程序将是一个错误。
从逻辑上讲,系统分为四个模块:
- 重定向层 — 从 "短代码 → 目标 URL → 重定向" 的最精简路径。这里的一切都服务于速度:每个请求的最小工作量,积极缓存 "代码 → 链接" 映射,快速响应浏览器。
- 链接创建层 — 生成唯一代码,检查和保留自定义别名,验证源 URL,生成二维码。
- 分析层 — 接收和处理点击事件:解析地理位置、设备、浏览器和来源,并随时间聚合以生成趋势图。
- API 和仪表板 — 一个程序接口和一个基于相同数据的网页界面:创建链接、管理它们和提供统计信息。
在底层是一个服务器堆栈PHP。关键原则:计数点击不能延迟重定向本身。用户会立即被重定向,同时丰富事件的分析(地理位置、设备、来源)和记录发生在用户的关键路径之外。首先快速将用户引导到正确的地址,然后再仔细计数点击。
“短代码 → 长链接”映射是服务中最热门的数据,它们非常适合缓存:链接只创建一次,但可能被读取数千次。因此,重定向层依赖于对这些映射的快速访问,而更复杂的分析则单独存在,并保持在冷路径上。
06链接生命周期
从用户的角度来看,整个流程可以分为几个步骤,大部分复杂性被隐藏起来。
- 1. 创建。用户粘贴一个长URL(或通过API传递)。服务验证地址,生成一个唯一的短代码或接受自定义别名,存储映射,并立即返回短链接和二维码。
- 2. 分发。用户将短链接(如有需要,还可以附上二维码)放在任何地方:在帖子、电子邮件、广告或印刷材料上。
- 3. 点击。有人打开短链接。重定向层通过代码解析目标 URL,并立即将访客重定向。
- 4. 计数。同时,点击事件被记录:时间、地理位置、设备类型和浏览器、来源/引荐。这是为了不延迟重定向。
- 5. 分析。在仪表板上,链接的拥有者可以看到摘要和详细统计信息:点击次数、来源、设备类型,以及趋势随时间的变化。
关键细节是 热路径和冷路径的分割。点击(步骤 3)必须是瞬时的,而收集和汇总统计信息(步骤 4-5)可以稍微慢一些,因为它们不在用户的路径上。这正是为什么产品可以同时拥有快速重定向和丰富分析的原因——它们在关键时刻不争夺同一资源。
07缩短和自定义别名
服务的核心是将长 URL 转换为短代码。这看起来微不足道,但其中隐藏着几个重要的工程决策。
生成短代码
短代码必须是唯一的、足够紧凑且具有抗碰撞性。我们使用紧凑的字母表和一种生成方案,使得代码不会碰撞,并且即使在大量链接的情况下也保持简短。此外,我们确保自动生成的代码不会意外形成冒犯性或误导性的组合。
自定义别名
对于企业来说,无面孔的字符串是一种损失。与品牌或特定活动相关的有意义的“尾部”链接要有价值得多。因此,Urlik 允许您设置自己的别名:该服务会检查它是否可用、在其字符集中有效,并且不与保留路径冲突。已被使用和保留的别名不会被分配,试图获取现有别名的行为会被如实报告。
验证源 URL
在缩短之前,服务会检查地址本身:确保它确实是一个有效的 URL,而不是垃圾或试图插入危险内容。这保护了用户和域名的声誉——服务的短链接不能成为垃圾邮件和网络钓鱼的工具。
这三种机制共同将“缩短链接”从一个简单的插入表格的操作转变为一个整洁、可预测的操作,既适用于一次性用户,也适用于通过服务推送数千个链接的企业。
08每个链接都有一个二维码
短链接和二维码是同一地址的两种形式。链接易于插入文本,而二维码可以通过手机相机从物理表面扫描:包装、海报、名片、菜单、传单。因此,在 Urlik 中每个短链接都会自动生成一个二维码,用户无需额外操作。
这关闭了一个完整的离线场景,否则需要第三方服务。营销人员缩短一个促销链接,立即获取二维码,并将其放在广告表面上——所有该二维码的点击分析与链接点击的统计数据相同。因此,离线渠道不再是盲点:来自印刷材料的点击与在线点击一起被计算。
为什么这很重要:一个与分析相关的短链接二维码将任何物理表面转变为可测量的渠道。你不仅可以看到你打印了一张海报,还可以看到有多少人实际点击了它。
09点击分析
分析正是将Urlik从一个普通的短链接工具转变为营销工具的关键。对于每个链接,该服务不仅显示点击计数器,还提供了点击者的完整信息,包括他们来自哪里以及如何点击。
被计数的内容
- 点击计数。链接上的总点击次数——最基本和最常见的指标。
- 地理位置。点击来自哪些国家和地区——对地理定位活动很重要。
- 设备和浏览器。桌面或移动,哪个浏览器 — 理解受众以及着陆页如何适应不同设备。
- 来源和引荐者。点击来源 — 哪个社交网络、电子邮件、消息应用或网站,当来源可以确定时。
- 随时间变化的趋势。点击在天和小时之间的分布 — 你可以看到发布后的高峰和兴趣的减退。
为什么企业关心
"短链接 + 分析"的组合使任何渠道都可衡量。发布新闻通讯 — 你可以看到有多少人实际点击了以及使用了哪些设备。在不同渠道分发不同链接 — 你可以比较渠道表现。在海报上放一个二维码 — 你可以理解线下表面的回报。实际上,每个短链接都成为一个易于纳入营销报告的迷你分析点。
同时,我们要记住,分析不能减慢重定向。收集和丰富事件的安排是为了不在用户点击时阻碍他们:首先,用户到达目标页面,然后事件才会被仔细计数并汇总到图表中。
10仪表板和链接管理
为了让产品独立运作,快速重定向和 API 还不够——你需要一个用户管理链接并查看结果的界面。Urlik 的仪表板是所有账户链接的“控制面板”。
在仪表板中,用户可以创建新的短链接,设置自定义别名,获取二维码,并查看所有链接及其关键指标的列表。每个链接都有详细的统计信息:点击次数、地理位置、设备、来源和时间趋势——这些在分析部分中描述,并汇总成清晰的图表和表格。
这涵盖了日常场景,无需联系支持:为新活动创建链接,检查已分发链接的表现,比较多个活动,获取打印用的二维码。仪表板的布局使基本操作一目了然,详细分析只需一键打开——而不会让第一个屏幕充满额外的细节。
一个单独的设计任务是让统计数据一目了然。没有上下文的数字是无用的,因此关键指标被放置在顶部,按地理位置、设备和时间的细分以清晰的可视化形式呈现,而不是需要解码的原始表格。

11公共REST API
Urlik 的构思不仅是一个手动使用的网站,而是一个可以嵌入到其他产品和流程中的工具。为此,提供了一个公共 REST API,通过它可以自动化缩短链接和提取统计信息。
通过 API,你可以以编程方式创建短链接(包括自定义别名),获取它们的详细信息和二维码,并提取点击统计信息。这为一系列自动化场景打开了大门:
- 批量链接创建。当你需要缩短的不仅仅是一个链接,而是数百个链接——用于产品、文章、活动——这可以通过一个脚本完成,而不是手动操作。
- 嵌入到你的产品中。服务可以在其自己的界面内发出短链接,使用 Urlik 作为后台引擎。
- 整合统计数据。点击分析可以自动拉入你自己的仪表板和报告,而无需手动登录。
- 自动化集成。与 CRM、邮件发送工具和无代码平台的连接,在触发时自动创建和计数链接。
API 设计为可预测:清晰的方法、机器可读的响应和错误,以及开发者可以在不打电话的情况下集成的文档。这使得 Urlik 从“又一个短链接服务”转变为你可以在自己产品中依赖的基础设施构建块。
12速度和可靠性
对于链接缩短器来说,速度和正常运行时间并不是“非功能性需求”——它们是产品的本质。如果重定向很慢或服务宕机,一切都会崩溃:用户已经发送和打印的每个链接。因此,我们对热路径给予了特别的关注。
快速重定向
“短代码 → 目标 URL”路径尽可能精简。每个请求的工作量最小,最热的数据——代码到链接的映射——通过快速缓存可用。目标很简单:访客应该感觉不到任何东西在点击和目标页面之间。
计数不会减慢速度
点击分析故意被移出关键路径。用户首先被重定向,然后事件才被丰富和记录。这样,丰富的统计数据不会与即时重定向的要求相冲突。
弹性
由于每个分发的链接都依赖于服务,我们内置了安全边际:重定向层简单且可预测,较重的部分(仪表板、分析、API)被分离,以便它们的负载不会影响重定向的可用性。热路径越简单、越独立,保持高正常运行时间就越容易。
这种优先级——重定向速度和可靠性高于一切——贯穿项目中的每一个决策。每个新功能都要经过一个问题的测试:它会减慢基本流程吗?如果会,它就被移出了热路径。
13滥用保护
任何公共短链接服务都会立即成为目标。垃圾邮件发送者和网络钓鱼者喜欢短链接,正是因为它们隐藏了真实地址。如果你对此无动于衷,域名的声誉和用户信任都会受到影响:服务的链接开始被标记为危险,整个产品的价值也会下降。
因此,从一开始就内置了滥用保护。该服务验证源 URL,限制异常活动,并且不会变成一个开放的工具来传播恶意链接。目标是让 Urlik 的短域名保持干净,避免因攻击者的行为而被列入黑名单。
同样谨慎公共服务的原则在这里适用:匿名用户造成伤害的方式越少,域名保持良好声誉的时间就越长。这一点对于免费层尤其重要,因为它的定义不仅吸引有用的受众,还吸引那些想要滥用服务的人。低门槛与滥用保护之间的平衡是一个独立的工程任务,不能一次解决后就忘记。
14技术栈
对于 Urlik,我们组建了一个堆栈,服从于一个要求——在合理复杂度下的重定向速度。没有多余的东西:每个元素解决一个特定的任务。
- 后端 — PHP:重定向层、链接创建、代码和别名生成、API以及仪表板逻辑。
- 重定向和缓存 — 热"代码 → 链接"映射通过快速访问提供,以便重定向几乎是即时的。
- 分析层 — 接收点击事件,解析地理位置、设备、浏览器和来源,并随时间聚合以生成趋势图表。
- 二维码生成 — 为每个短链接自动创建二维码。
- API — 一个公共的 REST 接口,用于集成和自动化,具有可预测的响应和文档。
在这里选择 PHP 是经过深思熟虑的:它是一个成熟的技术栈,在热路径上运行快速,操作可预测,使服务保持轻便且维护成本低廉——这对于一个有免费层的工具尤其重要。
15设计和用户体验
一个短链接工具销售的是简单性,因此我们使 Urlik 的界面精简且快速。主屏幕从属于基本流程:一个大的长链接输入框,一个按钮,以及一个立即显示短链接和二维码的结果。没有强制注册,也没有在“粘贴”和“得到”之间的额外步骤。
同时,产品不能显得原始。在简单的第一个屏幕背后是一个完整的仪表板,带有分析功能,从“仅仅缩短”到“查看统计数据”的过渡非常顺畅:高级功能不会妨碍新用户,但也不会对需要它们的人隐藏得太深。
特别注意统计数据的呈现。如果无法理解分析数据,那么它就是无用的,因此关键数字被放置在顶部,按地理位置、设备和时间的细分清晰可见。我们假设用户应该在几秒钟内掌握全局,而不是仔细研究表格。当然,重定向上方没有侵入性广告——它们会直接破坏用户对服务短链接的信任。
16我们的工作方式
我们分阶段进行项目,每个步骤都展示一个结果:
- 研究。我们拆解了短链接的使用案例、痛点(速度、正常运行时间、分析、滥用),并设定了优先级——热路径是首要考虑。
- 架构。我们设计了重定向层与分析之间的分离、代码和别名生成方案、统计数据存储模型以及API格式。
- 核心开发。我们构建了链接缩短、快速重定向、二维码生成,以及点击事件的接收和聚合。
- 仪表板和分析。我们制作了一个包含链接列表的仪表板,并按地理位置、设备、来源和趋势提供详细统计数据。
- API和文档。我们开放了公共REST API并进行了文档编写,以便集成无需电话联系。
- 启动。我们提供了一个免费层和付费功能的服务,并内置了滥用保护。
在每个阶段,我们都回到了主要问题——基本重定向的速度是否受到影响?这使得项目保持专注,防止一个轻量级工具变成一个过载的组合。
17结果
最终推出的不是“又一个短链接工具”,而是一个轻量、快速的SaaS工具,其基本流程是即时的,背后有完整的分析和用于商业的API。
- 基本流程只需一步,感觉瞬间完成 — 重定向不会让你等待。
- 每个链接都带有二维码和详细的点击分析:地理位置、设备、来源、趋势。
- 自定义别名为企业提供品牌短链接以用于活动。
- 公共REST API将该服务转变为集成和自动化的基础设施工具。
- 免费层降低了入门门槛,而付费功能则提供了留存的理由。
18要点
Urlik是一个看似简单的工具如何依赖深思熟虑的工程的例子。任何人都可以缩短链接;这里的价值不在于缩短的事实,而在于如何它是如何完成的:即时重定向、高正常运行时间、诚实的分析而不减速、自定义别名和API。这些低调的细节正是将有用的生产工具与一个晚上的学习项目区分开来的原因。
这个项目的主要教训是优先级的纪律。当基础是基本流程的速度和可靠性时,其他一切——分析、二维码、API——都能自然地叠加而不破坏主要内容。我们故意保持热路径轻量,不让新功能拖慢它。
对我们来说,这是一个在性能、分析和产品思维交汇处的项目——这种任务看似简单的服务在后台需要精心的架构。如果您需要一个快速的SaaS工具,一个具有分析和公共API的服务,或者一个速度和可靠性至关重要的产品,我们知道如何将这些东西推向发布。



