SEO对网站推广的作用是至关重要的。Ruby on rails作为现代的专为web量身定制的框架,处理SEO相当便利。今天,我来分享一下在实际的ROR网站运营中的SEO的一些Tips。
1.页面基本元素SEO
页面基本元素设置是做页面级SEO中最基本,最简单,同时也是最重要的处理。页面基本元素的设置,简单的说就是 页面title,description,keywords的设置。
这些元素的的内容可以采用简单的方法直接设置,通常在controller的action里设置变量@title,然后在view中引用,例如下面的代码:
# 在 controoler action 中的代码
...
@title = "这是页面标题"
...
#在view中的代码
...
<title><%= @title %></title>
...
上面的方法简单明了。但是title等页面数据本属于view层的内容,放在action中设置并不直观,也不易修改,我使用的是另外一种方法,代码如下:
# 在 ApplicationHelper 中定义方法
#set the title for the page
def title(page_title)
content_for(:title) do
"#{page_title} - xx网"
end
end
#set the description for the page
def description(page_description)
content_for(:description) do
"<meta name=\"description\" content=\"#{page_description}\" />\n"
end
end
#set the keywords for the page
def keywords(page_keywords)
content_for(:keywords) do
"<meta name=\"keywords\" content=\"#{page_keywords}\" />\n"
end
end
#layout application 的代码
...
<title><%= yield(:title) || 'xx网'%></title>
<%= yield(:description)%><%= yield(:keywords)%>
...
# 具体页面view的代码
<% title "这个是页面title" -%>
<% description "这个是页面描述" -%>
<% keywords "ror页面seo" -%>
....
这样,每个页面的title等元素都是在自己页面view中,便于设置和修改。
2.去除干扰信息
SEO中一个重要的概念就是内容和主题(关键字)越契合,排名就可能越靠前。但是在页面显示内容是常常会显示一些不相关的内容,例如边栏工具条,广告内容等。
这个时候常常把这些内容写成javascript document.write输出,搜索引擎会忽略javascript中的内容,从而达到去除干扰信息的目的。
ror可以把这个方法很好的包装,以更方便的使用,看代码:
#在 ApplicationHelper中定义如下方法
#html to javascript
def document_write(options={},&block)
pos = output_buffer.length
block.call
str = output_buffer[pos..-1]
output_str = "<script type=\"text/javascript\">\ntry {\n"
str.each_line do |s|
output_str << "document.write(\"#{s.rstrip}\");\n"
end
output_str << " } catch(err) { } \n </script>\n"
output_buffer.replace("#{output_buffer[0..pos]}\n#{output_str}")
end
这个时候,view中希望以document.write输出的内容写成
...
<% document_write do %>
it is very good.
haha<%=Time.now%>
<%="very good"%>
这里面的文章将通过javascript输出
<input type='text' name='yes' value='hello'/>
<% end %>
...
实际输出html如下
<script type="text/javascript">
try {
document.write("");
document.write(" it is very good.");
document.write(" hahaFri May 29 00:20:06 +0800 2009");
document.write(" very good");
document.write(" 这里面的文章将通过javascript输出");
document.write(" <input type='text' name='yes' value='hello'/>");
} catch(err) { }
</script>
下篇讲一下如何做相关推荐,以及如何编织站内链接网,待续。
分享到:
- 2009-05-29 00:26
- 浏览 1487
- 评论(5)
- 论坛回复 / 浏览 (4 / 3704)
- 查看更多
相关推荐
- 如何进行网站的SEO优化,提高搜索引擎排名。 ### 结语 动态网站全套教程覆盖了从理论到实践的全面知识体系,对于初学者和有经验的开发者都是宝贵的学习资源。掌握这些知识不仅可以帮助你构建功能强大的网站,还...
- SEO优化:元标签设置,提高搜索引擎的可见性。 4. **学习与实践**:对于学生来说,此项目是理解Web开发流程和实践全栈技能的好机会。你可以: - 分析项目结构,了解前后端的交互方式。 - 阅读源代码,学习框架...
这个项目的核心技术是使用了Ruby on Rails框架的早期版本2.1.0dev,同时结合了jQuery 1.1.2进行前端交互,构建了一个高效且用户友好的网站。 首先,让我们深入了解Ruby on Rails(RoR)。RoR是一个基于模型-视图-...
8. **SEO优化**:为了提高搜索引擎的可见性,源码可能会包含SEO友好的元素,如元标签、静态化页面等。 9. **错误处理与日志记录**:良好的源码会包含错误处理机制和日志记录,帮助开发者排查问题,提升系统的稳定性...
Laravel是由Taylor Otwell创建的一个现代PHP框架,它的设计灵感来自于Ruby on Rails。Laravel提供了许多内置特性,如路由、中间件、模型-视图-控制器(MVC)架构、数据库迁移、单元测试等,使得Web应用开发变得更加...
2. 后端开发:可以采用WordPress、Django、Ruby on Rails等CMS或框架搭建,便于内容管理。 3. 数据库:MySQL或MongoDB存储棋谱、用户信息、论坛帖子等数据。 4. API集成:可能与第三方对弈平台(如lichess.org)集成...
- Beego是一个快速开发Web应用的Go框架,它借鉴了Python的Django和Ruby on Rails的设计模式。 - Beego提供了一个简单但功能强大的MVC(Model-View-Controller)结构,帮助开发者快速构建Web应用程序。 - Beego...
2. **后端开发**:选择合适的服务器端技术,如Node.js、Python的Django或Flask、Ruby on Rails等,构建博客的数据存储和处理功能。 3. **数据库设计**:考虑如何存储和管理博客文章、评论、用户信息等数据,可能涉及...
最后,考虑到用户体验和性能优化,Web开发者还需要关注SEO(搜索引擎优化)、网站性能分析(如Google Lighthouse工具)、响应式设计(确保网页在不同设备上表现良好)以及无障碍访问性(WCAG标准)等方面。...
Laravel由Taylor Otwell创建,它的设计灵感来源于Ruby on Rails,但采用了PHP语言。Laravel提供了丰富的功能,如路由、控制器、中间件、模型、视图、数据库迁移、Eloquent ORM(对象关系映射)以及Artisan命令行工具...