今年初在搭建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個站的鍊接暫時沒有去做,以後再考慮。
评论