快速回顾

出席: Astral_12, eche|on, KillYourTV, LaughingBuddha, RN, str4d, topiltzin, zzz

会议记录

20:08:58 <RN> 会议在我断线的时候就开始了吗? 20:09:17 <eche|on> 哪个会议? 20:09:38 * KillYourTV 指了指主题 20:10:09 <RN> 主题:这里开发者会议在 UTC 12 月 18 日周二晚 8:00(20:00)^^ 20:11:38 <KillYourTV> 也许他们已经停了…… 20:12:12 <LaughingBuddha> 随时开始就行? 20:18:08 <RN> 通常是 dg 主持会议 20:18:27 <RN> 我记得有一次他得离开时是 lillith 接手的 20:18:50 <str4d> 他上周没出现,所以才这样。 20:18:53 <LaughingBuddha> 有总体议程的链接吗? 20:18:53 <str4d> (前一周他也很忙) 20:21:29 <RN> 嗯,通常会有一个议程…… 20:22:25 <str4d> 有他前几次会议一直在用的议程链接,但我现在访问不了 zzz.i2p…… 20:22:28 <RN> 在 trac 上 20:22:28 <eche|on> 那就是更新的状况 20:22:28 <eche|on> 现在更新/流量特别多 20:22:28 <RN> http://trac.i2p2.i2p/wiki/meeting 20:22:28 <str4d> o/ topiltzin 20:22:28 <eche|on> 比以往任何一次更新都要快得多 20:22:28 <str4d> RN,你能访问那个吗? 20:22:28 <Benedikt> 发生了什么?这个网络里的某台服务器掉线了吗? 20:22:31 <str4d> 不管怎样,我这边准备了几个议题,如果你们不行的话。 20:22:31 <RN> 议程看起来自 12 月 4 日那次会议以来就没更新了 20:22:31 <topiltzin> \o str4d 20:22:31 <eche|on> Benedikt:网络分裂(net split),经常会发生,因为 I2P 的 tunnels 不稳定 20:22:31 <Benedikt> 哦,谢了 20:22:34 <str4d> 好吧,我就提个伪随机的议程。 20:22:45 <LaughingBuddha> 说吧 20:23:07 <str4d> (0)打个招呼。 20:23:07 <str4d> 嗨! 20:23:15 <LaughingBuddha> 哎呀 20:23:31 <topiltzin> 怎么样 20:25:46 <str4d> 还有其他人吗? ^_^ 20:25:52 <str4d> 好,那继续: 20:25:52 <str4d> (1)网络健康状况 / 更新状态 20:26:31 <str4d> 过去几天/一周左右,网络健康状况(在我看来)相当糟糕。我们知道这是不是一次真正的攻击吗? 20:26:46 <str4d> 还是仅仅因为一些 bug 导致持续退化? 20:27:58 <LaughingBuddha> 我想在更多人实际更新到 0.9.4 之前,我们不会有确切答案 20:28:29 <RN> str4d,trac 的链接?有 20:30:43 <topiltzin> eche|on 报告了一些怪异的行为,不过即使大家升级到 0.9.4 我们也未必能确定 20:34:04 <str4d> psi 似乎认为其中一部分跟俄语教程建议用户强制启用 floodfill 来找到更多节点有关。 20:34:07 <str4d> 关于更新: 20:34:15 <str4d> <eche|on> 现在更新/流量特别多 20:34:18 <str4d> <eche|on> 比以往任何一次更新都快得多 20:34:29 <str4d> eche|on,还有什么要补充到这个更新进度摘要里的吗? 20:36:17 <eche|on> 到目前为止,我的节点已经推送了 780 个完整更新 20:37:38 <str4d> LaughingBuddha 说通过 torrent 更新对他有效。有人知道当前 swarm 有多大吗? 20:37:54 <str4d> (我只知道开发者的 routers,不过知道一下也有意思) 20:38:13 <KillYourTV> 大概 10 个左右 20:38:59 <eche|on> 对我来说这个 torrent 的使用量很低 20:39:06 <KillYourTV> 或者这么说吧:我能看到 10 个 peers 20:39:17 <eche|on> 我这儿 su2 有 6 个,sud 有 4 个 20:40:01 <KillYourTV> 由于只有极小一部分开发版用户被提供了 torrent 更新,所以到目前为止传输很少我并不惊讶。 20:40:16 <Astral_12> str4d:6-7 个 peers,su2 20:40:30 <str4d> KillYourTV,不,所有开发版用户都会提供 torrent。 20:41:09 <str4d> 如果版本号以 -0 结尾,而你选了 0 到 99 之间非 0 的数字,你就不会拿到 torrents。 20:41:12 <str4d> (如果我记得没错) 20:41:15 <KillYourTV> 哦……那是我误解了。 20:41:23 <KillYourTV> http://tracker2.postman.i2p/details.php?dllist=1&filelist=1&info_hash=%09k%a6%29%14%7b%15%f6%f89%d7%1b%1c%d9T%fe%60c%ec%7c 20:41:23 <iRelay> Torrent #19559: i2pupdate-0.9.4.su2, 大小: 3.06 MB, 下载: 6, 添加时间: 2012-12-17 17:52:22, S/L: 10/1 20:42:01 <str4d> 不过这足以表明更新机制在工作(而且我们不用太担心可扩展性,因为对于 torrents 已经过了充分测试 ^_^) 20:43:11 <iRelay> <ReturningNovice@kytv> 我错过了 torrent 选项 20:43:37 <iRelay> <ReturningNovice@kytv> 是从 0.9.3-13 升级的 20:43:48 <str4d> 好吧,这里暂时没什么可说的了——我们可以在下次会议评估这次更新的效果。 20:43:48 <str4d> (2)网站改版 20:43:48 <str4d> http://vekw35szhzysfq7cwsly37coegsnb4rrsggy5k4wtasa6c34gy5a.b32.i2p/en/site/ 这是我目前的进度(务必强制刷新以获取最新的 CSS) 20:43:55 <iRelay> 标题:The Invisible Internet Project - I2P(于 vekw35szhzysfq7cwsly37coegsnb4rrsggy5k4wtasa6c34gy5a.b32.i2p) 20:44:27 <str4d> RN,你的 router 可能是先通过 HTTP 找到更新的。 20:44:30 <eche|on> str4d:当 torrent 不可达时,可扩展性就是个问题 20:44:37 <zzz> 没有这个选项 20:44:40 <eche|on> 而目前只有开发版会拿到一个 torrent 20:44:59 <str4d> 检查 http://localhost:7657/debug —— 你应该能在那儿看到一个 TORRENT 检查器。 20:45:14 <zzz> 而且不,单个 swarm 里 20,000 个在 I2P 内并没有经过充分测试。 20:46:14 <eche|on> str4d:而我在 0.9.3-15 上看不到 torrent 20:46:21 <str4d> zzz,对,我忘了这点了 *derp* 20:46:32 <LaughingBuddha> str4d:做种:0/9 个 peers 20:46:55 <str4d> zzz,当两个更新选项优先级相同时,更新管理器是如何选择的? 20:46:58 <eche|on> [RegisteredUpdater org.klomp.snark.UpdateHandler for ROUTER_SIGNED TORRENT @pri 10] *ooos* 20:47:08 <str4d> 是不是只是哪个先发现就用哪个? 20:47:50 <zzz> 不知道 20:48:39 <str4d> 看上面的粘贴内容,我猜是优先级数字越大越优先,而不是越小。 20:50:15 <str4d> 还有人要在这里补充什么吗?我们可以在下次会议评估这次更新的效果。 20:51:21 <topiltzin> 在我这看起来网站不错 :) 20:51:28 * str4d 25 分钟后得走,所以想继续往下 20:52:57 <RN> 请继续,str4d 20:53:21 <str4d> (2)网站改版 20:53:22 <str4d> 我调整了旧主题,使它们至少能指向 HTML 的正确部分,因此页脚中的链接可以用来试试可用的不同 CSS 文件。 20:53:52 <str4d> 这样可以大致看出新结构如何以不同方式布局。 20:55:17 <MTN11> i2p: kytv@mail.i2p * rb47286b470722a6382a963092219407946bcc5b6 installer/ (5 files in 5 dirs): 向空的 eepsite 目录添加占位的虚拟文件 20:55:17 <MTN11> git 和其他一些 VCS 不会保存空目录……但现在这些目录 20:55:17 <MTN11> 不再是空的了。 20:55:32 <jenkins> 开始构建 i2p 作业的第 #46 次构建(上次构建:SUCCESS) 20:59:21 <jenkins> 项目 i2p 构建 #46:SUCCESS,用时 2 分 42 秒: http://kzzj7cu24fo6w7jsisgysh65lfyrkjaaaqsdn3hvlop6lp36vs2q.b32.i2p/job/i2p/46/ 20:59:24 <str4d> 大家感觉如何? 20:59:24 <str4d> 我还做了几处后端更改,希望能让网站管理更容易——例如,现在提升 router 版本只需要在两个地方做了,zzz 20:59:24 <str4d> (嗯,其实只要一个,不过我又加了一个,这样就能把 Launchpad 加进镜像列表) 21:01:40 <str4d> 有人看到我上面的消息了吗? 21:03:08 <KillYourTV> 看到了。我觉得网站看起来很好。 21:03:31 <LaughingBuddha> 嗯 21:03:37 <LaughingBuddha> 设计 +1 21:03:37 <str4d> 好——卡 21:04:45 <KillYourTV> 不过有几个坏链子,但也许你们已经知道了 21:06:05 <KillYourTV> 具体来说 http://vekw35szhzysfq7cwsly37coegsnb4rrsggy5k4wtasa6c34gy5a.b32.i2p/en/site/volunteer/develop/developerskeys 链接到 http://vekw35szhzysfq7cwsly37coegsnb4rrsggy5k4wtasa6c34gy5a.b32.i2p/en/site/volunteer/develop/monotone ,但后者不存在。 21:06:55 <str4d> 我仍然打算把设计开放给社区提建议(因为 duck 的设计里还有些地方让我不爽),但作为第一版,它能用。 21:06:58 <str4d> 按照工单 #807,这些坏链子是已知的(主要在我最早迁移的页面上,因为当时我还不知道其他页面会放到哪里)。 21:06:58 <str4d> 问题: 21:07:01 <str4d> - Blog 和 Meetings 的 feed 保持现在这样可以吗,还是应当截断内容(让读者必须去主站查看全部内容)? 21:07:05 <iRelay> http://trac.i2p2.i2p/ticket/807 - (已接受的改进) - 网站改版 21:07:36 <str4d> - Meetings 的 feed 需要更醒目吗,还是说在 meetings 索引页上的 <link> 就足够了(Firefox 会在“书签 -> 订阅此页面”里捕捉到)? 21:08:39 <str4d> KillYourTV,哦,那是另一个 bug——页面是存在的,但我把它引入的 monotonerc 文件挪动了,所以我得修一下>< 21:09:07 <str4d> 不过这些类似的链接都会修复。 21:09:21 <str4d> - 有人对上线前需要进行的内容调整有建议吗? 21:09:35 <str4d> - 除了 ATOM,我们还需要 RSS 吗? 21:10:55 <zzz> 所有页面都会保持相同的 URL 吗? 21:10:58 <str4d> - 镜像中的“any”链接是否应该优先选择一个根据访问者语言推断出的国家的镜像? 21:11:44 <topiltzin> 这个很棘手 21:12:30 <topiltzin> 当前的行为是什么? 21:13:08 <str4d> zzz,就目前这些 URL,我基本满意(但欢迎提建议)。 21:13:18 <str4d> 不过还有少数页面我不知道该放哪。 21:13:21 <str4d> topiltzin,要看当前行为,请见 http://vekw35szhzysfq7cwsly37coegsnb4rrsggy5k4wtasa6c34gy5a.b32.i2p/en/feed/blog/atom 和 http://vekw35szhzysfq7cwsly37coegsnb4rrsggy5k4wtasa6c34gy5a.b32.i2p/en/feed/meetings/atom 21:13:27 <iRelay> 标题:I2P Blog0.9.4 Release(于 vekw35szhzysfq7cwsly37coegsnb4rrsggy5k4wtasa6c34gy5a.b32.i2p) 21:14:02 <zzz> str4d,我是说相对于现有站点与新站点 21:14:32 <str4d> zzz,如果你在问页面是否和当前站点在相同的 URL:不是。 21:14:35 <str4d> 这些 URL 现在“终于有道理”了。 21:15:25 <str4d> zzz,有一些旧的辅助映射会把老的 URL 重定向到新的,但那只对部分页面有效。 21:15:32 <zzz> str4d,那我们得谈谈了。我们积累了很多 SEO / link juice。另外 /static/ 下有几项必须保持不变 21:15:46 <zzz> hosts.txt 订阅,以及备用新闻 21:15:50 <str4d> (也就是 meetings、status,以及放进 legacy map 的任何页面) 21:16:04 <zzz> 我们的控制台里也有很多指回网站的链接 21:16:04 <str4d> zzz,据我所知,静态那些是一样的 21:16:37 <zzz> 你能为每个旧页面都做一个重定向吗? 21:17:46 <str4d> LEGACY_MAP={ 21:17:52 <str4d> 'download': 'downloads_list' 21:17:52 <str4d> } 21:17:52 <str4d> ^-- 我们可以在那里添加从旧站到新站的映射。 21:17:52 <str4d> zzz,那就得是手动重定向,不过可以。 21:17:52 <topiltzin> 这种 link juice 的积累会在我们的所有域名之间互通吗? 21:17:55 <str4d> (不过我想把兼容旧链接的代码移到一个单独的文件里,因为那会非常非常长) 21:17:58 <str4d> 如果我让它用 301 重定向,客户端就会把这个重定向视为永久的(还是说是 302?) 21:18:33 <topiltzin> 我们能不能把新站放在 geti2p.net 上试运行,把旧站留在 i2p2.de 或类似地方? 21:19:00 <str4d> topiltzin,据我所知,geti2p.net 跟现在是同一个站点(只是第二个域名) 21:19:07 <str4d> (也就是说,同一个后端) 21:19:42 <zzz> 这不是小事。过去 5 年我们积累了很多链接声誉,不能轻易丢掉。把这件事做好非常重要。 21:19:42 <topiltzin> 我在想办法尽早做一次流量测试 21:20:10 <str4d> zzz,好的,我会把我移动过的每个页面都添加到 LEGACY_MAP 里 21:20:17 <zzz> 还有一点——带 .html 后缀和不带后缀都要能工作。 21:21:03 <str4d> zzz,已经做了(在旧链接映射器里加了一行) 21:21:03 <str4d> 另外,大家能给以下文件建议新的 URL 位置吗?(我卡住了) 21:21:03 <str4d> i2ptunnel_services.html jbigi.html manualwrapper.html minwww.html ports.html ratestats.html 21:21:34 <zzz> 还有 rel=canonical 相关的东西 21:22:19 <str4d> zzz,你能详细说说吗? 21:22:26 <zzz> 当 i2p.net 不在了以后,我们实际上花了不少时间在 SEO 上,试图把我们的“汁水”拿回来 21:22:41 <zzz> 在 _layout.html 里 21:23:20 <zzz> 你要指回主站,这样镜像站就不会吸走你的声誉。 21:23:27 <zzz> 这也是为什么镜像总是标记为 nofollow 21:24:10 <zzz> 这样你就不会把名声拱手让人 21:27:32 <topiltzin> 用镜像做流量测试可行吗? 21:28:25 <str4d> 好,那我们只需要确保这些被带到新的 global/layout.html 里 21:30:02 <str4d> (我猜 duck 没做这事) 21:32:53 <topiltzin> (很想看看一些关于 SEO 的聊天记录) 21:34:37 <zzz> str4d,如果你还没开始考虑 SEO,现在就该尽快投入了。首页上的每一个词都很重要。 21:35:00 <zzz> 不管是当前首页还是 duck 的版本,文字都是非常仔细斟酌过的。 21:36:58 <zzz> 比如看看我们在 Google 上对“garlic routing”的排名。我就是从零写了那一页,专门为了拿到这个搜索词的排名。 21:40:37 <str4d> 我更多在关注让新站运转起来。不过我没怎么改动文本内容。 21:41:36 <str4d> 我可以过一遍,确保新布局不会丢掉任何链接方面的东西。不过就现在的首页,zzz,你对 SEO 有什么建议吗? 21:43:52 <str4d> 因为迁移过来的页面文本内容没变,一旦加上旧链接的重定向,它们应该就没问题。 21:45:20 <zzz> 几个月没看了。URL 再给一下? 21:46:13 <zzz> 另外 str4d,我们应该在 URL 里统一用 '-' 而不是 '_'。现在是混用,但过去 10 年里,Web 明显已经标准化用 '-'。下划线看起来很糟,而且对 SEO 来说也没差了 21:46:29 <str4d> 在上面 21:46:32 <str4d> 工单 #807 里也有链接 21:47:19 <str4d> 是的,我注意到混用了。我会修一下。 21:47:22 <zzz> 好的我去看工单。我看到上面的链接都指向 feed 之类的 21:48:19 <zzz> 另外,给经常被推特或引用的页面保留短 URL 也很好——/download、/faq 等等。 21:48:22 <str4d> 上面的链接——用那个 b32 21:50:25 <zzz> 如果你或其他可信的人愿意更进一步,在 Google 站长工具里认领我们的网站、加上站点地图等,那就太好了。我并不是说我们的 SEO 有多好,只是说我们以前至少会稍微想一想。 21:52:00 <str4d> 我正打算在后端加上站点地图生成,所以我愿意去做。 21:52:18 <topiltzin> Google 站长工具会把数据回传给 Google 吗? 21:52:58 <zzz> 只有你把他们的 JS 放到你的网站上才会 21:53:27 <str4d> 短 URL——用旧的 URL 就够了吗? 21:54:10 <str4d> topiltzin,只有我们跑 Google Analytics 才会 21:54:49 <topiltzin> 但如果不回传任何东西给 Google,我们还能得到有意义的信息吗?或者说我们不在乎?偏执型用户在乎吗?等等。 21:55:38 <zzz> 当然,好问题。当然我们也可以直接用 awstats 或类似工具分析我们的日志,看看来源页和搜索词 21:55:45 <zzz> 怀疑已经好多年没人这么做了。 21:57:16 <str4d> 嗯,这些工具当然会回传,但那只是因为它们在对接 Google 的数据 21:57:26 <str4d> 不过站长需要是非匿名的吗? 21:58:06 <zzz> 据我所知只需要一个 gmail 地址 21:58:13 <str4d> topiltzin,我们会拿到 Google 搜索信息,这本身就有用。 21:58:39 <str4d> 按我的记忆,Analytics 在技术上和站长工具是分开的 21:58:46 <zzz> 总之,这些暂时都是次要的 21:59:21 <str4d> 好。zzz,你访问到那个站了吗? 21:59:44 <zzz> 没有啊,一直在跟你聊天 :) 22:00:49 <topiltzin> 我喜欢一边聊天一边预取 eepsites :) 22:02:17 <zzz> 我现在上行带宽不太够,抓不了那么多 22:02:20 <RN> “ 嗯……服务器遇到了一些错误。 ” 22:03:08 <RN> 我从下拉菜单里选 FAQ 时就出现这个 22:03:31 <zzz> 你是怎么和旧网站保持同步的?你在 mtn 里从它分了支,还是手动做的,或者把这整件痛苦的事都往后推了? 22:03:34 <str4d> Rn,奇怪……不应该这样。 22:04:00 <str4d> zzz,在 mtn 里分了支,并定期合并(prop)。 22:04:23 <str4d> 我在改版中不改内容,所以合并都还不错。 22:04:58 <str4d> 有几次比较棘手,但大多数都是轻松的 prop。 22:10:49 <zzz> 你想要什么方面的反馈?坏链接?整体组织?布局/颜色/CSS?我不清楚你现在做到什么程度。 22:11:54 <RN> 暗色主题看起来不太对 22:12:00 <str4d> 导航布局、URL 形式、整体可用性、以及首页内容 22:13:21 <str4d> RN,旧的两个都不太行。我已经问了 dr|z3d 要一些指点,不过当前的这些主题都很可能不会是最终版。 22:13:51 <str4d> RN,关于那个错误,我大概 20 分钟后看一下 22:14:07 <zzz> 所以希望最终版本里不会有主题选择器了? 22:14:58 <zzz> 多个主题是可怕的时间浪费 22:15:20 <str4d> zzz,大概不会,除非对最终主题迟迟定不下来。它们现在只是为了帮设计师。 22:15:43 <LaughingBuddha> 用户随时都可以自己做。这不是开发者该担心的事情 22:16:20 <LaughingBuddha> 我看是这样 22:16:27 <str4d> 我现在只是把链接放在那里,先把功能暴露出来。 22:17:36 <zzz> 首页最让我别扭的是那条带链接的黑色条。它们其实不是真正的链接,因为只会弹出菜单,点了也不会去任何地方 22:18:37 <zzz> 感觉颜色不对、位置不对、尺寸也太小之类的。它不符合页面其他部分的风格,我在想是否应该把那一整块放到绿色部分下面 22:19:12 <str4d> 我还没把精力放在配色或风格上。 22:19:49 <str4d> 不让菜单标题成为链接这个决定,是在可用性讨论和反馈之后做出的。 22:20:16 <str4d> 当时认为有的能点有的不能点会造成困惑。 22:20:43 <str4d> 计划是用 CSS 把这种区别做得更明显。 22:21:35 <zzz> 我说不上来,但顶部三段(黄色、黑色、绿色)好像多了一段,或者顺序不对,之类的 22:21:35 <zzz> 也许不只是颜色/风格的问题?不知道。总之有种没打磨完或格格不入的感觉 22:21:35 <zzz> 也许通过一些样式可以把它们统一起来,也可能不行。 22:21:42 <str4d> 导航条的颜色和风格会调整得更融合一些,但我现在需要一个能用的东西。 22:22:00 <zzz> 我很想在某个页面找个地方放一个“大庆 10 周年 2003-2013”的横幅 22:22:50 <str4d> (这就是我加主题链接的原因,想展示相同结构可以有不同的呈现) 22:23:24 <zzz> 什么是“词库结构”? 22:23:31 <zzz> 还没点过主题链接 22:24:20 <str4d> 啊,手机打字失败。应该是“same(相同)” 22:25:06 <zzz> 现在我还真希望我没点过 22:26:09 <zzz> 可惜 dg 好像突然消失了。那股年轻的热情这么快就消退了? 22:26:28 <zzz> 两次会议就没了 22:26:47 <str4d> 是啊,因为新结构,有一半旧的 CSS 没有被正确使用。 22:26:58 <str4d> css* 22:27:36 <str4d> 听起来他最近挺忙的。 22:28:26 <zzz> 所以这是我的结论。黑色菜单栏似乎问题最大。倒不是说我有啥建议,就是感觉/看起来不太对。 22:30:12 <topiltzin> 我相信会有另一个 dg 出现,或者原来的那位会在合适的时候回来 :) 22:30:28 <str4d> 对。那它里面链接的布局呢?合理吗? 22:30:28 <topiltzin> 但在这期间,我们仍然做得很好,同时也很重要的是要听听那些不那么年轻、也不那么激动的观点 22:31:10 <str4d> (另外,我会试试把黑色条的配色改成 duck 示例导航条的配色。) 22:31:37 <zzz> 只是惊讶 dg 能在几天内从 60 迈骤降到 0。 22:32:51 <zzz> 不知道我们是否想在首页放 jar、exe 等的直链。下载页上的文字看起来很重要。 22:33:45 <zzz> 肯定需要一个指向 trac 的链接,看起来那个丢了? 22:34:16 <zzz> 如果点击那个词能直接去某个页面,那也会是很大的帮助 22:34:26 <KillYourTV> Volunteer -> Develop -> Bug Tracker 22:34:54 <zzz> 哈天哪 还有两级? 22:35:32 <zzz> 没有小箭头表明还有下一级 22:36:09 <zzz> 我们真的想在首页,或者任何地方搞两级菜单吗?这可能超出了 topiltzin 奶奶能应付的范围 22:36:44 <zzz> 而且当奶奶点“下载”时,我们最好真把她带到一个页面去 22:37:43 <topiltzin> 对,先确保她能拿到 I2P,至于让她成为开发者以后再说 22:38:15 <zzz> 唉,或许干脆把花哨的下拉菜单删了,直接用四个超大按钮替代 download-about-help-volunteer 22:39:01 <str4d> 会有的。 22:39:23 <topiltzin> 如果这四个大按钮颜色漂亮,奶奶会很喜欢的 22:39:34 <str4d> 而且是 topiltzin 建议把 docs 移到 about 菜单里的,所以严格来说有三级 22:39:57 <str4d> zzz,我之前把 Trac 链接放在 help 菜单里,但 topiltzin 建议移到 voliunteer -> develop 22:40:11 <zzz> 感觉我们是在试图做一个分层网站,但却只是通过首页一个复杂的多级菜单来实现。我们真正需要的是实际的分层页面,比如一个 about 页面、一个 volunteer 页面和一个 help 页面。 22:40:57 <KillYourTV> 现在 sud 有 8 个 peers http://tracker2.postman.i2p/details.php?dllist=1&filelist=1&info_hash=%f0%d8%27%17W%cfF%83%9em%9e%3f%d8%f8%85%2ac%baRV 22:40:57 <iRelay> Torrent #19558: i2pupdate-0.9.4.sud, 大小: 7.09 MB, 下载: 6, 添加时间: 2012-12-17 17:49:15, S/L: 7/0 22:41:00 <zzz> 试图仅靠那条黑色条来创造结构是不够的,也可能根本就不是该尝试的地方 22:41:30 <str4d> zzz,结构体现在 URL 里。我把这种结构复制到了导航栏,因为我觉得这样有道理。 22:42:13 <str4d> 我一直在说,最大的问题是决定如何把旧页面从单个目录重排为层级结构,而在这方面我几乎没有得到什么帮助。 22:42:24 <zzz> 只是随便抛些想法。我已经几个月没看了,明天也许又会有不同看法。 22:42:47 <zzz> 不是在批评,只是在讨论 22:43:06 <str4d> 所以我最大的问题是,我做的结构决策是否合理? 22:43:25 <str4d> (也就是说,对我以外的人来说) 22:43:35 <topiltzin> 我们有这么多可探索的方向是件好事,我相信这会带来很多有建设性的讨论 22:43:55 <str4d> 一旦现有页面的结构定下来,其他问题就可以围绕它来处理。 22:43:58 <topiltzin> str4d:在我这是的 22:44:31 <str4d> 还有谁对我之前问的那几个剩余页面该放哪有建议? 22:44:34 <str4d> i2ptunnel_services.html jbigi.html manualwrapper.html minwww.html ports.html ratestats.html 22:45:00 <topiltzin> 而且既然 dg 已经证明他能在远少于几天的时间里从 0 到 60 迈,这些讨论会非常有趣的 </offtopic> 22:45:06 <zzz> 你说的“放”是什么意思? 22:45:09 <str4d> 还有一些更旧的页面我还没加进来,因为我觉得它们有点不相关,但它们大概也应该有个去处: 22:45:12 <str4d> announcements.html clt.html cvs.html i2ptunnel_migration.html invisiblenet.html myi2p.html transition-guide.html upgrade-0.6.1.30.html 22:45:12 <str4d> benchmarks.html _config feed.atom installation.html jrandom-awol.html statusnotes.html transition-guide.txt 22:45:16 <zzz> 从哪里链接到它们? 22:45:23 <str4d> zzz,在后端 / URL 里。 22:45:34 <str4d> 所有网站页面都存放在 pages/site/ 下面 22:45:45 <str4d> 从那里开始,文件夹结构就和 URL 对应。 22:46:04 <zzz> 你把所有文件也都层级化了? 22:46:21 <str4d> 例如,关于单向 tunnels 的页面存放在 pages/site/docs/tunnels/unidirectional.html 22:46:36 <zzz> 因为把一切都过度分类看起来像是徒劳无益 22:46:39 <str4d> zzz,是的——这会让站点管理在人员和代码上都容易很多。 22:47:13 <zzz> 既然你这么说。但拜托,弄个 misc/ 目录就完事吧。 22:47:48 <zzz> 记住,一个文件只能在一个位置,但可以有多个链接指向它。别把自己困在“每样东西都要放在它该在的地方”这种想法里。 22:48:26 <str4d> 好吧,就放 misc。虽然我不太同意——至少从 SEO 的角度看,独特的内容应该有独特的 slug 22:49:00 <str4d> 因此,我想尽力把 URL 弄对。 22:49:04 <zzz> 我觉得如果你把发布说明、会议日志和状态更新单独拉到各自的目录里,你会发现剩下的没多少了 22:49:35 <zzz> 当然,URL 要唯一,但可以从很多地方链接到它。并不是 tunnels/index.html 里的每个链接都必须指向 tunnels/xxx.html 文件 22:50:16 <str4d> 是的,没错(这本身也是为什么还有一半链接是坏的) 22:50:31 <zzz> 比如 how.html 里有重复的链接,还有指向各种主题的链接。 22:50:34 <str4d> 但我想让每个页面的 URL 对这个页面来说是“有道理”的。 22:51:05 <str4d> 例如 /en/site/docs/transport/ssu 和 /en/site/docs/spec/ssu 22:51:16 <str4d> (两个都有——一个是文档,一个是规范) 22:51:46 <zzz> 理论上很好,实践中未必。也可能一切都挺好。 22:52:23 <str4d> 但如果大家都能接受把剩下的页面放到 /en/site/misc/* 下面,那我就这么放了(我已经对页面归类有点腻了 @_@) 22:54:09 <zzz> 只是别试图实现什么菜单:主题:URL:文件名 1:1:1:1 的神话且无用的目标 22:55:07 <zzz> 而且深层级对谁都没好处。害了 SEO、害了手动输入的人、也害了 URL 可读性,等等……所以别走极端 22:55:10 <str4d> b 23:00:46 <str4d> 关于这点,我在想有没有办法把 URL 里的“site/”去掉——它只是让 URL 更长。 23:01:04 <str4d> 但考虑到其他页面例如是“/en/download”或“/en/blog”,那么“/en/site/*”可能就不可避免。 23:02:46 <str4d> 而 URL:文件名 的映射也不可避免,因为它们是平面文件,所以想在不再存一份映射的情况下从文件名得到 URL,唯一办法就是用它的路径。 23:04:00 <topiltzin> zzz:你今天提的那些问题里,哪些算真正的“拦路虎”,而不是可以渐进改进的? 23:04:03 <zzz> lang/site 看起来不太好 23:04:07 <zzz> 我们不能只用内容头(content headers)吗? 23:04:07 <str4d> 我读了一些 SEO 文章,整体感觉是带分类的更长 URL 会更好。 23:04:48 <str4d> 我记得和 welterde 讨论过,但我不记得他反对的理由了。 23:06:05 <str4d> 后端只需要从某处拿到一个语言代码。 23:06:08 <str4d> @babel.localeselector 23:06:09 <str4d> def get_locale(): 23:06:09 <str4d> # If the language is already set from the url, use that 23:06:09 <str4d> if hasattr(g, 'lang'): 23:06:09 <str4d> return g.lang 23:06:09 <str4d> # otherwise try to guess the language from the user accept 23:06:09 <str4d> # header the browser transmits. The best match wins. 23:06:09 <str4d> return request.accept_languages.best_match(['en', 'es', 'zh', 'de', 'fr', 'it', 'nl', 'ru', 'sv', 'cs', 'ar']) 23:06:09 <str4d> 这是当前的方法。 23:06:24 <str4d> 但如果我没记错,welterde 并不太喜欢只依赖 ACCEPT_LANGUAGES 23:07:01 <zzz> 我对后端其实不太了解,但听起来你是在用一种相当刚性的 url->file 映射技术? 23:07:16 <zzz> 我都不知道你是不是还在用现在这个后端,还是用的新东西 23:07:42 <str4d> zzz,不,并不是刚性的技术——刚性的是要求这些页面必须在 mtn 里。 23:07:46 <str4d> @app.route('/<string:lang>/site/<path:page>') 23:08:01 <str4d> ^-- 那是 site URL 的捕捉器。 23:08:31 <zzz> 关于“拦路虎”,我不会把我的评论归类为拦路虎,只是评论而已。而且看起来我们现在这个阶段也还谈不上什么拦路虎? 23:08:34 <str4d> 后端只是把“page”转成文件系统路径,然后把得到的文件交给模板渲染器。 23:09:01 <str4d> zzz,我希望像这样的讨论能让我们完全避免出现拦路虎 =) 23:09:28 <zzz> 好。不过你的时间表是怎样的?几天、几周、几个月、几年?我确实不知道。 23:11:20 <str4d> 我希望能在接下来的几个月内把新站上线。 23:11:23 <str4d> 理想情况下,在下个版本发布前就把站点结构理顺。 23:11:23 <str4d> 更早之前* 23:11:23 <str4d> 所以我认为主要的拦路虎是为新结构做出一致的设计。 23:12:01 <str4d> 所以结构要几周,上线要几个月。 23:13:07 <str4d> 主要是因为还有很多与 I2P 相关的项目我想投入时间,我也想先完成一些当前的项目 ^_^ 但话说回来,我不想匆忙上线一个糟糕的网站。 23:13:50 <zzz> 站点的结构(菜单、页面)很重要,但不算太难。正如我说的,文件的结构不是同一回事,也不是特别重要,我不会在它上面花超过 5 分钟。 23:16:16 <zzz> 不过在顶层,去掉 en/site 会很棒。它们看起来就不该出现在 URL 里 23:16:18 <str4d> zzz,我同意这种区分,但在你当前的要求下,文件结构等同于 URL 结构,而这对 SEO 非常重要。 23:16:48 <zzz> 但通过映射,你可以跳过 en/site,比如说。 23:18:24 <str4d> 有一点——去掉 /en/site(以及其他页面的 /en)意味着新 URL 会和旧链接捕捉器混在一起,这会让事情变得棘手…… 23:19:18 <zzz> 这对 SEO 很重要,但我不知道正确答案。en/site/docs/router/transport/udp/spec.html 比 /udp-specification.html 更好还是更差?不知道。 23:19:25 <str4d> 这意味着除了有一张旧 URL 到新 URL 的映射,我们还需要一张新 URL 到其文件的映射,这基本上就是一个数据库了。 23:20:12 <str4d> 据我做的一些初步 SEO 阅读,/docs/spec/ssu(或 udp)要比 /udp-specification 更好。 23:20:49 <str4d> 不过我现在又在读一篇鼓吹扁平站点结构的文章。 23:21:12 <str4d> ……或者不是?我也说不清…… 23:21:59 <zzz> 总共有大约 575 个文件,180 个 meeting,48 个 release,95 个 status,剩下只有 240 个其他的 23:22:28 <str4d> “除了聪明的内部链接,SEO 还应该确保网站的分类层次能体现在 URL 中。” 23:24:39 <str4d> 下面是一个好的 URL 结构示例: 23:24:42 <str4d> http://www.dmoz.org/Games/Video_Games/History/ 23:24:42 <str4d> 下面是一个不好的 URL 结构示例: 23:24:42 <str4d> http://www.imdb.com/title/tt0468569/ 23:24:45 <iRelay> 标题:Open Directory - Games: Video Games: History(于 www.dmoz.org) 23:24:53 <iRelay> 标题:The Dark Knight (2008) - IMDb(于 www.imdb.com) 23:26:52 <str4d> 这似乎呼应了我获得的普遍观点。 23:27:04 * str4d 将做更多 SEO 研究……唉…… 23:27:07 <zzz> 我觉得你得先把语言这件事搞清楚 23:27:34 <str4d> 好。我们知道用户会设置 ACCEPT_LANGUAGES 吗? 23:27:37 <str4d> s/that/if/ 23:27:40 <iRelay> str4d 的意思是:好。我们知道用户会设置 ACCEPT_LANGUAGES 吗? 23:27:44 <str4d> HTTP 代理会过滤这个吗? 23:28:35 <zzz> 如果你正确处理 accept-*,那我猜爬虫会工作得更好 23:28:35 <zzz> 但手动选择语言怎么办——设一个 cookie,用它来覆盖? 23:28:35 <zzz> 我几乎不了解该怎么做 23:28:38 <zzz> 在你最终决定是 lang/.... 还是 .../foo_lang.html 之前,没法再推进太多。我不知道 en/site 这个方案是不是 duck 定的,即使是,也不重要 23:29:25 <zzz> 对于博客、新闻等,最佳实践很明确:myblog.com/2012/12/i-think-obama-is -the-whatever.html 23:32:14 <zzz> 很多网站会用带重定向的短 URL,用于广告和那些“猜 URL 的人”——例如 http://cbs.com/survivor 23:32:21 <iRelay> 标题:Survivor: Watch Episodes and Video and Join the Ultimate Fan Community - CBS.com(于 cbs.com) 23:32:40 <zzz> 用于推特、脸书和广告的短 URL,或许是否重定向并不重要 23:33:39 <zzz> I2P 的 HTTP 代理会过滤 accept-* 23:45:41 <str4d> zzz 对,所以确实需要一个基于 URL 的语言选项…… 23:47:49 <str4d> cookies——我们能否假定所有网站用户都会启用 cookies? 23:48:16 <str4d> 或者至少所有非英语用户(无论 I2P 还是明网) 23:49:50 <zzz> 不知道 23:54:23 <str4d> 在 I2P 里,我们当然不想疏远那些更谨慎的用户。 23:58:45 <str4d> 总之,这次会议有点变成了网站讨论会——抱歉! 23:58:45 <RN> 对,我默认就屏蔽 cookies,我想我不是一个人 23:59:07 <RN> 这些都是重要的事情,str4d :) 00:02:24 <str4d> 那我现在正式结束会议,不过网站方面的讨论可以继续(虽然我要离开一个小时左右)。 00:02:27 <str4d> 除非有人有要快速提出的点? 00:02:34 <str4d> 3 00:02:34 <str4d> 2 00:02:34 <str4d> 1 00:02:37 * str4d *baf* 地关闭了会议。 00:07:57 <topiltzin> 感谢大家,这些内容很好。我学到了很多关于 SEO 的东西,而且看到 zzz 这么热情很开心。(也许是 dg 魔法粉尘的后效应 :))我希望能贡献更多,但网站真的不是我的强项。 00:08:13 <topiltzin> 也感谢 KillYourTV 和 sighup-bot__ 提供日志 :) 00:13:54 <zzz> 噗。我都不知道我们还在开会 :) 00:26:40 <topiltzin> 刚回过神来 :) 后座太舒服,我走神了一会儿