请把column替换成你要的列名,把Model替换成你的model名 Model.find(:all, :select => “column”).map{|x| x.column} 可以在Model里加一个方法 class Model < ActiveRecord::Base def self.names find(:all, :select => “column”).map{|x| x.column} end end

转自:http://snippets.dzone.com/posts/show/3901>

一直用rake跑后台程序,发现很多rake文件的代码都是重复的,明显应该调用一个公用的方法了,查了半天,原来就这么简单 1.在/lib/目录建立ruby文件/lib/testclass.rb 2.编辑testclass.rb class Testclass def testmsg “testmsg” end end

    3.在项目中调用testclass

    require 'testclass'
    t = Testclass.new
    puts t.testmsg

    BTW,rails最新版不建议使用RAILS_ROOT常量,而建议使用Rails.root.to_s

总原则

简洁,规范,统一,减少维护成本,优先考虑UE,避免重复,避免歧义,避免盲目抄袭。若以下策略违反总原则,请纠正

链接规范

屏蔽方法 —————- * 对站内链接,增加属性rel=”nofollow” * 对站外链接,增加属性rel=”external nofollow” * 2次或2次以上出现同一个URL时,只保留一个URL,其他均屏蔽 * 站外链接,非特别声明,均屏蔽。 * 屏蔽以下各种站内链接 * ”换肤”,“登陆”,“关于公司”,“联系方式”,“填写问卷”等无价值但被频繁链接的页面 * 本页面链接指向页面主题不相关 * 进制做为按钮使用,请使用其他标签(例如<div>).最极端的办法是将无价值链接也替换成<div>并用js和css将其伪装成 * 面包屑以频道首页开始,而不是网站首页开始.例如,网易首页>网易汽车>某频道>某文章,应改为:网易汽车>某频道>文章汇总页>某文章 * 面包屑最后一项指向本页面时,不加链接,并且使用 * 对同一地址的链接锚文字保持一致,若考虑UE/排版缘故,可在title属性中使用统一锚文字

链接统一

  • 当URL做伪静态化后,将页面中动态的URL统统替换为静态化URL
  • 统一header/footer,以各自产品首页的header/footer为准
  • header中应包含到本产品首页的链接(网页 图片 热闻 购物 音乐 视频 词典 翻译 更多)
  • 当URL中出现统计代码时,在<head>标签中添加
  • URI规范, 当http://auto.163.com/bj/ 和 http://auto.163.com/bj 都可以访问时,统一使用前者,如果用浏览器打开后跳转,则使用跳转后的地址
  • URI规范, 当http://dict.youdao.com/map/index.html和http://dict.youdao.com/map/ 都可以访问时,统一使用前者(考虑前端服务器rewrite规则冲突问题)

页面尺寸

  • JS,CSS代码尽量不出现在<header>中,从外部引用,不同项目之间公用部分尽量合并
  • 页面输出之前删除无用空字符,回车,换行,空格,制表符,无用注释等
  • 全部采用html5标签定义 <!DOCTYPE html>

隐藏内容

  • 除tab切换等必要情况,禁止以任何形式故意隐藏大篇文字
  • 尽量不将大段文字放到图片中,若必须,请把文字复制到对应图片的alt=”“中,css截取的图除外
  • 使用ajax方式显示内容应保证更换的内容不能超过10%,如果更换的内容超过50%应该使用普通超链接.

程序

  • HTTP GET参数造成页面无法正常返回内容时一定返回Respond Code 404。
  • 404页面最好能增加对应的推荐链接,对用户产生正向引导

关键词运用

