我创建了一个基于 xml 数据库文件的网站。 这是一个显示投资组合、博客和文章内容的单页网站。
我的 index.html 页面使用 jquery isotope 插件来显示缩略图。 所有这些缩略图都 append 在我的 xml 文件中。 单击缩略图时,会 append 新内容,由于 history.js 会更改 url 并从我的 xml 文件中显示。
所以几乎我所有的内容都是从 xml append 的,而不是硬编码的。 一切正常,而且速度非常快。 (我的 xml 数据库不是很大……它最多有 100-200 个条目(比如个人博客或作品集)。对于每个条目,都有一个 url、一些图像链接、一个标题、标签和描述) .
这里是一个条目的例子:
<element id="10" size="wide" category="portfolio">
<tag tag="tag1 tag2 tag3 tag4"></tag>
<icon class="icon-picture"></icon>
<urlpage url="/portfolio/url.html"></urlpage>
<urlimage src='./Post thumbnail images/image.jpg'></urlimage>
<date date="05 Feb"></date>
<title>title</title>
<Description>blablablabla 50 lines maximum...</Description>
</element>
但是,我要问一个关于 SEO 的重要问题...... 如何使用 SEO 优化我的网站。
站点地图是否有效且足够?
如果我选择了xml数据库,那是因为我的条目不是很复杂。我创建了一个实时管理面板,允许删除、编辑或创建新的 xml 文件条目。
顺便说一下,我 4 个月前开始学习网络编码...所以,我是这个世界的新手...
对不起我的英语,我是法国人。
最佳答案
就 SEO 而言,站点地图是不够的。 当爬虫获取您的页面时,它不使用 JavaScript,因此它看起来好像是空的(也就是说,如果您使用 JavaScript 加载所有内容)。
如果您真的想要好的 SEO,您应该确保内容在 HTML 中可用。如果您仍然想从 XML 文件中读取,您应该使用服务器端技术,例如 PHP、JSP、ASP.NET、...
如果您仍然希望获得与 JS 解决方案相同的用户体验,您可以采用一种技术,仅当它是谷歌爬虫时才直接提供服务,但如果是普通用户则不提供服务。 (或者更好的是,如果客户端没有启用 JS,则直接提供服务)。
这是对执行此操作所需技术的简要概述。不可能在 SO-answer 中解释所有这些事情。但是,您可以阅读一些这些技术,尝试一些事情,如果遇到困难,请返回这里。
关于来自 xml 和 SEO 的 jquery append 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16348947/
我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为
查看我的Ruby代码:h=Hash.new([])h[0]=:word1h[1]=h[1]输出是:Hash={0=>:word1,1=>[:word2,:word3],2=>[:word2,:word3]}我希望有Hash={0=>:word1,1=>[:word2],2=>[:word3]}为什么要附加第二个哈希元素(数组)?如何将新数组元素附加到第三个哈希元素? 最佳答案 如果您提供单个值作为Hash.new的参数(例如Hash.new([]),完全相同的对象将用作每个缺失键的默认值。这就是您所拥有的,那是你不想要的。您可以改用
本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决
我是HanamiWorld的新人。我已经写了这段代码:moduleWeb::Views::HomeclassIndexincludeWeb::ViewincludeHanami::Helpers::HtmlHelperdeftitlehtml.headerdoh1'Testsearchengine',id:'title'hrdiv(id:'test')dolink_to('Home',"/",class:'mnu_orizontal')link_to('About',"/",class:'mnu_orizontal')endendendendend我在模板上调用了title方法。htm
在Ruby中,是否有一种简单的方法可以将n维数组中的每个元素乘以一个数字?这样:[1,2,3,4,5].multiplied_by2==[2,4,6,8,10]和[[1,2,3],[1,2,3]].multiplied_by2==[[2,4,6],[2,4,6]]?(很明显,我编写了multiplied_by函数以区别于*,它似乎连接了数组的多个副本,不幸的是这不是我需要的)。谢谢! 最佳答案 它的长格式等价物是:[1,2,3,4,5].collect{|n|n*2}其实并没有那么复杂。你总是可以使你的multiply_by方法:c
在几个项目中,我希望有一个类似rakeserver的rake任务,它将通过任何需要的方式开始为该应用程序提供服务。这是一个示例:task:serverdo%x{bundleexecrackup-p1234}end这行得通,但是当我准备停止它时,按Ctrl+c并没有正常关闭;它中断了Rake任务本身,它说rakeaborted!并给出堆栈跟踪。在某些情况下,我必须执行Ctrl+c两次。我可能可以用Signal.trap写一些东西来更优雅地中断它。有没有更简单的方法? 最佳答案 trap('SIGINT'){puts"Yourmessa
给定两个大小相等的数组,如何找到不考虑位置的匹配元素的数量?例如:[0,0,5]和[0,5,5]将返回2的匹配项,因为有一个0和一个5共同;[1,0,0,3]和[0,0,1,4]将返回3的匹配项,因为0有两场,1有一场;[1,2,2,3]和[1,2,3,4]将返回3的匹配项。我尝试了很多想法,但它们都变得相当粗糙和令人费解。我猜想有一些不错的Ruby习惯用法,或者可能是一个正则表达式,可以很好地回答这个解决方案。 最佳答案 您可以使用count完成它:a.count{|e|index=b.index(e)andb.delete_at
我在尝试使用Nokogiri构建XML文档时遇到了一个小问题。我想将我的元素之一称为“文本”(请参阅下面粘贴代码的最底部)。通常,要创建一个新元素,我会执行类似以下的操作xml.text--但它似乎是.text是Nokogiri已经用来做其他事情的方法。因此,当我写这行时xml.textNokogiri没有创建名为的新元素但只是写了意味着成为元素内容的文本。我怎样才能让Nokogiri实际制作一个名为的元素??builder=Nokogiri::XML::Builder.newdo|xml|xml.TEI("xmlns"=>"http://www.tei-c.org/ns/1.0"
我的ruby脚本从命令行参数获取某些输入。它检查是否缺少任何命令行参数,然后提示用户输入。但是我无法使用gets从用户那里获得输入。示例代码:test.rbname=""ARGV.eachdo|a|ifa.include?('-n')name=aputs"Argument:#{a}"endendifname==""puts"entername:"name=getsputsnameend运行脚本:rubytest.rbraghav-k错误结果:test.rb:6:in`gets':Nosuchfileordirectory-raghav-k(Errno::ENOENT)fromtes
我正在尝试找出一种方法来显示来自不在RAILS_ROOT下(在RedHat或Ubuntu环境中)的已安装文件系统的图像。我不想使用符号链接(symboliclink),因为这个应用程序实际上是通过Tomcat部署的,而当我关闭Tomcat时,Tomcat会尝试跟随符号链接(symboliclink)并删除挂载中的所有图像。由于这些文件的数量和大小,将图像放在public/images下也不是一种选择。我查看了send_file,但它只会显示一张图片。我需要在一个格式良好的页面中显示6个请求的图像。由于膨胀,我宁愿不使用Base64编码,但我不知道如何将图像数据与呈现的页面一起传递下去。