以前尝试过《Drupal系列网站用robotstxt模块生成独立robots.txt》,可以实现多站点的每个站点都有不同的robots.txt,但缺点是需要逐个编辑,当子站数量多、修改次数多的时候,依然显得麻烦。
后来也尝试过程序动态生成robots.txt,但一直没有成功,昨天还尝试了在自定义module中编写,但显示的内容包含在html.tpl.php, page.tpl.php等模板之中,也不行。
再多查了一些网上的资料并反复测试,终于是可以实现了,步骤如下:
- 删除原来的robots.txt;
最近在处理一些小问题的时候积累了一些小程序来解决,现在记录下来以备后用。
Drupal多语言网站是通过.po的翻译文件来导入翻译数据的,有一批国家/地区名称需要导入,而以前的.po文件中包括了一部分,只需要找出并添加新的词,这个过程人工来核对比较麻烦,就用了下面这段程序:
<?php // check what countries should be added to translation file // james qi 2013-8-14 祁劲松 $array_country=array(//总的需要导入翻译的词列表 &
我们在做大数据量网站的时候,有时遇到原始数据量过大的情况,如果都做成一个网站会让服务器负载过高、用户打开很慢,这时往往需要分为多个子网站来做,原始数据也需要进行分割,以便分别导入。
下面是将1个美国数据文件分割为50个各州数据文件的例子usa2state.php:
<?php //程序开头注释部分开始 /* usa.tsv分割为各州.tsv */ //程序开头注释部分结束 $file_usa="usa.tsv";//需要分割的整个美国文件 $file_ak="ak.t
对于我们这种数据量很大的网站,面临的一个麻烦是总有人来采集,以前多使用过人工检查、屏蔽的办法,这种办法有效果但太费精力,前段时间也找了插件来自动限制最大连接数,但存在误屏蔽搜索引擎的问题,最近老夫下决定亲自操刀写程序,把这些采集者都斩草除根,虽然
Drupal网站搭建好、数据导入或者编辑完成后,如果需要大批量修改内容,可以有多种办法:
1、最原始:MySQL语句
找到MySQL数据库中需要修改的内容放置的字段,用MySQL UPDATE语句来直接替换,其运行效率最高,但实现不方便、出错后无法挽回、页面时间没有变化;
2、最傻瓜:Scanner模块
今天找到一个用于search和replace的模块Scanner,安装试了一下,很容易使用,替换后是生成一个新的版本,如果有问题可以批量还原,选项也很丰富:大小写敏感查找、全词查询、加前后缀设
今年初在搭建Profile Report网站时写了一篇《系列网站之间相同主题内页的互相链接》,当时主要是用VB编写程序来对导出的两个csv文件进行比较,然后计算出可以链接的node id,再用PHP程序或者人工的办法来添加链接,整个过程比较繁琐、自动化程序不高。
此后又尝试了添加更多的数据到这个站,并进行按照省份分类等工作,就采取了PHP程序+MySQL数据库的方式,搜索匹配的效率大大提高,运行时间缩短很多。
近期我们新增了一下几个网站:
- China Exporters of Canton Fair 11
用Drupal搭建网站中,我们通常是初期导入大量数据,后来再反复修改分类、Views、显示模板、菜单等项目来改善用户体验,特别是显示模板可能会在几个月、几年后多次修改,甚至是重要的全面修改,显示内容已经面目全非了,但搜索引擎的快照中还是以前的内容,没有及时重新抓取、更新排名。
搜索引擎应该是基本参照网站的xmlsitemap中的页面最后修改时间lastmod、更新频率changefreq来决定是否回来抓取、多长时间回来抓取的,而Drupal生成的sitemap中某个页面的最后更改时间很可能就是当初创建的时间,但显示内容因为模板修改而早就不同了,造成修改后的内容无法
还是在Business Profile Report这个网站的设置中,我们有些特别的需求,例如:批量设置产品初始价格、顺序添加SKU产品编码、产品页面更新日期等,都可以用PHP程序来实现,程序bulk_set.php记录如下:
<?php
$_SERVER['HTTP_HOST'] = 'report.bizdirlib.com';
$_SERVER['SCRIPT_NAME'] = '/bulk_set.php';
我们用MediaWiki搭建的网站中,一些页面需要用到内部搜索结果,我们以前的办法是采用Google Search API,嵌入JavaScript代码后就可以显示Google已经收录的相关页面,这个办法简单易行,缺点是没有被收录的页面无法出现,已经展示的JS内容不会被搜索引擎发现内容。
十八大前后这一阵子Google搜索一直不正常,也影响到我们网站上含有Google搜索代码的页面,间歇性会出现打不开或者打开极慢的情况,影响用户正常访问我们的页面。这个问题有可能长期存在,所以必须设法解决了,否则只好把相关页面删除。
昨天试了一些办法,后
以前要修改MediaWiki的页面输出内容,都是通过修改页面或者模板的代码来实现的,但最近在做手机版的时候,原始网站中有一些内容不是通过模板来实现的,而是直接嵌入文本在页面中,例如--~~~~这样的签名、时间,就不好通过修改模板删除。
今天咨询了同事,再仔细查看MediaWiki的相关PHP程序文件,终于是找到了修改的办法和地方,可以修改includes/OutputPage.php这个程序:
/**
* Append $text to the body HTML
&n