关键词的选取

  • 参考index.baidu.com的数值选取相关数值中平均指数最高者
  • 参考google adwords关键词工具,选取搜索量最高,竞争度不夸张者
  • 关键词的放置,在不影响UI/UE的前提下,让关键词出现在
  • 网页最浓缩的文字,相当于论文标题。每个url只可能有一个<title>,因此相当重要。
  • 不同url的title是不重复的。传统上标题一致的文章有抄袭嫌疑。
  • 禁止放置宣传性的、与主题不相关的大量文字。
  • heading(或headline)的缩写。本身是文档1级段落概要。现常见用于新闻标题,文章标题,用于介绍本页内容。

  • 禁止将<h1>用于LOGO
  • h1的子级内容概要,常见用户子栏目名称。用于介绍详细内容,软件功能等。

  • 用于强调文字。只在有必要时使用,禁止滥用。
  • 相当于论文的“参考”,应当链接到与本页相关的网页。
  • 相当于按钮提示,当锚文本与目标页面主题不相关时,需增加title以消除用户疑惑。
  • 更多
  • 下一页
  • alternation的缩写,当图片加载失败时浏览器使用alt文字替代图片。可用于增加,或稀释关键词密度。
  • 对图片的鼠标悬浮注释。可用于增加,或稀释关键词密度
  • 相当于论文的”关键词”,便于论文搜索引擎收录和搜索。禁止增加与文章主题不相关的关键词。便于搜索引擎分词。

  • 相当于论文摘要,用于让读者在10秒钟内了解本文的内容,以便决定是否开始阅读。会展示于搜索引擎结果页面。禁止使用全站统一的宣传性文字,一定要生成有价值信息,以便提高点击率。

  • 任何视觉强化的文字区域
  • 尽量保证关键词和其他文字不产生混淆,可使用_ 《 》 “ ‘ 【 】等符号隔离
  • 关键词在一段话、一个词组中的摆放、切割一定优先考虑UE和行为引导

补充,未整理

1、CSS命名避免使用focus作为名称。 2、页面中不要出现过多strong标签。 3、页面中h1只能唯一,并且指定为页面重要的标题(与项目管理人员确认)。 4、页面中,h2~h6标题要按照等级顺序书写。 5、Img标签中不能缺少alt属性 6、图片标题使用图片作为背景,缩进隐藏文字,使搜索引擎可以抓取关键词。 7、文字使用CSS进行文字截取以符合搜索引擎对文字的抓取(与页面发布工程师确 认)。 8、在不影响用户体验的情况下给链接加title属性 9、在不影响用户体验的情况下给图片加title属性 10、对于产品页,每个细栏目名称必须是文字,建议是<h2>,如果冲突可降级(用 <h3>等等) 11、对于产品页,图片下方必须有文字区域 12、通过外部调用的方式使用JS,如果JS必须放到页面中,建议放到主内容以下的位置 13、对每个详情页正文上方增加面包屑 14、代码符合xhtml标准

将最近1个月的访问日志过滤出来,只要user-agent是Baiduspider和Googlebot的

cat * awk ‘{print $7}’ sort uniq -c sort -n tac >/tmp/result

然后看看result文件即可,前边的数字表示被访问次数,理想状态下每天1次即可,也就是1个月30次左右,但我估计爬虫为了考虑效率和程序设计的简单性,爬虫对目标页面没有做全面的重复性检查,造成轻微过度访问也是可以的,比如平均每天30次,那加起来每个月也不过900次

SEO其实并不单单是刚入门的人理解的SEO,而是对网站整体质量和效率的优化。

肯定是网友杜撰的:

发生在1995年10月份,加拿大纽芬兰海岸管理局人员与美国海军船舰的真实无线电通话抄本。

美国海军总部在1995年10月10日公布此通话记录。 加拿大人员: 请改变你的航向朝南15度以避免碰撞。 美国人员: 建议你改变你的航向朝北15度以避免碰撞。 加拿大人员: 不,你必须改变你的航向朝南15度以避免碰撞。 美国人员: 这是美国海军军舰舰长,我再说一次,改变你的航向。 加拿大人员: 不,我再说一次,你要改变你的航向。 美国人员: 这是美国海军林肯号航空母舰,美国大西洋舰队第二大船舰,我们与三艘驱逐舰、三艘巡洋舰及多艘支援船只同行。我要求你改变你的航向朝北15度。 我再说一次,朝北15度,否则将采取反制措施以确保本舰的安全。

加拿大人员:这里是灯塔,