关于搜索引擎和SEO,我看到AngularJS应用程序存在两个问题:
1)自定义标签会发生什么?搜索引擎会忽略这些标签中的所有内容吗?即假设我有
<custom>
<h1>Hey, this title is important</h1>
</custom>
Run Code Online (Sandbox Code Playgroud)
<h1>
即使是在自定义标签内,也会被编入索引?
2)有没有办法避免索引{{}}的搜索引擎字面上绑定?即
<h2>{{title}}</h2>
Run Code Online (Sandbox Code Playgroud)
我知道我可以做点什么
<h2 ng-bind="title"></h2>
Run Code Online (Sandbox Code Playgroud)
但是,如果我想让爬虫"看到"标题怎么办?服务器端渲染是唯一的解决方案吗?
应该何时在URL中使用尾部斜杠?例如 - 我的网址应该/about-us/
是/about-us
什么样的?
我完全了解SEO相关的问题 - 重复的内容和规范的事情; 我正在试图弄清楚在单独正确提供页面的上下文中应该使用哪一个.
例如,我的同事认为末尾的斜杠意味着它是一个"文件夹" - 一个"目录",所以这不是一个正确的风格.但我认为最终没有斜线 - 它也不太正确,因为它几乎看起来像一个文件夹,但它不是,它也不是普通文件,而是没有扩展名的文件名.
有没有正确的方法知道使用哪个?
什么是完整的正则表达式或其他一些可以获得标题的过程:
如何将标题更改为Stack Overflow等URL的一部分?
把它变成
how-do-you-change-a-title-to-be-part-of-the-url-like-stack-overflow
Run Code Online (Sandbox Code Playgroud)
Stack Overflow上的SEO友好URL中使用了哪些?
我使用的开发环境是Ruby on Rails,但是如果还有其他一些特定于平台的解决方案(.NET,PHP,Django),我也很乐意看到它们.
我相信我(或其他读者)会在不同的平台上遇到同样的问题.
我正在使用自定义路由,我主要想知道如何更改字符串以删除所有特殊字符,它全部小写,并且所有空格都被替换.
似乎有一些不同的技术,所以我希望得到一个"确定的"答案...
在网站上,通常的做法是创建链接到主页的徽标.我想做同样的事情,同时最好地优化搜索引擎,屏幕阅读器,IE 6+以及禁用CSS和/或图像的浏览器.
示例一:不使用h1标记.对SEO不太好吧?
<div id="logo">
<a href="">
<img src="logo.png" alt="Stack Overflow" />
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
示例二:在某个地方找到它.CSS似乎有点hacky.
<h1 id="logo">
<a href="">Stack Overflow</a>
</h1>
Run Code Online (Sandbox Code Playgroud)
/* css */
#logo {
padding: 70px 0 0 0;
overflow: hidden;
background-image: url("logo.png");
background-repeat: no-repeat;
height: 0px !important;
height /**/:70px;
}
Run Code Online (Sandbox Code Playgroud)
示例三:相同的HTML,使用text-indent的不同方法.这是图像替换的"Phark"方法.
<h1 id="logo">
<a href="">Stack Overflow</a>
</h1>
Run Code Online (Sandbox Code Playgroud)
/* css */
#logo {
background: transparent url("logo.png") no-repeat scroll 0% 0%;
width: 250px;
height: 70px;
text-indent: -3333px;
border: 0;
margin: 0;
}
#logo a { …
Run Code Online (Sandbox Code Playgroud) 有人知道请求Google重新抓取网站的方法吗?如果可能的话,这不应该持续数月.我的网站在Google的搜索结果中显示旧标题.如何以正确的标题和描述显示它?
slu is是一个完全武断的词吗?或者它代表什么?我在与某人的对话中使用了这个词,当他们问我为什么叫它时,我意识到我不知道.
我知道它当然意味着什么:http: //codex.wordpress.org/Glossary#Slug
那么 - 这个词背后有一个实际意义吗?
在robots.txt中,我可以为站点地图文件编写以下相对URL吗?
sitemap: /sitemap.ashx
Run Code Online (Sandbox Code Playgroud)
或者我必须使用站点地图文件的完整(绝对)URL,例如:
sitemap: http://subdomain.domain.com/sitemap.ashx
Run Code Online (Sandbox Code Playgroud)
为什么我想知道:
在blog.domain.com中,我放了robots.txt让搜索引擎找到站点地图.但是,由于通配符,所有用户帐户共享相同的robots.txt文件.这就是为什么我不能使用第二种方法.而目前我不能使用url重写txt文件.(我想IIS的更高版本可以处理这个?)
应该是/ about_us还是/ about-us?
从可用性的角度来看,我个人认为/ about-us对最终用户来说要好得多,但Google和大多数其他网站(和javascript框架)都使用下划线命名模式.这只是风格问题吗?破折号是否存在兼容性问题?
现在有许多很酷的工具可用于制作功能强大的"单页"JavaScript网站.在我看来,这是通过让服务器充当API(而不是更多)并让客户端处理所有HTML生成的东西来完成的.这种"模式"的问题是缺乏搜索引擎支持.我可以想到两个解决方案:
http://example.com/my_path
直接访问服务器将呈现与客户端/my_path
通过pushState时相同的事情.http://example.com/my_path
服务器应该给他一个JavaScript重型版本的网站.但是,如果谷歌机器人访问,服务器应该给它一些最小的HTML与我希望谷歌索引的内容.这里将进一步讨论第一种解决方案.我一直在网站上做这个,这不是一个非常好的经历.这不是DRY,在我的情况下,我必须为客户端和服务器使用两个不同的模板引擎.
我想我已经看到了一些优秀的Flash网站的第二个解决方案.我比第一个更喜欢这种方法,并且在服务器上使用正确的工具,它可以非常轻松地完成.
所以我真正想知道的是:
seo ×10
url ×3
ajax ×1
angularjs ×1
backbone.js ×1
css ×1
durandal ×1
friendly-url ×1
html5 ×1
image ×1
javascript ×1
phantomjs ×1
pushstate ×1
regex ×1
robots.txt ×1
singlepage ×1
sitemap ×1
slug ×1
url-design ×1
web-crawler ×1
xhtml ×1