如何对基于 Ajax 的 URL 使用元刷新?

How to use meta refresh to an Ajax based URL?

我正在尝试将一些 select post 从我的博主 URL 转移到位于 Wix 网站的新博客。 我正在尝试使用元刷新标签为我的每个博主 posts 转移我的 SEO。

Blogger 不提供 Blogger 域之外的 301 重定向。因此,我正在使用元刷新标签。

我注意到 Wix 的博客页面有 Ajax 基于 URL 的链接。我是否应该在 Meta Refresh 标签(在博主 post 中)中提供带有“#!”的 URL(Wix post 的)?或者元刷新中的 URL 应该是带有“?_escaped_fragment_”的那个?

这些 URL 中的哪一个会将 SEO 从博主 post 转移到 Wix post?

如果您打算保留帖子的 link 配置文件和搜索引擎优化价值,那么元刷新不能完全取代 301 重定向。

不过,为了回答您的问题,Google 可以处理 hashbang (#!) 以及转义片段,具体取决于 Wix 站点的编码方式。您一定要参考 Google 的指南,使 AJAX 可抓取:

https://developers.google.com/webmasters/ajax-crawling/docs/learn-more

在head标签中使用以下代码:

<noscript>
<meta http-equiv="Refresh" content="3;url=yourpage.html">
</noscript>

请你看看这个,它可能对你有用:

<html xmlns="http://www.w3.org/1999/xhtml">

<head><title>

      Welcome Back

title>

<meta http-equiv="Refresh" content="2; URL=/wwstore/Profile.aspx" />

head>



You can add this into an ASP.NET page with code like this:



// *** Create META tag and add to header controls

HtmlMeta RedirectMetaTag = new HtmlMeta();

RedirectMetaTag.HttpEquiv = "Refresh";



RedirectMetaTag.Content = string.Format("{0}; URL={1}", this.Context.Items["ErrorMessage_Timeout"], NewUrl);

this.Header.Controls.Add(RedirectMetaTag);



But I never put 2 and 2 together to realize that the meta tag is actually mapping an HTTP header. A much easier way to do this is to simply add a header:


Response.AppendHeader("Refresh", "4");



Or refresh and go off to another page:



Response.AppendHeader("Refresh", "4; url=profile.aspx");

更多详情请看这里:http://weblog.west-wind.com/posts/2006/Aug/04/No-more-Meta-Refresh-Tags

Google可以理解#!符号。那不是问题。

如果您在 Google 上查询 site:www.[something-made-with-wix].com,您将在结果中看到 #! 形式的所有链接。

你可以试试this one作为例子。

经过多次尝试和错误,我找到了自己问题的答案。

这是我在 old/url

上执行此操作时发生的情况
<meta http-equiv="Refresh" content="2; URL=new/url/#!BlogPost" />

这在 2 秒后进行了重定向,但经过数周的等待后,old/url 继续显示在 google 上,而 new/url 从未出现。

然后我在 old/url 上尝试了这个:

<meta http-equiv="Refresh" content="2; URL=new/url/?_escaped_fragment_=BlogPost" />

这也没有任何作用。 然后我想如果 content=n (n is a number other than 0) ,这被视为 302 重定向。这是一个临时重定向。

所以我尝试了以下方法:

<meta http-equiv="Refresh" content="0; URL=new/url/?_escaped_fragment_=BlogPost" />

这是 google 给出的奇怪反应。 old/url 已从搜索结果中删除,new/url 也无处可寻。这很糟糕,永远不要这样做。

最后的选择是:

<meta http-equiv="Refresh" content="0; URL=new/url/#!=BlogPost" />

这终于成功了。几天后,link 果汁从 old/url 转移到 new/url。然而,请务必联系 google 网站管理员并重新抓取 old/url。只有这样,link汁液才会被传递下去。