2012年2月26日星期日

49个影响网站排名的因素

内部因素

URL中出现关键词 
网页Title中出现关键词 
常规内容中出现关键词 
在页面的第一段中出现关键词 
在页面的最后一段中出现关键词 
Heading 标签 比如h1,h2中出现关键词 
站内的链接中出现关键词 
导向相关内容的导出链接 
导出链接中出现关键词  
图片文件名中出现关键词 
Alt标签中出现关键词 
comment中出现关键词 
合理的频率更新内容 
内容对搜索引擎的展示位置 
网站结构循环PR,而非散发PR 
关键词进行适当的修饰(加粗、斜体等)


外部因素

大量的导入链接 
从高PR值得网页获得导入链接 
从相关内容网站获得导入链接  
导入链接指向的网页有具体内容 
锚文字中有关键词 
锚文字周围有相关词 
锚文字存在于文章或句子中 
导入链接的时间长度,一般导入链接的存在时间有3-6个月 
单向链接的价值高于交换链接 
导入链接的页面的导出链接小于100个,流出链接越少越好 
链接来自不同IP 
合理的导入链接增长频率 


你需要避免的事情

关键词堆积 
所有的锚文字都相同 
使用CSS或背景色隐藏内容,这是十恶不赦的大恶 
使用JavaScript跳转 
相同ip之下的网页直接进行大量交换链接 
桥页和Cloaking,诱导搜索引擎的爬虫,这是十恶不赦的大恶 
成人内容,违禁药品,赌博相关内容 
内容重复 
连向作弊的网站  
站内的绝大部分网页有相同的网页title 
加入到Link Farm或则Link交换类网站
使用被惩罚过的域名
网站建立在被惩罚的IP上 


尽量避免的问题

地址中存在动态变量 
单一图片和Flash的网站 
用Javascript制作的网站导航条或目录 
用图片做网站导航而不加ALT标签 
〈head〉〈/head〉之间有太多的代码 
存在太多与网站主题无关的内容 
导入链接中购买链接占多数
和作弊的网站在同一服务器上

2012年2月21日星期二

copy一个drupal站shell


#!/bin/sh

if [ ! -n "$1" ]; then
echo 'Your must add param. Param must is country for short name.'
exit 0
fi

echo 'Please waiting...'
old_site_file=old-site
new_site_file=$1-site
db_user=mysql-user
db_pass=mysql-pass
db_file=/temp/old-site.sql
db_name=$1_site

cp $old_site_file $new_site_file -R
mysqldump -u$db_user -p$db_pass old_db>$db_file
mysql_cmd="mysql -u$db_user -p$db_pass"
create_db_sql="CREATE DATABASE IF NOT EXISTS $db_name"
echo $create_db_sql | $mysql_cmd
if [ $? -ne 0 ]; then
echo "CREATA DATABASES $db_name failed..."
exit 1
fi

mysql -u$db_user -p$db_pass $db_name<$db_file
rm $db_file
sed -i "s/old-db/$db_name/g" $new_site_file/sites/default/settings.php

chmod 777 $new_site_file -R
chown apache:apache $new_site_file -R

echo "New site path: $new_site_file"

exit 1

2012年2月19日星期日

drupal 6.x 升级到 drupal 7.x


首先普及下升级(Upgrade) VS 更新(Update)的概念
  • Drupal 升级- 指的是从一个主要的发布版本迁移到另外一个,比如这里要介绍的从Drupal 6升级到Drupal 7;Drupal只能一级一级地升级,比如Drupal 5要先升级到Drupal 6才能再升级到Drupal 7;
  • Drupal 更新- 一般指的是将Drupal站点更新到当前发布版本的最新的次级版本,比如将Drupal 6.19更新到6.20。在将Drupal 6升级到Drupal 7之前,最好也要将Drupal 6的低级版本更新到最新的Drupal 6.22版本。
