惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Vulnerabilities – Threatpost
U
Unit 42
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
F
Full Disclosure
月光博客
月光博客
Engineering at Meta
Engineering at Meta
博客园_首页
The Register - Security
The Register - Security
G
Google Developers Blog
The Cloudflare Blog
博客园 - Franky
K
Kaspersky official blog
A
Arctic Wolf
Scott Helme
Scott Helme
C
Cisco Blogs
Hugging Face - Blog
Hugging Face - Blog
C
Check Point Blog
NISL@THU
NISL@THU
AI
AI
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
Project Zero
Project Zero
The GitHub Blog
The GitHub Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Vercel News
Vercel News
T
Tor Project blog
P
Privacy International News Feed
D
Docker
I
Intezer
L
LangChain Blog
P
Proofpoint News Feed
Security Latest
Security Latest
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
博客园 - 聂微东
AWS News Blog
AWS News Blog
Martin Fowler
Martin Fowler
P
Privacy & Cybersecurity Law Blog
V
V2EX
Last Week in AI
Last Week in AI
C
Cybersecurity and Infrastructure Security Agency CISA
The Hacker News
The Hacker News
T
Tenable Blog
Blog — PlanetScale
Blog — PlanetScale
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog

博客园 - flyingchen

gcc的一个困惑 敏捷项目组 javascript string to date - flyingchen 熟悉了以下VIM指令,你会爱死她的 nestful - ruby http-rest 客户端 分析 Liskov替换原则与继承 Linux Commands Cannot find autoconf. Please check your autoconf installation pecl报错(1) - flyingchen - 博客园 关于角色访问控制(RBAC) post xml 通过 simplexml_load_string 解析问题 - flyingchen awk学习 php实现单件模式总结(持续更新) 激动网 PHP高级开发工程师 招聘 rsync的命令格式 rsync从linux到linux的文件同步备份 zend + apache + config stop words mmseg 安装错误 error: ’strncmp’ was not declared in this scope
ajax应用如何做好seo - flyingchen - 博客园
flyingchen · 2010-05-12 · via 博客园 - flyingchen

  google发布了"make ajax application crawable"相关规范。具体详细见:http://code.google.com/web/ajaxcrawling/docs/specification.html

  对开发ajax应用,这份规范还是很有意义的。

  其中最重要提出了两个概念:

  pretty-url和ugly-url,google定义如下:

  • Pretty URL: Any URL containing a hash fragment beginning with !, for example, www.example.com?myquery#!key1=value1&key2=value2
  • Ugly URL: Any URL containing a query parameter with the key _escaped_fragment_, for example, www.example.com?myquery&_escaped_fragment_=key1=value1%26key2=value2.

   按我的理解就是pretty就是我们表现在页面上的用户可见url,而urlg则是为google爬虫特别提供的url.

   其主要建议就是我们在开发ajax应用时,要注意url的表达,正确的使用pretty-url,爬虫就能够将这个url解析出来,成为ugly-url,也就能从我们主动发起 

   ajax请求一样的效果。

    比如,

     www.joy.cn/video/play?3#load=full ,点击这个链接,我们主动发起ajax请求为,www.joy.cn/video/play=3&load=full

     www.joy.cn/video/play?3#load=simple ,点击这个链接,我们主动发起ajax请求为,www.joy.cn/video/play=3&load=simple

     这样两个地址,ajax请求可以返回不同的内容。但是由于“#”后内容不会被发送给服务器,所以对搜索引擎而言,这两个连接是一样的(www.joy.cn/video/play?1

),损失了SEO效果。

     google新的规范则解决了这个问题,但目前局限于google爬虫有效。

     如何解决呢?下面我们继续。。。。

     规范中指出,将“#”替换成"#!" ,就变成了google所谓的pretty-url,也就能满足它的要求了。

   www.joy.cn/video/play?3#!load=full ,点击这个链接,我们主动发起ajax请求为,www.joy.cn/video/play=3&load=full

   www.joy.cn/video/play?3#!load=simple ,点击这个链接,我们主动发起ajax请求为,www.joy.cn/video/play=3&load=simple

    而对google爬虫而言,它遇到这样的链接,则会转化成

    www.joy.cn/video/play=3&_escaped_fragment_=load=full和

    www.joy.cn/video/play=3&_escaped_fragment_=load=simple 

    两个不同搜索地址,而最终通过google.com搜索出来的时候,还是www.joy.cn/video/play=3#!load=simple这样的pretty形式。

   最后贴个流转图: