今年初在搭建Profile Report网站时写了一篇《系列网站之间相同主题内页的互相链接》,当时主要是用VB编写程序来对导出的两个csv文件进行比较,然后计算出可以链接的node id,再用PHP程序或者人工的办法来添加链接,整个过程比较繁琐、自动化程序不高。
此后又尝试了添加更多的数据到这个站,并进行按照省份分类等工作,就采取了PHP程序+MySQL数据库的方式,搜索匹配的效率大大提高,运行时间缩短很多。
近期我们新增了一下几个网站:
- China Exporters of Canton Fair 110
- China Exporters of Canton Fair 111
- China Exporters of Canton Fair 113
并且将这些站里面的数据也添加到Profile Report站中,现在需要从这些站中的内页做出到Profile Report站相应页面的推荐链接,基本步骤如下:
- 在Report站导出node表,只需要其中的nid和title字段;
- 将导出的sql文件里面的表改名为temp_report_node,导入到110站中(如果两个站在同一台MySQL服务器上就可以不导出、导入);
- 在110站的temp_node_report表中新建字段temp,将title进行预处理以便匹配;
- 在110站的内容类型中新增字段field_profile_report,用于匹配出来的report站链接nid;
- 运行PHP程序,循环比较110站中的所有内页,看是否在temp_node_report中的temp找到匹配,如果找到则保存到field_profile_report中;
- 修改110站该内容类型的显示模板node--xxx.tpl.php,让field_profile_report不为空的显示出链接;
- 重新生成xmlsitemap,以便让搜索引擎发现哪些页面是最近更新保存的。
因为Report站新增了好些页面,我们也再次让China Exporters (中国出口商名录)站重新进行一次匹配,新增了好多链接页面。过程和程序与上面基本上一样,Drupal 6与Drupal 7的少量函数有点变化。
这样处理过后,4个站都有好些内页链接到Report站,并且出现多个站、多个页面链接到Report站同一个页面的情况,这都属正常,应该能给Report站以后带来流量。而从Report站反向到4个站的链接暂时没有去做,以后再考虑。
评论