4

I'm migrating a medium-sized site (12,000 pieces of content) from Static HTML to a CMS. The CMS effectively requires that the exiting site structure has to change. The site has more than 5,000 PDFs with internal links that include the FQDN, along with hundreds external links.

These PDFs will not be updated as part of the migration, or at a later date, so I will need to create redirects for each piece of content on the old site to its counterpart on the new site, and maintain those redirects effectively forever.

The existing site and links are at http://www.example.com. I would very much like to use wildcard redirects where possible (like in the directory structure that contains 2,000 MP3 files).

  • Unfortunately, I probably can't just use the http://example.com root domain for the new site, leaving www for the old one, because it conflicts with their internal Active Directory. (When an internal user goes to http://example.com, it takes them to an internal Active Directory domain controller.) So www is fine, but using the root domain isn't.

  • The next easiest way to do this is with a new domain name, leaving the old domain to redirect content forever. This would work, but is the least desirable outcome for the business.

  • My other thought was to use something like www1.example.com, but I'm not sure if there are SEO implications or other issues using www1 as canonical. Most sites that I've seen use www1 use it as an alternative to www, not a replacement.

  • I could try putting redirects on the same server and domain name as the CMS (retaining www.example.com), but that seems like it would be problematic. I would have 12,000 redirects, and if the business ever created a live content item with the same path as a redirect, one of them wouldn't work.

  • It's not terribly desirable (and maybe not possible) to put everything on the new site under www.example.com/newsite/ to avoid redirect conflicts.

Anything I'm missing, or other advice on how to approach this?

  • Using the same domain and subdomain for the new site as the old is common practice. If a new piece of content wants to re-use an old URL, the redirect for it can just be removed at that point. – Stephen Ostermiller Apr 23 '16 at 2:16
  • If the CMS is WordPress you can use a plugin to do the 301 redirects - such as Yoast or Redirection plugin. – DallasNZ Apr 23 '16 at 3:33
  • A decent CMS should be able to do URL rewrites, "seo friendly URL", so the structure of the URL needn't change. The server don't need to do 301, it could just serve the file requested, even if it is not in that physical location anymore. – Lenne Apr 23 '16 at 5:26
  • @Lenne Agree on the CMS. I can absolutely create redirects as alternate URLs in the CMS. Three issues though: One is that I don't know if the CMS allows any redirect. It puts documents in /docs/ directory, so redirects for individual documents may end up under /docs/ as well, which wouldn't work. Second, we would have to create 12,000 redirects one-by-one. We a very small team (2-3 people) so widlcard redirects would help tremndously. Finally, we'd like to move pages from old to new, rather than 100% migrate and cut over, to avoid having to make double-chnages. – Carl C Apr 25 '16 at 22:27
  • @StephenOstermiller - I don't disagree, but that assumes I can have business users keep track of 12,000 redirects while creating new content. It seems likely that one or the other would just break. – Carl C Apr 25 '16 at 22:31
4

I would very much like to use wildcard redirects where possible (like in the directory structure that contains 2,000 MP3 files).

If your server software is apache, then you can use the rewrite module to redirect some URLs to others using wildcard character sequences in the regex. For example, to redirect http://example.com/apple1, http://example.com/appleA, http://example.com/apple2, and http://example.com/appleABC to http://example.com/newapple-1, http://example.com/newapple-A, http://example.com/newapple-2, http://example.com/newapple-ABC respectively you can use this code:

RewriteEngine On
RewriteRule ^apple(.*)$ http://example.com/newapple-$1 [R=301,L]

The next easiest way to do this is with a new domain name, leaving the old domain to redirect content forever. This would work,...

It's also not the best desirable outcome in speed because it takes longer to fetch two new domain names than just one.

My other thought was to use something like www1.example.com, but I'm not sure if there are SEO implications or other issues using www1 as canonical.

Canonical is when you showcase the exact same content on two different URLs. And this idea also makes users wait longer because a subdomain to a web browser is like a new domain (where it has to be fetched).

I could try putting redirects on the same server and domain name as the CMS (retaining www.example.com), but that seems like it would be problematic.

Speed would be better when redirects happen since you're dealing with the same domain name.

It's not terribly desirable (and maybe not possible) to put everything on the new site under www.example.com/newsite/ to avoid redirect conflicts.

At this point in time, this is the perfect approach for speed, cost, and organization reasons. A redirect conflict can happen if you're creating any chain of redirects such that any URL in the chain is the same as the initial URL used that triggered the redirect chain to begin.

If you're not interested in name changes, then at least use the www.example.com/newsite/(insert URL tail) approach for now to make things organized then several months later, redirect URLs to www.example.com/(insert URL tail)

But if you can designate new names for each of the URLs that are to be moved, then do that instead and then you can use them at document root. for example, www.example.com/(new name here)

  • I'd rather do aliases, and keep serving the files from the original URLs without redirects. – Lenne Apr 23 '16 at 5:30
  • Nice rewrite rule :) – John Apr 23 '16 at 10:29
  • @Lenne - A big part of the project is getting away from using static content and into a using CMS to manage conent, so I can't really leave anything in place on the old site. – Carl C Apr 25 '16 at 22:37
  • "Canonical is when you showcase the exact same content on two different URLs. And this idea also makes users wait longer because a subdomain to a web browser is like a new domain (where it has to be fetched)." . . Understood. The site will be available externally via the root "domain.com" as well as "host.domain.com," but the root domain cannot be canonical if it stays the same, because internal users can't reach it, and I can't have Google index the root domain. Again, not sure if www1.example.com as canonical will cause me problems. – Carl C Apr 25 '16 at 22:37
  • @Mike Appreciate the rest of the answer here. That's exactly what I was looking for - another opinion/approach on what we're doing. Thanks. – Carl C Apr 25 '16 at 22:43

Your Answer

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

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