标签: seo

我可以在span.org标签中为schema.org Rich Snippets使用多个ItemProp吗?

假设我有以下句子我想添加丰富的片段:

我在纽约生活和工作

由于纽约既是我的居住地,也是我工作的城市,理论上我想使用schema.org标准来标记这样的行:

<div itemscope itemtype = 'http://schema.org/Person'>I live and work in 
<span itemprop = 'homeLocation'  itemprop = 'workLocation'>New York</span></div>
Run Code Online (Sandbox Code Playgroud)

在一个span标记中有2个itemprops是否有效?如果没有,下面会工作吗?

<div itemscope itemtype = 'http://schema.org/Person'>I live and work in 
<span itemprop = 'homeLocation'><span itemprop = 'workLocation'>New York
</span></span></div>
Run Code Online (Sandbox Code Playgroud)

html seo rich-snippets schema.org

32
推荐指数
1
解决办法
9421
查看次数

外部链接:当使用rel ="external"或rel ="nofollow"时?

在我的大多数网站上,我有很多外部链接到我的其他网站和其他外部网站.我需要知道什么时候更好用rel="nofollow"rel="external"在网站上?

seo hyperlink rel

32
推荐指数
2
解决办法
3万
查看次数

ASP.net MVC支持带有连字符的URL

有一种简单的方法可以让MvcRouteHandler将传入URL的操作和控制器部分中的所有连字符转换为下划线,因为方法或类名称不支持连字符.

这样我就可以支持像sample.com/test-page/edit-details这样的结构映射到Action edit_details和Controller test_pagecontroller,同时继续使用MapRoute方法.

我知道我可以指定一个动作名称属性并支持控制器名称中的连字符,这些连字符可以手动添加路由来实现这一点,但是我正在寻找一种自动化方式,以便在添加新控制器和操作时节省错误.

url asp.net-mvc seo url-routing

31
推荐指数
4
解决办法
1万
查看次数

使用JavaScript生成的HTML可抓取网站的最不冗余的方法是什么?

在阅读了Google关于使Ajax生成的内容可抓取的政策以及许多开发人员的博客文章和Stackoverflow问答主题之后,我得出的结论是,没有办法建立只有JavaScript/Ajax生成的网站HTML可抓取.我目前正在工作的网站没有获得相当数量的内容索引.我们的非索引内容的所有表示层都是通过从基于Ajax的Web服务调用返回的JSON生成HTML而构建的,我们相信Google并没有因此而对内容编制索引.那是对的吗?

唯一的解决方案似乎是拥有搜索引擎(特别是谷歌)网站的"后备"版本,其中所有HTML和内容都将按照传统方式在服务器端生成.对于启用了JavaScript的客户端,似乎我们可以使用与现在基本相同的方法:使用JavaScript从异步加载的JSON生成HTML.

回顾一下,我的理解是,如上所述,当前在创建可抓取的Ajax生成的网站时应用DRY原则的最佳实践是使用可以在客户端和服务器端使用相同模板的模板引擎.对于启用了JavaScript的客户端,客户端模板引擎(例如mustache.js)会将从服务器发送的JSON数据转换为HTML,如其模板文件的副本所定义.对于禁用了JavaScript的搜索爬虫和客户端,同一模板引擎(例如mustache.java)的服务器端实现将类似地对其相同的模板文件的副本进行操作以输出HTML.

如果该解决方案是正确的,那么这与4或5年前由前端重型站点使用的方法有何不同,其中站点基本上必须维护两个模板代码副本,一个副本用于启用JavaScript的用户(几乎每个人)和没有启用JavaScript的搜索引擎和浏览器的另一个副本(例如在FreeMarkerVelocity中)(几乎没有人)?似乎应该有更好的方法.

这是否意味着需要维护两个模板模型层,一个在客户端,另一个在服务器端?将这些客户端模板与Backbone.js,Ember.jsYUI App Library等前端MVC(MV/MVVC)框架相结合是多么可取?这些解决方案如何影响维护成本?如果不将更多框架(一个新的模板引擎和一个前端MVC框架)引入开发团队的技术堆栈,尝试这样做会更好吗?有没有办法减少冗余?

如果该解决方案不正确,那么我们是否缺少某些东西,并且可以通过我们的JavaScript做得更好,以保持我们现有的异步HTML-from-JSON结构并将其编入索引,因此我们不需要引入新的东西到架构堆栈?当业务需求发生变化时,我们确实不必更新表示层的两个版本.

model-view-controller seo automation dry mustache

31
推荐指数
2
解决办法
6397
查看次数

用搜索引擎突出显示的是隐藏的h1标签吗?

当内容被CSS隐藏(显示:无)时,搜索引擎会读取内容还是因此受到惩罚的网站?就我而言,由于某些CMS和其他原因,我需要向用户提供替代内容,并使用display:none隐藏页面上的H1标签.我想知道搜索引擎是否仍然将H1标签视为与未隐藏时相同的突出部分.

css seo

30
推荐指数
4
解决办法
3万
查看次数

如何强制谷歌重新索引页面

我制作的一个网站最近遭到黑客入侵,Google将其编入索引,攻击主页,现在它在搜索结果中显示无关的文字.

黑客已经解决,但搜索结果没有改变.有没有办法强迫谷歌重新索引我的主页?

