1

Summary

I am currently maintaining my blog using the Jekyll Static Site Generator. To manage redirects, I use a plugin called the jekyll-redirect-from plugin.

Context

For the example that I have configured:

  • Original URL is as follows: /canine-chronicles/
  • Revised URL is as follows: /parent-page-canine-chronicles/canine-chronicles/

Findings

Interestingly, the plugin works as follows:

  1. Hits the Original URL and returns a 301 redirect
    Note: The Location of the response is still /canine-chronicles
  2. Since the Location of the response is still /canine-chronicles, the browser is sent there again.
    On the second call to /canine-chronicles we receive a 200 response

    See screenshot for reference: enter image description here
  3. There is a third call that is subsequently made to the revised url: /parent-page-canine-chronicles/canine-chronicles/
    The page finally lands on the correct landing page

See screenshot for reference: enter image description here

Clarification

Within the context of SEO, does this accurately signal to google that:

  • The Original URL /canine-chronicles/ has been permanently moved
  • They should look for Revised URL /parent-page-canine-chronicles/canine-chronicles/

Reason for concern: The 301 redirect still points to Original URL /canine-chronicles/

Do let me know if there is any further information I can provide, or any tests that I ca do. I have access to Google Search Console for this site etc.

Additional Notes

The Jekyll Redirect Plugin can be found at this Link

The Jekyll Redirect Plugin seems to use the "http-refresh" meta for redirection. Based on this documentation from search engine land, it should be handled.

But we'd still like to sense check against experience from the community whether these "http-refresh" meta redirection are indeed recognised by Google. Especially because the initial 301 redirect seems to be pointing to the wrong location (Orginal URL)

0

3 Answers 3

2

You actually have two redirects in place, only one of which is a "real" redirect:

Firstly, the server is sending your request from /canine-chronicles (technically, a file without an extension) to /canine-chronicles/ (a folder) and then serving the default page within that folder - this is the 301 redirect you're seeing.

Then the browser is processing the meta tags on the page, and acting on the meta-refresh tag to send the user to /parent-page-canine-chronicles/canine-chronicles/.

There's good news and bad news here:

Good news: Google does see and follow the meta-refresh directives, so it will find and index your content.

Bad news: Google can treat these type of redirects as "temporary redirects" if they're not "instant" (i.e. equivalent to a 302 or 307 redirect), which means if Google already has the original URL in it's results, that's going to be displayed for longer than if you were issuing a 301 redirect - in the case of jekyll-redirect-from I think you're OK, as they are immediate (<meta http-equiv="refresh" content="0; url={{ page.redirect.to }}">), so treated as a permanent redirect.

The slightly better news though is that jekyll-redirect-from is setting a canonical meta tag on the old page, so Google will also see that and use it as a stronger indicator that the content has moved:

<link rel="canonical" href="/parent-page-canine-chronicles/canine-chronicles/" />

The best option would be to issue a server side 301 redirect, but that would require manually maintaining your .htaccess or equivalent, which may or may not be what you want to do.

2

I have had meta refresh redirects both work and not work. Ultimately you're going to have to test it. I understand your concern though, considering that even the Google documentation plays it safe without expressing too much confidence:

If server-side redirects aren't possible to implement on your platform, meta refresh redirects may be a viable alternative. Google differentiates between two kinds of meta refresh redirects:

  • Instant meta refresh redirect: Triggers as soon as the page is loaded in a browser. Google Search interprets instant meta refresh redirects as permanent redirects.
  • Delayed meta refresh redirect: Triggers only after an arbitrary number of seconds set by the site owner. Google Search interprets delayed meta refresh redirects as temporary redirects.

To me, this reads "we have a system that can do it, but I wouldn't trust it".

I would first test it, then if it either doesn't work or is inconsistent scrap the plugin and use meta refresh without the plugin. The weird second call + /foo -> /foo/ trailing slash behavior is what sketches me out (perhaps I wasn't following correctly).

Despite the warning below, I have never had a location redirect not work. Admittedly, these have been in cases of small sites and test projects, so perhaps not at scale.

enter image description here

Maybe someone more experienced can chime in, but that's my experience. Best of luck and may the force be with you.

0

This is a partial dup of a question I asked - SEO effect of http-equiv="REFRESH" for redirect with an authorative answer from Google at https://developers.google.com/search/docs/crawling-indexing/301-redirects - The upshot is that Google will correctly interpret an HTTP-EQUIV redirect.

That said, when you do a redirect you do loose some "Google Juice" - so I would expect a dip in SEO until the new structure is indexed and backlinks are updated.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.