10年前做的一把刀实用查询网站当时先是同事用Java开发了一个版本,但以后的持续改进、维护、开发不方便,我就又弄了一个MediaWiki平台,做了《中文简体》、《中文繁体》、《英文》三个版本,十年过后还一直有用户使用,几个版本的情况:
- https://cn.18dao.net 中文简体:流量不大,虽然内容与繁体基本对应,质量还算不错的,但百度不给与好的权重;
- https://tw.18dao.net 中文繁体:流量一直不错,主要来源是台湾用户使用Google, Yahoo带来的流量,也有不少回访用户;
-
https://en.18dao.net 英文:流量也不大,那确实是因为内容太少、质量不高。
这些天在检查阿里云RDS负载,看到实时查询语句里面有不少中文繁体版本的全文搜索SQL语句成了慢查询,再去Google Analytics里面看该站的搜索情况,发现每天还有2000-3000左右的内部搜索量,很多都是其中的“漢語詞典”、“成語詞典”相关的关键词。
但我们在用MediaWiki做这个站的时候,因为有大约100个栏目,页面标题都是采用的“栏目名+文章名”的方式,例如“漢語詞典/中”、“成語詞典/刻舟求劍”,但用户在站内搜索的时候往往都是直接输入单字“中”或者成语“刻舟求劍”,这样就会搜索出来包含关键词的页面列表,用户再点击进入相关页面,其实应该是直接进入该字或者成语的页面是最符合用户预期的,而且也避免不必要的搜索让数据库负载增加。
以前也想到过做一些重定向页面来实现,就是增加“中”、“刻舟求劍”这样的页面,用户输入这样的关键词后可以通过重定向页面直接跳转、看到“漢語詞典/中”、“成語詞典/刻舟求劍”页面。这两天尝试了一下,发现这样可行,于是就批量生成了重定向页面,做成XML格式文件,用MediaWiki软件中的maintenance/importDump.php来导入,XML文件示范如下:
<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.10/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.10/ http://www.mediawiki.org/xml/export-0.10.xsd" version="0.10" xml:lang="zh-cn"> <siteinfo> <sitename>example</sitename> <dbname>example</dbname> <base>https://example</base> <generator>MediaWiki 1.27.0</generator> <case>first-letter</case> <namespaces> <namespace key="-2" case="first-letter">媒体文件</namespace> <namespace key="-1" case="first-letter">特殊</namespace> <namespace key="0" case="first-letter" /> <namespace key="1" case="first-letter">讨论</namespace> <namespace key="2" case="first-letter">用户</namespace> <namespace key="3" case="first-letter">用户讨论</namespace> <namespace key="4" case="first-letter">Jamesqi</namespace> <namespace key="5" case="first-letter">Jamesqi讨论</namespace> <namespace key="6" case="first-letter">文件</namespace> <namespace key="7" case="first-letter">文件讨论</namespace> <namespace key="8" case="first-letter">MediaWiki</namespace> <namespace key="9" case="first-letter">MediaWiki讨论</namespace> <namespace key="10" case="first-letter">模板</namespace> <namespace key="11" case="first-letter">模板讨论</namespace> <namespace key="12" case="first-letter">帮助</namespace> <namespace key="13" case="first-letter">帮助讨论</namespace> <namespace key="14" case="first-letter">分类</namespace> <namespace key="15" case="first-letter">分类讨论</namespace> <namespace key="2300" case="first-letter">Gadget</namespace> <namespace key="2301" case="first-letter">Gadget talk</namespace> <namespace key="2302" case="case-sensitive">Gadget definition</namespace> <namespace key="2303" case="case-sensitive">Gadget definition talk</namespace> </namespaces> </siteinfo> <page> <title>一</title> <ns>0</ns> <id>0</id> <redirect title="漢語詞典/一" /> <revision> <id>0</id> <parentid>0</parentid> <timestamp>2017-12-01T00:00:00Z</timestamp> <contributor> <username>Robot</username> <id>0</id> </contributor> <comment>重定向页面至[[漢語詞典/一]]</comment> <model>wikitext</model> <format>text/x-wiki</format> <text xml:space="preserve" bytes="0">#REDIRECT [[漢語詞典/一]]</text> <sha1>0</sha1> </revision> </page> <page> <title>一丁不識</title> <ns>0</ns> <id>0</id> <redirect title="成語詞典/一丁不識" /> <revision> <id>0</id> <parentid>0</parentid> <timestamp>2017-12-01T00:00:00Z</timestamp> <contributor> <username>Robot</username> <id>0</id> </contributor> <comment>重定向页面至[[成語詞典/一丁不識]]</comment> <model>wikitext</model> <format>text/x-wiki</format> <text xml:space="preserve" bytes="0">#REDIRECT [[成語詞典/一丁不識]]</text> <sha1>0</sha1> </revision> </page> </mediawiki>
一共导入了数万个这种重定向页面,数量如下:
后面再观察一下,看MySQL数据库的慢查询是否有所减少、Google Analytics里面搜索量、搜索引擎索引量、网站流量等是否有变化。如果效果好,还可以把其它用户常搜索的栏目也增加对应的重定向页面。
另外,这个十多年的Wiki网站其实也还有一些改进余地的,特别是繁体中文版,我们前一段时间增加了keywords/description、繁体简体对照链接、指向新版一把刀实用查询链接、调整版式、增加AMP/MIP版本等,还可以考虑增加台湾注音、台湾版汉语词典、中文字典、英汉词典、汉英词典等内容。
评论