我不时浏览我的搜索日志,我注意到我的搜索引擎的最大用户是google-bot.是什么赋予了?它是否在寻找可能无法通过导航直接访问的内容?如果是这样,它如何知道要查找哪些单词和短语(它们具有惊人的相关性).它会检查网站上最热门的关键字吗?我知道我似乎在这里回答了我自己的问题,但这实际上只是从第一原则开始.我想听听一个知道他们在谈论什么的人(即不是我).
不久前谷歌曾经每3-4个月更新一次索引和反向链接.它曾经是一个重大的更新.最近我注意到更新太频繁了.还有其他人注意到Google抓取,索引和反向链接更新中的这些变化吗?
看看这个网站的robots.txt:
内容是:
User-Agent: Googlebot
Disallow: /
Run Code Online (Sandbox Code Playgroud)
这应该告诉谷歌不要索引该网站,不是吗?
如果是,为什么该网站会出现在Google搜索中?
Google Bot Crawler一直在尝试抓取生产中我网站上不存在的CSS文件.
它要求:
http://www.mywebsite.com/assets/index-d45678283d4ab9905c3538184826e599.css
Run Code Online (Sandbox Code Playgroud)
生产中不存在这个确切的文件名(生产中的文件名略有不同).
但是,它请求的CSS文件确实存在于开发中:
http://localhost:3000/assets/index-d45678283d4ab9905c3538184826e599.css
Run Code Online (Sandbox Code Playgroud)
我不确定为什么要求这个文件.
在部署到生产之前,我使用Capistrano(加载"deploy/assets")来预编译我的资产.
现在,我只是在robots.txt中阻止此文件,但它在每次部署后请求的css文件都会更改.
为什么GoogleBot要抓取生产网站中不存在的此文件?我怎么阻止它?
我正在使用一个简单的控制器来更改我显示的 ReactJS 视图,如下所示:
getInitialState: function() {
return {view: null};
},
setViewFromHash: function () {
var that = this;
var address = window.location.hash;
if(address != "")
{
address = address.substring(1);
require(["jsx!" + address], function (View) {
that.setState({view: View});
});
}
else
{
require(["jsx!Home"], function (View) {
that.setState({view: View});
});
}
},
componentWillMount: function () {
var that = this;
window.onhashchange = function () {
that.setViewFromHash();
};
this.setViewFromHash();
},
onTitleUpdate: function(title, canonical) {
document.title = title + titleDefault;
$('link[rel=canonical]').prop('href', canonicalDefault + canonical); …
Run Code Online (Sandbox Code Playgroud) 我特别想知道,现在,在2014年,如果我不得不担心Angular不会为GoogleBot渲染,或GoogleBot会对加载时间进行惩罚.
谷歌说我不必担心(有点),但我真的不想假设.
具体来说,我有一个相对立即加载的网站然后获取AJAX内容(如facebook的新闻提要),并填补内容的空白.
我知道prerender.io
并完全理解缓存页面并将其交付给搜索机器人的概念.我想知道的是 - 这是必要的 - 并且更进一步,这种缓存对SEO有什么样的影响力.
PHP驱动的页面,需要1500ms来加载所有内容并显示它.
使用预渲染(或类似)缓存中间件,并在XXXms中呈现相同的页面.
选项2"安全"吗?对于搜索引擎优化,谷歌将这种风格排名比其他两种更严厉?
如果Googlebot要坐下来等待1000毫秒的内容进行渲染,并为该结果编制索引,我实际上印象非常深刻.我认为,在实践中,这种渲染页面的技术只有在正确完成时才会更加用户友好(并且很容易弄乱它).
开发人员如何确信他们的内容将为自己或最终用户客户端正确呈现?
我有一个ajax网站leuker.nl,当googlebot出现时,该网站启动,它将从我的后端服务器检索包含网站文本的xml文件.
用于检索文件的http GEt请求返回http错误498.查看LINK,它解释了与"ArcGIS for Server"返回的无效/过期令牌(esri)有关.我不明白这个错误,我甚至不使用ArcGIS,也从未听说过它.
安迪想法如何解决这个问题?
在后端,我将Apache Httpd 2.4与Tomcat 8.0结合使用.Apache代理通过ajp连接器向Tomcat请求代理.请求的xml文件由Apache直接返回.
我有:
一个简单的静态网站;
托管在共享服务器上;
使用SSL;
我最近重新设计了.
谷歌告诉我,我的网站有两个网址抓取错误:
苹果应用程序站点关联;
.好知名/苹果应用程序站点关联
作为参考,这是第一个的错误报告(第二个是相同的):
未找到
网址:
https://mywebsite.com/apple-app-site-association
错误详情
最后抓取:5/5/16
首先检测到:5/5/16
Googlebot无法抓取此网址,因为它指向不存在的网页.通常,404s不会损害您网站在搜索中的表现,但您可以使用它们来帮助改善用户体验.学到更多
从这里环顾四周,这些似乎与将苹果应用与相关网站相关联.
我从未试图实施任何类型的"苹果应用/网站协会" - 至少不是故意的.
我不能为我的生活弄清楚这些链接来自哪里.
我将删除这些网址,但我担心错误可能再次出现.
我在这里看了几个相关的问题,但它们似乎是因为试图进行验证的人 - 我没有 - 或者是人们查询为什么他们的服务器日志显示对这些网址的请求的错误.
任何人都可以解释为什么会这样吗?
当我收到网站报告时,我在“性能”部分下看到了 Google Analytics 的问题。
有办法解决吗?现在,如果用户代理包含 Google 机器人,我所做的只是关闭 GA 加载。
if (/googlebot|lighthouse/i.test(navigator.userAgent)) {
window.ga=function(){};
} else {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
}
Run Code Online (Sandbox Code Playgroud) 我目前正在编写我的robots.txt文件,并且在决定是否允许或禁止某些文件夹用于搜索引擎优化目的时遇到一些麻烦.
这是我的文件夹:
我正在考虑只禁用PHP页面并让其余部分.
你怎么看?
非常感谢
洛朗
googlebot ×10
seo ×5
robots.txt ×2
angularjs ×1
apache ×1
google-index ×1
http ×1
javascript ×1
lighthouse ×1
pagespeed ×1
reactjs ×1
robot ×1
search ×1
tomcat ×1
web-crawler ×1