我在谷歌上搜索了很多文章,也阅读了很多文章,但 react 不一。
如果我想阻止网站的某个部分被搜索引擎编入索引,我对哪个更好的选择感到有点困惑。基本上我对我的网站做了很多更新,也为客户设计,我不希望我为预览上传的所有“测试数据”都被编入索引以避免重复内容问题。
我应该使用子域并阻止整个子域吗
或
创建一个子目录并使用 robots.txt 阻止它。
我是网页设计的新手,对使用子域有点不安全(在某处读到这是一个有点高级的过程,即使是一个小错误也可能导致严重后果,而且 Matt Cutts 也提到了类似的东西(source ):
"I’d recommend using sub directories until you start to feel pretty confident with the architecture of your site. At that point, you’ll be better equipped to make the right decision for your own site."
但另一方面,我对使用 robots.txt 以及任何人都可以访问该文件犹豫不决。
两者的优缺点是什么?
目前我的印象是 Google 对两者的处理方式相似,最好使用 robots.txt 找到一个子目录,但我想在“接受”之前征求意见暴跌”。
最佳答案
或者您要求机器人不要为您的内容编制索引(→ robots.txt)或者您将所有人拒之门外(→ 密码保护)。
对于此决定,您使用单独的子域还是文件夹无关紧要。您可以为两者使用 robots.txt 或密码保护。请注意,robots.txt 始终必须放在文档根目录中。
使用 robots.txt 不提供任何保证,这只是一个礼貌的请求。礼貌的机器人会尊重它,其他人不会。人类用户仍然可以访问您的“不允许”页面。即使那些尊重您的 robots.txt 的机器人(例如 Google)也可能会在他们的搜索中链接到您“不允许”的内容(尽管他们不会为内容编制索引)。
使用登录机制可以保护您的页面免受所有 机器人和访问者的侵害。
关于seo - 子域与子目录以阻止爬虫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14433180/
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
我正在使用active_admin,我在Rails3应用程序的应用程序中有一个目录管理,其中包含模型和页面的声明。时不时地我也有一个类,当那个类有一个常量时,就像这样:classFooBAR="bar"end然后,我在每个必须在我的Rails应用程序中重新加载一些代码的请求中收到此警告:/Users/pupeno/helloworld/app/admin/billing.rb:12:warning:alreadyinitializedconstantBAR知道发生了什么以及如何避免这些警告吗? 最佳答案 在纯Ruby中:classA
是否可以在应用程序中包含的gem代码中知道应用程序的Rails文件系统根目录?这是gem来源的示例:moduleMyGemdefself.included(base)putsRails.root#returnnilendendActionController::Base.send:include,MyGem谢谢,抱歉我的英语不好 最佳答案 我发现解决类似问题的解决方案是使用railtie初始化程序包含我的模块。所以,在你的/lib/mygem/railtie.rbmoduleMyGemclassRailtie使用此代码,您的模块将在
在我让另一个人重做我的前端UI之前,我的Rails应用程序运行平稳。我已经尝试解决此错误3天了。这是错误:Nosuchfileordirectory-identifyExtractedsource(aroundline#59):575859606162@post=Post.find(params[:id])authorize@postif@post.update_attributes(post_params)flash[:notice]="Postwasupdated."redirect_to[@topic,@post]else{"utf8"=>"✓","_method"=>"patc
我正在尝试以一种更类似于普通RubyGem结构的方式构建我的Sinatra应用程序。我有以下文件树:.├──app.rb├──config.ru├──Gemfile├──Gemfile.lock├──helpers│ ├──dbconfig.rb│ ├──functions.rb│ └──init.rb├──hidden│ └──Rakefile├──lib│ ├──admin.rb│ ├──api.rb│ ├──indexer.rb│ ├──init.rb│ └──magnet.rb├──models│ ├──init.rb│ ├──invite.rb│ ├─
我想编写一个ruby脚本来递归复制目录结构,但排除某些文件类型。因此,给定以下目录结构:folder1folder2file1.txtfile2.txtfile3.csfile4.htmlfolder2folder3file4.dll我想复制这个结构,但不包含.txt和.cs文件。因此,生成的目录结构应如下所示:folder1folder2file4.htmlfolder2folder3file4.dll 最佳答案 您可以使用查找模块。这是一个代码片段:require"find"ignored_extensions=[".cs"
我正在使用Rails3.2.2并希望递归加载某个目录中的所有代码。例如:[Railsroot]/lib/my_lib/my_lib.rb[Railsroot]/lib/my_lib/subdir/support_file_00.rb[Railsroot]/lib/my_lib/subdir/support_file_01.rb...基于谷歌搜索,我试过:config.autoload_paths+=["#{Rails.root.to_s}/lib/my_lib/**"]config.autoload_paths+=["#{Rails.root.to_s}/lib/my_lib/**/"
我是Ruby的新手,我正在尝试以如下方式打开文件:#!/usr/bin/envrubydata_file='~/path/to/file.txt'file=File.open(data_file,'r')但是我得到“没有这样的文件或目录”(该文件确实存在于该目录中)。如果我将该文件路径作为命令行参数,它会起作用,例如:#!/usr/bin/envrubyfile=File.open(ARGV[0],'r')然后从命令行运行,如:rubyscript.cgi~/path/to/file.txt关于如何让它以第一种方式工作的任何想法? 最佳答案
这是我在ChefRecipe中的一blockRuby:#ifdatadirdoesn'texist,moveoverthedefaultoneif!File.exist?("/vol/postgres/data")execute"mv/var/lib/postgresql/9.1/main/vol/postgres/data"end结果是:Executingmv/var/lib/postgresql/9.1/main/vol/postgres/datamv:inter-devicemovefailed:`/var/lib/postgresql/9.1/main'to`/vol/post
我对RoR有点陌生,我想要一个结构化的目录,因为项目可能会变大我不想让所有的Controller直接进入controllers目录。我想要一些东西app/controllers/application_controller.rbgroupa/athing_controller.rbathing2_controller.rbgroupb/bthing_controller.rb然而,当我在routes.rb中放置以下内容时:get'athing',:to=>"groupa/athing#index"我在localhost:3000/athing/上收到以下错误:superclassmis