整个Drupal升级的过程大概可以分为四大步骤:计划 -> Drupal 升级准备-> 升级过程 -> 升级后测试。切记在升级或更行之前一定要先备份Drupal 的所有文件和数据库,包括核心文件和非核心文件,用户上传文件等等。
Drupal 升级计划
Drupal 官方文档建议你在做升级计划之前先看下Drupal 7.x 的UPGRADE.txt文件,这样会对整个升级过程有个大概的了解。UPGRADE.txt 文件可以通过下载Drupal 7.x 安装包解压后,在根目录下找到。如果暂时不想下载.
这个文档除了介绍Drupal 6升级到Drupal 7外,还介绍了Drupal 7.x 次版本的更新(update)。 最好先在测试或开发网站上进行测试没有问题后,记录下Drupal升级的步骤,然后在上线网站上进行同样的升级。 是否应该升级到Drupal 7.x ?
Drupal 7系统需求 首先检查你的系统(服务器/vps/虚拟主机)是否满足以下Drupal 7安装和运行的需求:
  • Web server:Apache 1.3 或 Apache 2.x (mod_rewrite),Microsoft IIS5, IIS 6, or IIS 7
  • 数据库:MySQL 5.0.15 或更高版本,PostgreSQL 8.3或更高版本,SQLite 3.x(开启PHP PDO 数据库扩展
  • PHP版本:PHP 5.2.5或更高版本(PHP 5.2.4需要要安全补丁),PHP's memory_limit 32MB
检查你使用的社区贡献模块(module)和主题(theme)是否有最新的Drupal 7版本或D7兼容版本?是否提供了升级路径?新版本模块是否需要添加依存的模块?
在drupal.org相应的模块或主题页面可以看到是否有最新版本的详细信息。若要详细了解查看Drupal 6社区贡献模块和主题如何升级到Drupal 7;
检查你使用的模块是否移至到了Drupal 7核心模块,查看Drupal 7新加入核心模块列表。 如果是模块开发者可以查看Drupal开发者模块升级指南。如果是自己创建的Drupal主题,那么在升级到Drupal 7之前要先花点时间升级好自定义的Drupal主题文件。请查看英文版Drupal主题升级更新指南或中文版:从Drupal6到Drupal 7主题升级手册。
在了解了这些情况之后,你就可以决定是否要将Drupal 6升级到最新的Drupal 7站点了。 记录模块和主题清单 记录下所有已经安装的模块(包括已安装但未启用的,核心自带和社区贡献的...),这些模块可以在模块管理页面Administer > Structure > Modules,或sites/all/modules 目录找到。跳转到 Administer > Appearance 记录下所有安装的主题,启用的是哪个主题。虽然不提倡修改核心程序或社区贡献模块,但是如果有修改过,也要做个记录。这个清单在升级Drupal的过程中可能会很有用。 写出Drupal升级计划 使用模块和主题清单计划你的模块或主题升级计划,这个计划必须包含UPGRADE.txt升级指南中的每一个步骤。因为很多过程很容易忘记,好记性不如烂笔头,再说这些升级记录文档对你下次Drupal升级也是很有帮助的。比如升级计划列表中可以考虑写下这些:
  • 不能升级的模块,哪些模块可以替代
  • 哪些模块必须在升级drupal核心之前升级
  • 哪些模块需要特殊的升级步骤
  • 模块的升级顺序
  • 如何测试模块是否升级成功
Drupal 升级准备
  • 备份:Drupal在升级或更新之前必须要先备份(备份所有的文件和数据库),万一出问题之后,可导入备份进行补救。
  • Drupal 6.x 更新:因为次版本之间数据库结构可能发生改变,所有在升级Drupal之前先更新:按照Drupal 6的UPGRADE.txt说明,将Drupal 6.x 更新到最新的Drupal 6 版本(drupal 6.22),如果是Drupal 5.x则相应地要先升级到Drupal 6.x。
  • 需要提前更新的社区贡献模块:在drupal升级计划中提到有些社区贡献模块可能也需要先更新。
  • 最后在升级Drupal前测试一下更新后的网站,记录下整个过程中碰到的问题。
Drupal 升级过程
  • 下载Drupal 7
  • 使用超级管理员用户(用户ID为1)登录网站后将Drupal网站下线:Administer > Site configuration > Site maintenance > 选择Off-line 然后保存配置。
  • 启用Garland 并作为默认主题:Administer > Site building > Themes
  • 将语言设置为默认的english,不然,安装过程中可能出现乱码。
  • 禁用所有Drupal非核心模块(不在"Core-required"或"Core-optional"列表中):Administer > Site building > Modules。因为模块的依赖性,需要重复几次才能禁用所有。 如果确定有些模块或模块数据在Drupal 7.x中都不再使用,将这些模块禁用并卸载,最好直接删除模块文件夹,这样可以节省drupal7升级后升级这些无用模块的时间。
  • 通过命令或FTP客户端移除文件:sites/default/default.settings.php
  • 通过命令或FTP客户端删除所有旧的Drupal 6 目录(子目录)或文件。如果您改动了.htaccess 或 robots.txt 等文件,那么在新的文件解压上传之后,需要从备份文件中将它们重新导入。注意:升级时不要以覆盖新的drupal 7核心文件的形式替换旧的drupal 6文件,因为很多d6的文件在新的drupal 7版本中留着是没有用处的,这和更新drupal 次版本有所不同。
  • 下载最新版本的Drupal 7.x 安装包,解压后将这些文件复制到drupal目录下, Unix/linux命令: wget http://drupal.org/files/projects/drupal-x.y.tar.gz tar -zxvf drupal-x.y.tar.gz  解压后为包含所有drupal 文件和目录的drupal-x.y/文件夹,将这些文件copy到Drupal 安装目录下: cp -R drupal-x.y/* drupal-x.y/.htaccess /path/to/your/installation 解压后使用FTP客户端上传也一样。
  • 重新导入任何修改过的文件,如.htaccess 或 robots.txt。
  • 设置settings.php文件为可写:sites/default/settings.php,drupal升级程序就能将settings.php替换成drupal 7.x的格式。
  • 运行升级程序:访问http://www.example.com/update.php(注意不是INSTALL.PHP)。将example替换自己的域名。如果不能访问update.php:编辑settings.php文件,将$update_free_access = FALSE; 改为$update_free_access = TRUE;切记安装完毕记得改回FALSE。
  • Drupal 核心安装完毕之后记得再备份一次数据库,这时Drupal 7及数据库升级完成,但是社区模块及数据库还没有升级。
  • 替换或升级非核心模块和主题(社区贡献 或 自定义),然后: 重新启用这些非核心模块 -> 再次访问运行update.php程序升级模块数据库到d 7 -> 激活社区贡献或自定义主题。
Drupal 7升级后测试
检查状态是否正常:Administration > Reports > Status report。确保升级过程中第13步提到的$update_free_access 重新设置为了FALSE。测试的项目可能包括如下(包含不限于):
  • 随机检查是否存在损坏的内容
  • 检查状态报告,确保所有必需的模块或子模块都已激活
  • 检查菜单和导航是否有问题
  • 检查各个页面的权限,看模块是否改变或引入了权限。
Drupal 升级测试完毕,一切OK -> 网站上线:Administration > Configuration > Development > Maintenance mode 将“Put site into maintenance mode” 取消并保存配置。 Drupal 7 升级结束,现在你可以到管理后台体验各种新功能了。

2012年2月16日星期四

使drupal在theme里也可以使用t()来翻译


原帖地址http://drupal.org/node/155275
经本人修改,测试ok

/*
 * Function to translate strings in theme files
 */

function tr($string, $args = 0, $return = FALSE) {
  $locale = language_default();
  if (function_exists('locale') && $locale->language != 'en') {
    $string = locale($string, $locale->language);
  }
  if (!$args) {
    return $string;
  } else {
    // Transform arguments before inserting them
    foreach ($args as $key => $value) {
      switch ($key[0]) {
        // Escaped only
        case '@':
          $args[$key] = check_plain($value);
          break;
        // Escaped and placeholder
        case '%':
        default:
          $args[$key] = theme('placeholder', $value);
          break;
        // Pass-through
        case '!':
      }
    }
    $string = strtr($string, $args);
    return $string;
  }
}


2012年2月12日星期日

Drupal Demonstration site网站迁移


Drupal Demonstration site网站迁移


Demo Site
1.Create demo in http://xxx/admin/build/demo
2.Delete /sites/default/settings.php
3.Copy default.settings.php to settings.php
4.Compress and copy to PRDO
5.Extract and install select demo

2012年2月10日星期五

git流程



--------------------------------------
pg_start [(brand name)::(country)]
pgg show-push (list push status )

1. git checkout [master]
2. git pull
3. pgg branch   ( create branch )
4. git branch   (list of local branch)
5. modifty files
6. git status   (list of modify files)
7. git diff [filename] check differnce
8. git add [filename]
9. git commit -m  "some comment" ([path and file name])
[the frist time setting gobal var
  git config --global user name
  git config --globle user email
]
   git stash save "updated"
10.git status
11.git push
11.pgg push [branch names] [env]
   the same git checkout env-all-eng
            git pull
12.sudo pull to push to dev
13 QA verifty after push to other env and master
14 push to stage
15 stage push live

2012年2月9日星期四

Google map api

1.打开https://code.google.com/apis/console/

2.点击servieces

3.打开Google maps API v3  Courtesy limit: 25,000 queries/day • Pricing

4.点击API Access拿到API key

Google cse

1.打开http://www.google.com/cse

2.点 manage your existing search engines. or create
管理已有或新建search engines

3.control panel 管理

4.Sites 点击sites管理

5.add sites 增加要使用cse网站

6.Indexing URLs listed in a Sitemap 增加索引 

7.Submit a Sitemap 提交生成的sitemap xml文件

google map api

http://maps.google.com/maps/geo?key=AIzaSyDy74b7HtrLGBrPmj04gSCFN0mtfYiZB8Q&sensor=false&output=xml&gl=kr&q=%EA%B4%91%EC%A7%84%EA%B5%AC%20%EA%B5%AC%EC%9D%98%EB%8F%99%20546-4%20%ED%85%8C%ED%81%AC%EB%85%B8%EB%A7%88%ED%8A%B8%204%EC%B8%B5%20C-59%ED%98%B8

win7给SD卡分区真心不给力

win7给SD卡分区真心不给力,我的Recovery不能分区,用机锋网的小工具分的只有EXT2,可惜MIUI之支持EXT3,想到我有双系统,到Ubuntu下分区,可一直提示SD卡忙。

无奈想到了,先用小工具分出EXT2,再到Ubuntu格式化为EXT3,折腾半天终于分好了。

启动终端模拟器
su 回车
a2sd reinstall 回车
手机自动重启
重启后继续进入终端模拟器运行以下命令
su 回车
a2sd zipalign 回车
a2sd cachesd 回车 

ok哈哈,应用随便下,手机内存100M保持不变。 gdisk_sd.rar

2012年2月1日星期三

新需求GPS

手机网站开发

需要根据手机GPS定位服务,定位到当时地址,再根据数据库匹配找到最近相应的店。

手机应用很多都有这个功能,可惜没看到开源的。

自己先研究,等待更新。

上海松善实业有限公司

    上海松善实业有限公司是一家集多品牌销售于一体的电线电缆骨干企业,公司成立于2016年。 公司拥有国内各大品牌:起帆、远东、上上、江南、胜华等。     主要产品有:高低压电力电缆、橡套电缆、控制电缆、架空绝缘电缆、塑胶电缆、电子计算机电缆、通讯电缆、...