seo google-search

28
推荐指数
1
解决办法
5万
查看次数

是否有网站日期的标准化(meta?)标签?

搜索引擎真正吮吸的一件事是网站创建的日期.你知道的问题:你寻找一些CSS或JavaScript的问题,谷歌返回吨自2002年解释如何修复IE 5.5和Netscape 4.6的问题导致的,而有用的物品都埋在第3页只有一个用途为第3页,有意义的搜索结果不是它.

无论如何,我只是想知道是否有一个标准化或至少普遍接受的标签或元标记,我可以放在我自己的页面上来表明它们的创建日期?

并不是说它有助于从搜索结果中滤除旧垃圾(特别是因为他们在2002年的文章排名第一的人没有改变的动机),但我只是愿意尽我所能:P

html seo date meta-tags

28
推荐指数
3
解决办法
1万
查看次数

hashbang还是不hashbang?

我正在开发一个新的网站,我想尽可能多地使用AJAX.基本上,我希望用户几乎永远不会离开主页,并在弹出窗口,滑块,部分等中显示所有内容.

现在我们现有的网站已经排名很高,所以我也想让Google高兴.我一直在阅读由Google 编写制作AJAX应用程序,并了解我必须通过_escaped_fragment_为抓取工具提供相同的内容.


我想用Umbraco开发这个网站的问题已经提供了SEO友好的URL.

但问题是我没有简单的方法来实现_escaped_fragment_而不破解Umbraco核心(至少这是我的知识),并且使用我在下面发布的解决方案(答案)也会让没有Javascript的用户感到高兴.双赢局面?你告诉我!=)

更新
昨天另一位用户(现已删除)的答案提示Google不再使用_escaped_fragment_方法并建议将其排除在外.这是真的?谷歌实际上会运行AJAX来查看内容吗?

谢谢
Marko

ajax seo jquery umbraco hashbang

28
推荐指数
2
解决办法
6503
查看次数

Angular2 SEO - 如何使角度2应用程序可抓取

我正在使用Angular-Meteor框架构建一个Angular 2应用程序.

我想实现快速和一致的索引谷歌和其他搜索引擎,让Facebook的分享者和其他刮削器生成我的JS生成内容的预览.

通常,SPA使用PhantomJS呈现页面服务器端并将静态HTML发送到客户端.

当然,我可以生成PhantomJS自己,当我拦截_escaped_fragment_或当我看到谷歌或刮刀用户代理,但我总是经历了内存泄漏,并直接与大流量的网站产卵PhantomJS当孤儿幻影情况下(我用的NodeJS和这个模块).

对于Angular 1应用程序,我曾经使用像Angular-SEO这样的角度模块来解决这个问题,但似乎很难将这样的模块转换为角度2.

我还没有找到任何合适的Angular 2模块.我应该自己构建它,还是有任何其他好方法来实现这一点?

seo node.js phantomjs angular2-meteor angular

28
推荐指数
2
解决办法
2万
查看次数

html5:分区元素中的标题 - 文档大纲和SEO含义

html5规范:

切片内容元素或切片根元素的大纲由一个或多个可能嵌套的节的列表组成.section是一个容器,对应于原始DOM树中的某些节点.每个部分可以有一个与之关联的标题,并且可以包含任意数量的其他嵌套部分.大纲的算法还将DOM树中的每个节点与特定部分和可能的标题相关联.

并且相同的推理似乎适用于html5文档大纲算法.

我一直在检查使用HTML5大纲(h5o)[我的网站的大纲链接 ]工具但我有,因为事实上很难达到不与无用标题不堪重负清晰的轮廓,那等元素<nav><footer>将出现在您的大纲但是除非你给他们一个明确的h1-h6标题,否则它会以"无标题"的形式出现.

对于导航或页脚等内容来说,这似乎有点过分.

一种解决方案是用div替换这些元素,但这似乎打败了使用html5的全部目的.

另外,我已经试探性地在我的网站[试图链接 ],是为所有的切片元素设置标题,然后用CSS来再次隐藏标题,查看其中一些(中,基本上<nav><footer>,以及一些<section>元素.下面是一个例子:

<nav id="content-nav">
    <h2 class="hidden">Post navigation</h2>
    <ul>
        <li class="alignleft"><?php next_post_link('&#8592; <strong>Next Post</strong><br />%link') ?></li>
        <li class="alignright"><?php previous_post_link('<strong>Previous Post</strong> &#8594;<br />%link') ?></li>
    </ul>
</nav>
Run Code Online (Sandbox Code Playgroud)

这导致一个很好的diplaying网站,但我看到的问题是谷歌排名.Google 在其网站管理员工具帮助项目[ 链接 ]中隐藏了"隐藏文字和链接",明确指出:

隐藏内容中的文字或链接可能会导致您的网站被视为不值得信任,因为它向搜索引擎提供的信息与访问者的信息不同.文本(例如过多的关键字)可以通过多种方式隐藏,包括:[...]使用CSS隐藏文本...

有些人可能会觉得Google是否喜欢他们使用隐藏文字的事实并不重要,但我的大部分访问者都来自谷歌搜索,我宁愿不因为选择这种设置而受到惩罚.

有人可以就这个问题提供建议吗?

seo html5

27
推荐指数
1
解决办法
1万
查看次数