# 前言

为了避免显得是在说教或者自卖自夸，我们先明确一个共识：网站是**真正**为了用户服务的，所以应当尽量改善浏览体验，一切以访客和用户为本，除此之外才是其他的东西。

现在让我们看看这个网站，对，就是你[目前看到的这个网站](https://ypixel.net)。你可能注意到几点：

1. 看起来很老旧，但兼容性也强。
2. 完全没有任何多余的内容。
3. 浏览文章时，浏览器请求的数据通常不超过100KB。

至少在我看来，这是极好的，因为它不会导致用户浏览网页时变得更加困难，至于老旧与否只是一种美术风格的选择，我并没有说网站一定要做得老旧，这是我自己的偏好。

# 主要问题

那么我们再来看看很多博客网站（我不会提供对应的链接，因为那无异于是一种私下指责），它们是如何设计的呢？

1. 如果你在页面上右键，选择`查看页面源代码`，会发现通常有几千行；如果你按F12，选择网络，勾选`禁用缓存`然后重新加载，会发现会加载巨量资源。
2. 大量JavaScript（ECMAScript），提供着各种各样的功能，然而读者可能并不想要它们，不过这也并非可选的，这一点在后文中会详细阐述。
3. 引入了分析脚本，它们可能会追踪用户，并成为用户浏览器上报告的一个数字（很多浏览器都会显示被拦截的追踪器数量）。

## 具体来说

这可能是无意的，我并不知道这些博主的想法，但是我要说这种设计是比较糟糕的，总结起来不外乎加载慢、跟踪用户，还有一点是使用非自由许可，当然这是额外的问题。我所说的大量JS主要被用在哪些方面？若是**为了呈现内容**而在前端渲染Markdown或者在前端进行代码高亮，这倒是也无可厚非，但如果是为了：

1. 展示一个Live2D的二次元角色，访客可与之互动；
2. 自动加载一个音乐播放器，即使用户可能并不想在这个网站听歌；
3. 各种特效，例如雪花、树叶飘落，时不时遮盖文字；
4. 复制时给文本加入许可证声明和来源，或者干脆禁止复制、禁止打开F12；
5. 在用户切换到其他标签页时改变标题，或者显示一个挽留文案；
6. 其他影响阅读体验的行为——这本质上是一种滥用。

## 我的观点

我个人认为这是一类很糟糕的设计。访客完全可能想要在专门的音乐网站或者软件里听歌，而不是在阅读一个博客时与博主共享音乐审美；Live2D形象，大多访客也并不想要；各种特效更是直接拉低画面帧率的罪魁祸首之一。核心问题：你做网站是为了阐述你的观点、给用户提供参考、发布教程和文章，还是制作一个简易的2D游戏的同时，把访客真正需要的内容放在里面呢？

这和网站是否是静态站点或者是否依赖后端API无关。一个依赖后端的博客也可以设计得很简洁，一个纯前端的博客也可以塞入很多用户不需要的内容。使用何种博客框架并不是主要问题，因为静态站点生成工具和带有后端都可以将站点设计得不那么……令人厌烦。个性化并不是坏事，但我反对的是强行给大多数只是为了文章而来（例如通过搜索引擎查找问题而进入博客）的访客强塞太多东西。

还有一个问题是跟踪脚本，有些可能是CDN提供商加入的，算是无心之失，可如果你主动引入分析脚本，如果它不是匿名的或者不尊重用户隐私，那么事实层面上用户确实被它们跟踪了，很多浏览器也会拦截这样的行为，但比起上面那些设计来说，这可能要稍微好上那么一点。

# 如何解决

有些行为也会对网站SEO造成影响，所以这并不单单只是用户的问题，这也和网站自身有关。更何况，网站自身也需要使用服务器的资源，因而每当有人访问时，为了发送几KB文字，你要搭上几MB甚至十几MB的服务器流量，付出更多成本同时，还让访客分散了注意力，使他们难以再将注意力放在你的文字或者说明图片上。

今天我是一时兴起从而撰写的这篇文章。我谈论这些时并没有刻意避开自己的网站，它至少目前并没有我所描述的问题，当然如果你有发现，可以评论或者联系我。我当然是在批评这样的现象，但是我并不想攻击这些博客的站长，因为他们也正在为互联网整体做出贡献，只是如果这样的设计能少一些，对用户而言其实是再好不过的了。

如果你是这样的博客的站长，不妨认真考虑一下：这类复杂功能大多是其他人写好然后你一键加入的，去除它们其实也很简单，注释掉然后重新部署就可以了，或者只是在后台关掉一个开关、卸载一个插件的事情，就能够切实地提高浏览体验。这不是很好的事情吗？对于浏览这篇文章的访客，你也可以在这些网站上留下评论告诉博主你想看到的是什么样的博客，这样或许能提升你自己的浏览体验。

# 后记

我知道很多博客框架会附带很多功能，这只是设计理念的区别，没有好坏之分。很多博主也会分享如何在页面中加入装饰性元素。不过具体怎么用，这就是一个关键的区别了。我并不认为很多时候把博客网站设计得很繁杂是故意的，如果读者喜爱这样的设计，博主能否增加一个一键打开或关闭的选项，并把这些弄成默认关闭的，只有明确启用后才去加载呢？我也默认了一个前提，就是有一部分读者可能也很喜欢有个性又好玩的博客网站，但当博主用力过猛的时候，这样做真的不会导致你的注意力被分散、难以得到你真正想要的东西吗？我持保留意见。
