这篇文章主要围绕未来SEO也许不用再操心爬行、抓取问题?和seo还有未来吗展开,旨在为您提供一份详细的参考资料。我们将全面介绍未来SEO也许不用再操心爬行、抓取问题?的优缺点,解答seo还有未来吗的相
这篇文章主要围绕未来SEO也许不用再操心爬行、抓取问题?和seo还有未来吗展开,旨在为您提供一份详细的参考资料。我们将全面介绍未来SEO也许不用再操心爬行、抓取问题?的优缺点,解答seo还有未来吗的相关问题,同时也会为您带来java网页抓取问题、SEO也要具体问题具体分析、SEO关键字营销路在何方,未来SEO渠道还能获利吗、seo教程:网站抓取问题及解决建议的实用方法。
本文目录一览:未来SEO也许不用再操心爬行、抓取问题?(seo还有未来吗)
SEO每天一贴很少写关于必应Bing或雅虎Yahoo!的事,原因显而易见:他们那可怜的市场份额真不大值得写。
微软虽然一直对搜索不离不弃,投入重金和时间,但到目前为止,Bing在搜索市场从来都是个陪衬。Yahoo!就更甭提了,在收购了除Google、Bing以外的所有搜索引擎之后,Yahoo!竟然自废武功,把自己多年积累、收购的所有搜索技术彻底放弃了,雅虎网站的搜索功能转为使用Bing的技术 – – 不禁让人心里嘀咕:确定不是Google卧底干的吗?一个最重要的对手就这么没了?
不过Bing对SEO们一直都是挺友好的,而且Bing工程师们给SEO行业不少很有建设性的意见。比如,关于外链建设,我觉得最精彩的一句话就是某位必应工程师说的,大意是,最好的外链是那些你根本不知道其存在的外链。
必应大幅提高URL提交限额
一月底Bing站长博客发了一篇帖子,表示Bing站长工具URL提交工具做了升级,大幅提高站长可以提交的URL数目上限,从原来的每天只能提交10个,每个月最多50个,增长1000倍,现在每天可以提交10,000个,没有月上限。唯一的限制是,网站需要在Bing站长工具注册验证180天以上:
Bing提高URL提交上限
帖子还说了很有意思的一段话,如果以后搜索引擎按这个方向发展的话,SEO们未来可能不用再操心页面爬行、抓取的问题了:
We believe that enabling this change will trigger a fundamental shift in the way that search engines, such as Bing, retreive and are notified of new and updated content across the web. Instead of Bing monitoring often RSS and similar feeds or frequently crawling websites to check for new pages, discover content changes and/or new outbound links, websites will notify the Bing directly about relevant URLs changing on their website. This means that eventually search engines can reduce crawling frequency of sites to detect changes and refresh the indexed content.
翻译过来大意是:
我们相信这个变化会引发搜索引擎发现及抓取新内容(包括新建或更新的内容)方式的根本性变革。站长将可以直接通知Bing网站上有了URL变化,而不需要Bing通过监控RSS或频繁爬行来发现新页面。这实际上意味着搜索引擎在发现、更新索引内容时,可以降低对网站的爬行频率。
内容索引不再依靠爬行?
一直以来,我觉得SEO有三大难点:内容、内部链接结构、外链建设。其中,网站内部链接结构就是要解决搜索引擎有效爬行、抓取的难题,既要抓得全,抓得快,又要避免抓取不必要的内容,还得合理分配权重。越是大站,这个问题越难完美解决。做过大站的SEO一定都深有体会,不管怎样调整网站结构,都无法做到页面100%被索引。
必应的这篇帖子在告诉SEO们,以后很可能不用担心抓取的问题了,有了新页面,或者旧页面有了更新,直接提交URL就行了(通过站长工具或API),不必依靠Bing蜘蛛爬行抓取,实际上,Bing蜘蛛会大大减少爬行,却不耽误索引新内容。
后续SearchEngineLand对Bing搜索工程师的访谈证实,减少爬行,确实是Bing的目标。他们希望未来几年内,Bing不再依靠爬行来发现新内容。Bing认为,对网站爬行的方法低效、费资源,不如站长直接提交内容。Bing表示,提交URL是页面抓取的“很强”的信号,要想内容被快速索引,就赶紧用提交工具吧。
确实,大型网站,页面被抓取一遍,可能需要几个星期,甚至更长时间,那么网站上有新页面,或老页面内容有更新,要被抓取,也可能会有几个星期的延迟。提交URL是个更快的方法。
其实百度早就在做类似的事,在百度资源平台提交内容是快速抓取新页面的很好方法,小时级收录确实可以在几小时内收录,有时几分钟就收录。不过百度资源平台提交好像不支持老的但有更新的页面。
对SEO行业的潜在影响
如果Google以后也跟进采取这个方法,可能会对SEO行业产生不小的影响。搜索引擎发现、抓取、索引新内容的方式变得更加简单直接,SEO们调整网站结构的必要性和难度将大大降低。
不过也有潜在问题。比如,黑帽SEO们显然不会放过这个机会。以前垃圾内容靠爬行被抓取越来越困难,因为从一个页面到另一个页面的爬行就是个鉴别、过滤的过程。大量主动提交垃圾页面成为可能后,搜索引擎该怎么处理?
再比如,搜索引擎减少爬行,倒是节省资源了,但老的、不更新的页面被重新抓取的次数将大大减少,这会不会导致链接关系计算的不准确、不及时?顺便提一句,不知道为什么总是有人说链接对排名已经不重要了,其实依然很重要。
SEO的基本方法过去十多年没有大变化,但SEO依然是个不断变化的行业。
java网页抓取问题
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.ProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.client.DefaultRedirectStrategy;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HttpContext;
import org.apache.http.util.EntityUtils;
import org.cyberneko.html.parsers.DOMParser;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.sun.org.apache.xpath.internal.XPathAPI;
public class DhlDetail {
private static final String HTML_DETAIL_HTML = "html/detail.html";
private static String url1 = "http://www.cn.dhl.com/content/cn/zh/express/tracking.shtml?brand=DHL&AWB=8545665704%0D%0A";
public static void main(String[] args) {
try {
//抓取追踪信息页面HTML .
getHtml(url1, HTML_DETAIL_HTML, null);
//获取 抓取运输进程页面HTML时 需要的参数
Map<String, String> data = getHiddenValue(HTML_DETAIL_HTML);
//抓取运输进程页面HTML
getHtml(url1, HTML_DETAIL_HTML, data);
//获取运输进程
List<DetailBean> list = getDetailList(HTML_DETAIL_HTML);
//打印详细的运输进程
DetailBean bean = null;
System.out.println("地点" + "\t" + "日期" + "\t" + "当地时间" + "\t" + "处理");
for (int i = 0; i < list.size(); i++) {
bean = list.get(i);
System.out.println(bean.getLocation() + "\t" + bean.getDate() + "\t" + bean.getTime() + "\t" + bean.getOperation());
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static List<DetailBean> getDetailList(String html) throws Exception {
List<DetailBean> list = new ArrayList<DetailBean>();
DOMParser parser = new DOMParser();
parser.setFeature("http://xml.org/sax/features/namespaces", false);
parser.parse(html);
Node node = parser.getDocument();
Node tb = XPathAPI.selectSingleNode(node, "//TABLE[@dataTable'']");
NodeList tdlist = XPathAPI.selectNodeList(tb, "//TR/TD");
int line = 0;
while (line < tdlist.getLength() / 4) {
DetailBean bean = new DetailBean();
bean.setLocation(deleteSpace(tdlist.item(line * 4 + 0).getTextContent()));
bean.setDate(deleteSpace(tdlist.item(line * 4 + 1).getTextContent()));
bean.setTime(deleteSpace(tdlist.item(line * 4 + 2).getTextContent()));
bean.setOperation(deleteSpace(tdlist.item(line * 4 + 3).getTextContent()));
line++;
list.add(bean);
}
return list;
}
private static Map<String, String> getHiddenValue(String html) throws Exception {
Map<String, String> data = new HashMap<String, String>();
List<String> params = new ArrayList<String>();
params.add("loc".toLowerCase());
params.add("USER_HISTORY_LIST".toLowerCase());
params.add("progressIsLoaded".toLowerCase());
params.add("refresh_sii".toLowerCase());
params.add("showSpPkgProg1".toLowerCase());
params.add("datakey".toLowerCase());
params.add("HIDDEN_FIELD_SESSION".toLowerCase());
params.add("trackNums".toLowerCase());
DOMParser parser = new DOMParser();
// parser.setFeature("http://xml.org/sax/features/namespaces", false);
parser.parse(html);
Node node = parser.getDocument();
NodeList nodeList = XPathAPI.selectNodeList(node, "//INPUT");
for (int i = 0; i < nodeList.getLength(); i++) {
Element e = (Element) nodeList.item(i);
if ("hidden".equalsIgnoreCase(e.getAttribute("type"))
&& params.contains(e.getAttribute("name").toLowerCase())) {
data.put(e.getAttribute("name"), e.getAttribute("value"));
}
}
System.out.println("订单编号:" + data.get("trackNums"));
return data;
}
private static void getHtml(String url, String filename, Map<String, String> data) throws Exception {
//创建一个客户端
DefaultHttpClient client = new DefaultHttpClient();
HttpResponse res = null;
if (data == null) {
//创建一个get方法
HttpGet get = new HttpGet(url);
//执行请求
res = client.execute(get);
} else {
client.setRedirectStrategy(new DefaultRedirectStrategy() {
public boolean isRedirected(HttpRequest request, HttpResponse response, HttpContext context) {
boolean isRedirect = false;
try {
isRedirect = super.isRedirected(request, response, context);
} catch (ProtocolException e) {
e.printStackTrace();
}
if (!isRedirect) {
int responseCode = response.getStatusLine().getStatusCode();
if (responseCode == 301 || responseCode == 302) {
return true;
}
}
return isRedirect;
}
});
//作成post参数Entity
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
Iterator i = data.keySet().iterator();
while(i.hasNext()) {
String key = (String)i.next();
formparams.add(new BasicNameValuePair(key, data.get(key)));
}
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8");
//创建一个post方法
HttpPost post = new HttpPost(url);
//设置post参数
post.setEntity(entity);
//执行请求
res = client.execute(post);
}
//获取完整的StatusLine・・・「HTTP/1.1 200 OK」
System.out.println(res.getStatusLine().toString());
//获取返回内容
if (res.getEntity() != null) {
String result = EntityUtils.toString(res.getEntity());
//System.out.println(result);
//生成HTML文件保存到本地(测试用可以不保存直接解析)
createHtmlFile(filename, result);
}
//关闭流
EntityUtils.consume(res.getEntity());
//关闭连接
client.getConnectionManager().shutdown();
}
private static void createHtmlFile(String filename, String data) throws Exception {
File file = new File(filename);
OutputStream os = new FileOutputStream(file);
os.write(data.getBytes("UTF-8"));
os.close();
}
private static String deleteSpace(String in) {
Pattern pattern = Pattern.compile("\\s*|\t|\r|\n");
Matcher re = pattern.matcher(in);
return re.replaceAll("");
}
}
抓取上面url中,查询结果汇总的信息 好像是我解析错了,求指导
SEO也要具体问题具体分析
前几天在点石论坛里有会员问一个问题,我写的子域名与二级目录,和kyw写的田忌赛马相互矛盾,不知道该听哪个。在论坛里简单回复了几句,今天再详细说一下。
和所有事情一样,SEO也是要具体问题具体分析,没有放之四海而皆准的技巧。其他人写的分析和分享帖子,通常也只是从某一个角度阐述。除非是写一本书,不然在博客里很难面面俱到,分析的特周全。
就像这个会员问到的例子,我的帖子观点是尽量选择二级目录,有助于整站规模扩大及权重提高。Kyw的观点是采取独立域名或子域名,有天生的较高的权重,排名时比目录有利。
这两种说法其实都对,对某个网站要怎么做,得具体分析网站的情况,不可照搬某一个人一时说的话。
像我在二级目录和子域名的帖子里提到的,在某一些情况下,采取子域名是更适当的。比如:
1)网站内容足够多,每一个子域名下涵盖的内容,都足以成为一个独立的网站而不逊色。有很多这样的网站,诸如门户之类的。像新浪搜狐等任何一个频道的内容,都比绝大多数网站大的多。
2)同一个公司下不同国家的分部或分公司,采取子域名有利于建立自己品牌。而且各个分公司下的网站内容很可能是由不同国家的分公司自行维护,文字内容之间也没什么太大的关系。
3)公司有不同的产品线,而且相互之间联系不大,或者完全是以不同的品牌出现。这时每一个品牌或产品线,很自然的可以用独立域名。如几乎所有汽车公司,每一个品牌甚至每一个车型,都很可能有自己独立的品牌和网站。手机公司也如此。
4)分类信息网站,不同城市使用不同的子域名。这类分类信息网站通常都是有海量数据,某一个省份或城市的内容都能独立成站。而且不同城市,省份下的分类,很可能有不同的发展目标和不同的安排,管理也是由不同的团队操作。
像这些情况都应该使用独立域名或子域名。
有时还得看其他情况,比如,目标搜索引擎如果是百度,使用独立域名更有利。因为我发现百度给域名首页权重很高。相比之下,Google给予二级目录甚至更深层的目录网页大致相同的机会。如果是做英文网页,采用目录结构,不会出现明显的不利。
再如,目标关键词的竞争度高低。竞争一般的话,很可能采用目录结构就能达到排名的目的。但竞争比较高的时候,推广的人也决心很大,必须要排上去,那么采用新网站当然更具优势。像我的博客,虽然也想把网络营销,电子商务之类的词排上去,竞争不小,但其实也无所谓,并没有一定要排上去的决心和必要,所以完全没必要建个新站。
其他所有SEO技巧也同样如此,要考虑的情况和角度必须要全面,不能把一个个因素割裂开来看。
SEO关键字营销路在何方,未来SEO渠道还能获利吗
早在21世纪初,众多微型网站一夜暴富,百万富翁如雨后春笋般涌现,而让其暴富的方式再简单不过了:
1、利用关键词研究(以及亚马逊的自动填充功能)识别被忽视的利基
2、为细分市场创建一个高密度的关键词微型网站
3、利用这个网站来吸引流量
4、针对不同的细分市场和关键词进行划分
除了运气和绝佳的时机,你需要30个网站以获得每月1000美元的收入。由于使用WordPress设置微型网站非常容易,因此这对于了解SEO的人来说是一种保证赚钱的方式。
如今的SEO:3大改变
如今SEO的作用已经大大减弱,但它仍然很重要,理解SEO的工作原理仍然会让你占据上风。
不仅应该了解SEO是如何变化的,还应该认识到继续执行过时的SEO策略是危险的,这些策略已经不再像几年前那样有效了。有些策略会浪费你的时间和金钱。
以下是SEO改变的3个主要方面:
1、对SEO的权威
PageRank并没有消失,它从决定排名的关键因素,成为蜂鸟用来确定排名的 200 多个指标之一。现在有大量的衡量指标可以帮助谷歌确定你的页面权限。它们权衡入站链接、出站链接、社交媒体共享、内容质量、网站设计、易用性等。
SEO也很重要,因为其他权威机构将对搜索引擎的页面进行优化。如果你不这样做,你就落后了。
2、关键词超频率放置
在页面标题、URL、子标题、图像描述、元描述等中显示长尾关键字非常重要。换句话说,关键字的展示位置仍然很重要。
但频率不是。你不需要在正文中至少重复7次关键字。这不再是一个有效的策略。关键词重复往往会使写作变得更糟,读起来也不那么有趣。
3、长尾和短尾关键词的语义搜索
2004年Chris Anderson在一篇文章中创造了“长尾关键词”和“短尾关键词”的概念。长尾关键字是指超过三个字以上的关键字短语,因为它们针对的是更具体的搜索查询,有助于更好地定位利基市场。
如今谷歌使用一种叫做语义搜索的方法梳理关键词背后的含义。
下面是一个例子:
假设你有一个有机贸易咖啡馆的网站。我们假设你从来没有在你的内容中使用“廉价咖啡”这个词。
再假设你有不错的月浏览量,如果一个潜在的访问者输入“有机廉价咖啡”,你的网站很可能会出现在搜索结果的顶部。谷歌能确定你的咖啡馆也符合“廉价”这个关键词,潜在的访问者可能会在几秒钟内浏览你的网站。
未来的SEO:或许会消失?
可以肯定地说,关键字不会很快消失。但是对于传统的SEO营销人员来说,情况并不乐观。
正如我们所知,SEO营销很可能最终会消失。事实上,考虑到谷歌不喜欢任何类型的搜索引擎,语义搜索完全有可能在某一天发展壮大。以至于即使你对SEO一无所知,对关键字不敏感,但仍然可以在目标搜索查询中排名靠前。
因此,一直依赖关键词的营销人员应该尽可能多地学习其他改进SEO的方法。
seo教程:网站抓取问题及解决建议
seo教程:网站抓取问题及解决建议
seo教程:网站抓取问题及解决建议
seo教程:当您面对大型网站可能遇到的上千个潜在问题时,您从哪里开始? 这是我们在重建网站抓取时尝试解决的问题。 答案几乎完全取决于您的网站,并且可能需要对其历史和目标的深入了解,但我想概述一个可以帮助您减少噪音并开始使用的seo过程。
简单的操作有时是危险的,为什么?
以前,我们试图将网站初期的每个问题标记为高,中,低优先级。 这种简单的方法可能是有用的,但我们发现不能这样做,你可能会想知道为什么我们离开它。
首先,网站优化要素优先次序取决于您的意图。 如果搜索引擎在进行网站抓取的时候,误解你的意图可能会导致不好的结果,从混乱到彻底的灾难性的。 比方说,我们在Moz上聘请了全新的SEOER,发现网站存在以下问题:
网站同时存在几乎35,000个NOINDEX标签?
如果采用搜索引擎优化工具赶紧删除这些标签,那么网站本身会受到很大的伤害,而不是意识到绝大多数这些指令是有意的。 我们可以让我们的系统更聪明,但是他们看不懂,所以我们要对虚警报警谨慎。
其次,优先考虑的问题并不能帮助您了解这些问题的性质或如何解决这些问题。 我们现在将网站抓取问题分为四种描述类型之一:
历史数据问题
重定向问题
元数据问题
内容问题
按类型进行分类可以让您更具 seo技术。 例如,我们新的“重定向”类别中的问题将会有更多的共同点,这意味着它们可能有共同的修复。 最终帮助您找到问题只是第一步。 我们希望能够更好地帮助您解决问题。
1.从严重的爬虫问题开始
这不是说一切都是主观的。 一些问题阻止抓取工具(不仅仅是我们的,而是搜索引擎)到达你的页面。 我们将这些“关键爬虫问题”分组到我们的第一类,目前包括5XX错误,4XX错误和重定向到4XX。 如果您在5XX错误中突然上升,您需要知道,几乎没有人有意将其重定向到404。
您会看到整个网站抓取界面中突出显示严重的爬网程序问题:
寻找红色的警报图标来快速找到关键问题。 首先解决这些问题。 如果无法抓取页面,那么每个其他抓取工具的问题都是无法解决的,对seo是极为不好的。
2.平衡流行率的问题
在解决您的技术性SEO问题时,我们还必须平衡严重性与数量。 不了解你的网站,我会说404错误可能值得在重复的内容之前解决 – 但是如果你有十一个404和17,843个重复的页面呢? 你的优先事项突然看起来很不一样。
我们已经为你做了一些seo数据分析,通过问题的普遍程度来加重紧迫性。 这需要对优先级的一些假设,但如果您的时间有限,我们希望至少为您提供解决几个关键问题的快速起点。
3.解决多页问题
解决高额问题的另一个优点是。 在许多情况下,您可以通过一次修复来解决数百个(甚至数千个)页面上的问题。 这是一个更加战术的方法可以为您节省大量时间和金钱的地方。
比方说,我想在Moz.com上挖掘916页,缺少元描述。 我马上注意到,其中一些页面是博客文章。 所以,可以通过URL过滤解决网站抓取问题:
我可以很快看到,这些页面占我缺少描述的392个,高达43%。 如果我担心这个问题,那么可能我可以通过一个相当简单的CMS页面解决它,用几行代码擦除数百个问题。
在不久的将来,我们希望为您做一些这样的分析,但如果过滤不能完成此工作,您还可以将任何问题列表导出到CSV。 然后,转动和过滤到你的心脏的内容。
4.通过PA和爬行深度潜入页面
如果您不能轻易找到明确的模式,或者如果您已经解决了一些重大问题,那么下一步呢? 一次修复数千个问题一个URL只是值得的,如果你知道这些URL很重要。
幸运的是,您现在可以按页面权限(PA)和网站抓取中的抓取深度进行排序。 PA是我们自己的排名能力的内部指标(主要由链接权重判断),爬网深度是页面与主页的距离:
在这里,我可以看到我们的MozBar网址中有一个重定向链,这是一个非常高权限的页面。 这可能是一个值得修复的问题,即使它不是一个明显的,更大的组织的一部分。
5.注意网站抓取中出现的突发问题。
最后,随着时间的推移,您还需要注意新问题,特别是如果网站抓取问题同一时间大量出现的情况。 这可能表明突然和潜在的破坏性变化。 网站抓取现在可以轻松跟踪新问题,包括警报图标,图表和按类别的新问题的快速摘要:
任何爬网都会发现一些新的页面(内容机器永远不会休息),但是如果您突然看到数以百计的单一类型的新问题,重要的是迅速挖掘,确定没有任何问题。 在一个完美的世界中,SEO团队总是会知道其他人和团队对网站的改变,但我们都知道这不是一个完美的世界。
文章
关于未来SEO也许不用再操心爬行、抓取问题?和seo还有未来吗的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于java网页抓取问题、SEO也要具体问题具体分析、SEO关键字营销路在何方,未来SEO渠道还能获利吗、seo教程:网站抓取问题及解决建议的相关知识,请在本站寻找。
本文标签: