当前位置

一把刀实用查询Wiki网站批量添加重定向页面

James Qi 在 2017年12月3日 - 11:02 提交
内容摘要:10年前做的一把刀实用查询网站当时先是同事用Java开发了一个版本,但以后的持续改进、维护、开发不方便,我就又弄了一个MediaWiki平台,做了《中文简体》、《中文繁体》、《英文》三个版本,十年过后......

  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版本等,还可以考虑增加台湾注音、台湾版汉语词典、中文字典、英汉词典、汉英词典等内容。