代码改变世界

AngularJs(SPA)单页面SEO以及百度统计应用(上)

2017-02-12 12:34  海豚湾  阅读(4066)  评论(0编辑  收藏  举报

只有两种人最具有吸引力,一种是无所不知的人,一种是一无所知的人

  问:学生问追一个女孩总是追不上怎么办?回答:女孩不是追来的,是吸引来的,你追的过程是吸引女孩的过程,如果女孩没有看上你,再追都是没有用的。

  也许用更多的时间丰富自己,让自己变得更有内涵,再出现在女孩面前,她就喜欢你了。另外,爱是有缘分的,哪怕再有内涵气质的人,也不能让所有女孩喜欢。

  结语:真主安拉,two words -> 看脸(捂脸表情~),至少你可以吸引爬虫@~@

读在最前面:

  本文内容以国内SEO(Search Engine Optimization)为基板

  一:SEO收录渠道入口:

    1、优质外链

    2、主动提交搜索引擎

    3、各种社会化书签

    4、浏览器搜索记录及相关工具条记录

  二:SEO优化:

    1、内功:

     (1)、关键词分析(关键词关注量分析、竞争对手分析、关键词与网站相关性分析、关键词布置、关键词排名预测)

     (2)、原创精品内容

     (3)、meta标签:title,keywords,description等,img属性(alt,title等)

     (4)、链接:锚文本,图片链接,sitemap 

     (5)、网站结构(如:内容页层级不宜过深,每个页面都可以通过至少一个文本链接到达)

     (6)、提示:301 ,403,404,503

    2、外功:

     (1)、精品外链

     (2)、高质量友链

  三Angular(SPA单页面) SEO方案针对爬虫请求,使用nginx导向到服务端渲染服务进行单独处理,本案例使用 prerender.io

 

迸发磁环境!

1、准备工作

1、node环境安装

2、prerender环境安装

 (1)、下载prerender

 (2)、解压prerender到本地目录 eg: D:\

 (3)、打开cmd命令,切换至D:\prerender,执行命令:npm insatll

    (过程中会下载phantomjs,如果服务器网络不好,可以本地下载(vpn)后并拷贝到服务器 C:\Users\Administrator\AppData\Local\Temp\2\phantomjs下,然后执行npm install)

 (4)、等待 npm install 命令完成后,执行命令: node server.js 

    (本地服务到此就开启了,默认端口为3000)

2、Nginx配置

说明:

  (1)、配置nginx对爬虫请求进行头信息判断,反向代理到prerender本地服务上进行处理,配置如下:

  (2)、配置成功后,重启nginx,访问 domain?_escaped_fragment_  即可。(可提交搜索引擎测试url 进行实际效果查看 )

	location / {
        	try_files $uri @prerender;
    	}
 
    	location @prerender {
        	set $prerender 0;
        	if ($http_user_agent ~* "baiduspider|twitterbot|facebookexternalhit|rogerbot|linkedinbot|embedly|quora link preview|showyoubot|outbrain|pinterest|slackbot|vkShare|
W3C_Validator") {
            		set $prerender 1;
        	}
        	if ($args ~ "_escaped_fragment_") {
            		set $prerender 1;
        	}
        	if ($http_user_agent ~ "Prerender") {
            		set $prerender 0;
       	 	}
        	if ($uri ~* "\.(js|css|xml|less|png|jpg|jpeg|gif|pdf|doc|txt|ico|rss|zip|mp3|rar|exe|wmv|doc|avi|ppt|mpg|mpeg|tif|wav|mov|psd|ai|xls|mp4|m4a|swf|dat|dmg|iso|flv|m4v|
torrent|ttf|woff|svg|eot)") {
            		set $prerender 0;
        	}
        
        	#resolve using Google's DNS server to force DNS resolution and prevent caching of IPs
        	#resolver 8.8.8.8;
 
        	if ($prerender = 1) {
            		#setting prerender as a variable forces DNS resolution since nginx caches IPs and doesnt play well with load balancing
                        #ip替换为本地ip
            		set $prerender "ip:3000";
            		rewrite .* /$scheme://$host$request_uri? break;
            		proxy_pass http://$prerender;
        	}
        	if ($prerender = 0) {
            		rewrite .* /index.html break;
       	 	}
    	}
    

 

备注:  

  1、禁止爬虫,可以编写robots(eg:https://www.taobao.com/robots.txt)放到网站根目录 + 服务器处理(判断请求头,进行特殊处理)   

  2、通过site:domain 可以查看百度seo收录情况

  3、prerender还有很多优化配置,参见文档

  4、spa百度统计,可在路由改变的时候,手动调用百度接口进行提交相关信息

 

 by:海豚湾-丰