How to use meta refresh to an Ajax based URL?
Asked Answered
T

5

9

I'm trying to relocate a few select posts from my blogger URL to my new blog located in a Wix website. I'm trying to use the meta refresh tag to get my SEO transfered for each of my blogger posts.

Blogger does not provide 301 redirects outside of the blogger domain. Hence I'm using the meta refresh tags.

I notice that Wix's blog pages have Ajax based URL links. Should I be providing the URL (of the Wix post) in the Meta Refresh tag (in the blogger post) with the "#!" or should the URL in the meta refresh be the one with "?_escaped_fragment_"?

Which of these URLs will transfer the SEO from the blogger post to the Wix post?

Timbering answered 4/10, 2015 at 19:37 Comment(4)
I'm voting to close this question as off-topic because it is about SEOAnneliese
Umm @johnconde, this is not about the general points to boost a post. This is more specific about how the meta refresh tag works in case the URL is an Ajax one. Besides SEO is one of the tags available.Timbering
also @johnconde, could you help me out with where the question would be on topic?Timbering
You could post it in the ProWebmasters forum, though, I tend to agree with you, @Tivep - this post is about the best practice with redirection code, so it's not far out of place here.Kenyettakenyon
T
1

After many trial and error I have found the answer to my own question.

Here's what happened when I did this on the old/url

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

This did the redirection after 2sec, but after weeks of waiting, the old/url continued to show on google and the new/url never showed up.

Then I tried this on the old/url:

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

This did nothing as well. Then I figured that if content=n (n is a number other than 0) , this is treated as a 302 redirect. Which is a temporary redirect.

So I tried the following:

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

This was a weird reaction that google gave. The old/url got removed from the search results and the new/url too was nowhere to be found. This is bad, never do this.

The final option was:

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

This finally did the trick. The link juice passed on from the old/url to the new/url after a few days. It is important however to go to google webmaster and get the old/url re-crawled. Only then will the link juice be passed on.

Timbering answered 22/10, 2015 at 17:21 Comment(0)
K
5

If you intend to preserve the link profile and search engine optimisation value of the posts, then a Meta refresh cannot quite replace a 301 redirect.

To answer your question, though, Google can deal with hashbang (#!) as well as escaped fragments, depending on how the Wix site is coded. You should definitely refer to Google's guide to making AJAX crawlable:

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

Kenyettakenyon answered 7/10, 2015 at 23:27 Comment(5)
thanks for that @FarhadD, I've gone through that link earlier. It doesn't say if the redirection needs to be to the link with the hashbang or the ?_escaped_fragment_= for the right SEO to happen.Timbering
The point is that you can actually choose either method, so long as you follow the steps Google have described to ensure that the hashbang URL is crawler friendly. If both are equally easy, the choice is yours, in terms of what will provide the best user experience. That said, I have found more often than not that hashbanged URLs can present more trouble with SEO, simply because the process to get them right is not widely known and isn't as straightforward as using a regular URL parameterKenyettakenyon
Tivep - did you get the resolution to the issue? If so, could you please mark this as the answer.Kenyettakenyon
I did, I've answered it.Timbering
Thanks. Unfortunately, i think it was a bit late as the incorrect answer got automatically picked by the community once the bounty timed out. I just hope that no one reads that and implements it before reading the remaining answers, as the redirect script is most definitely not the best way to handle this.Kenyettakenyon
O
2

Use the following code in head tag:

<noscript>
<meta http-equiv="Refresh" content="3;url=yourpage.html">
</noscript>
Outwash answered 13/10, 2015 at 18:16 Comment(0)
V
1

Google can understand #! sign. That would not be a problem.

If you query site:www.[something-made-with-wix].com on Google, You'll see all the links in the form of #! in the results.

You can try this one as an example.

Verbify answered 14/10, 2015 at 14:18 Comment(0)
T
1

After many trial and error I have found the answer to my own question.

Here's what happened when I did this on the old/url

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

This did the redirection after 2sec, but after weeks of waiting, the old/url continued to show on google and the new/url never showed up.

Then I tried this on the old/url:

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

This did nothing as well. Then I figured that if content=n (n is a number other than 0) , this is treated as a 302 redirect. Which is a temporary redirect.

So I tried the following:

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

This was a weird reaction that google gave. The old/url got removed from the search results and the new/url too was nowhere to be found. This is bad, never do this.

The final option was:

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

This finally did the trick. The link juice passed on from the old/url to the new/url after a few days. It is important however to go to google webmaster and get the old/url re-crawled. Only then will the link juice be passed on.

Timbering answered 22/10, 2015 at 17:21 Comment(0)
V
0

Please can you look into this, it may be useful for you:

<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");

For more details please look here : http://weblog.west-wind.com/posts/2006/Aug/04/No-more-Meta-Refresh-Tags

Veritable answered 14/10, 2015 at 6:9 Comment(2)
How is this search friendly? Do you have any reference sites where we can see this in action and verify that it actually gets picked up the same way as a 301 redirect on Google?Kenyettakenyon
Actually I confirmed by experimentation that when your 'content=2', this gets treated as a 302 redirection so the link juice doesn't pass on. besides I can't add this extent of code as it's a blogger page. Thanks anyway.Timbering

© 2022 - 2024 — McMap. All rights reserved.