I had a single domain with 2000+ articles on a wide range of topics. For several reasons, I decided to split this site into several smaller, distinct sites, each on a separate domain name.

I use a PHP script to redirect traffic from the old site to the new. I determined that there were too many redirects to place and manage in .htaccess so I used PHP / MySql to handle this. The redirect is a 301.

<?php header("HTTP/1.1 301 Moved Permanently"); header("Location: http://example.com/some-page"); ?>

The Problem

It's been nearly 8 months now since I moved everything around. While Google has picked up all the new sites and is actively indexing them, the old site index still contains the URL for the pages which were moved. The confusing thing is it's got the meta title and description from the new site! The old page title had a distinct name which is not present on the listed pages, and the listed pages contain the name of the new site.

If I search for an exact page title it appears the same on the old and new sites. Clicking on the old site result correctly performs a redirect to the new.

Example Listing:

Page Title For Example Page | My New Domain (shows as example.com)

Page Title For Example Page | My New Domain (shows as my old domain name)

I've checked the response codes using an online redirect checker and it all looks good.

The Questions

How do I get Google to automatically remove the links indexed on the old site. Is it just a matter of time, or is something going on with the redirects. There are too many to manually remove using the webmaster tools.

Since the pages appear twice, are Google likely to be penilising me for duplicate content?

I can provide domain names and examples if it helps to diagnose the problem.

  • 1
    You say that you used "PHP / MySql to handle this", which sounds OK, but then you include a code sample that is simply a blind redirect to the new site's home page - which would be very bad for SEO. Can you please clarify - does that code sample have anything to do with what you actually did? – MrWhite Sep 5 '17 at 9:02
  • 1
    That code sample is just representative of how the redirect is executed. The location is set from the db value returned from the logic. – TimTrott Sep 5 '17 at 9:15
  • That is the type of behavior I would expect if you used temporary redirects. I suspect something is wrong with your redirects and they are not as permanent as you think. – Stephen Ostermiller Sep 5 '17 at 10:35
  • That's what's confusing me. These are the raw response headers from a redirect checker. I've also tested using the Firefox developer toolbar which shows the same. These headers look correct to me. >>> http://myolddomain.com/oldpage/ > -------------------------------------------- > 301 Moved Permanently > -------------------------------------------- Status: 301 Moved Permanently Code: 301 Date: Tue, 05 Sep 2017 10:54:50 GMT Server: Apache/2.2.34 Location: http://mynewdomain.com/newpage/ Connection: close Content-Type: text/html; charset=UTF-8 – TimTrott Sep 5 '17 at 10:56
  • 1
    If you explicitly search for the old URLs, Google will show them to you even if things are indexed with the new URLs. That's not a sign that anything's wrong or broken. – John Mueller Sep 6 '17 at 9:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.