Question
Are there techniques to let search engines know a page has moved other than 301 redirects?
Background
Hell Migration
We recently migrated our knowledge base from one vendor to another and it's gone very poorly from an SEO perspective. The pages don't do anything you need for SEO to work, and the new platform has severely limited options to address the situation
The URL Journey
1. Original Article: /en-us/Getting-Started
It started with vendor 1, oh how we loved you and your ability to woo search engines with you well structured content and great search results.
2. New Busted Article /article?id=123
Then the new vednor came, it worked and passed all the user tests, got testing sign-off and headed to production. None of us were wise to the fact the new page was dynamic and slow and crawlers couldn't find titles or descriptions for the page.
3. /en-us/Getting-Started
-> 301 /article?id=123
So we made the ominous mistake of 301 redirecting all of our old and good vendor articles to the new awful vendor articles. Along with our sitemap and organic and direct traffic from the old url a fair amount of crawlers made the switch to the shitty version of that page.
4. /article/Getting-Started
Fortunately we were able to figure another approach and the search engines are much happier with their cached snapshots with proper titles and descriptions. We've submitted new site maps and the good pages are showing up.
How can I deal with the Busted URLs
Unfortunately we're still seeing results for /article?id=123
with their useless titles and all of our rank they've stolen from the original good vendor.
Option 1 301 Redirect - Not Possible on Platform
I'd love to use a 301 redirect than all the original ranking finds it's home on the page that gives google decent info to work with.
Option 2 rel canonical - Too Slow
I could add rel canonical to tell searchs the good stuff is at the new url, and merge our ranks. But the page is so slow i don't expect the crawlers to actually see it.
Option 3 stripped page, rel canonical, client side redirect - Maybe?
I could strip down the page to just a rel canonical link to the good page, and then redirect to the canonical. But then the content on my supposedly duplicate pages won't look the same at all, which seems like might cause problems.
What should I do
Option 3 is the only option I can see, but I have zero idea how google feels about the page with the rel canonical link and no other content by a client side redirect going to the new page.
Is this a workable approach? Or should I just give up on this one.
Why no 301 Redirects
For the curious, this is a Salesforce "Lightning" Community, kind of a CMS on steroids with a Salesforce connection, which is is in turn built on top of a product call Force.com sites. There is some basic support for 301 redirects on the Force.com sites, but they aren't supported for routes in the "CMS" part of the platform. So I was able to use 301 redirects when we migrated vendors, since that url pattern was not in the "CMS" path, but I can NOT for the implementation that is having trouble with crawlers.