Bulk import 301 redirects

I have to set up about a bajillion redirects this weekend. Would be awesome to have a similar feature to the CMS import to be able to add redirects in bulk.

  • Chris Scott
  • Jul 1 2017
  • Nozzle Ai commented
    31 Aug 09:24am

    Hey everyone,

    The original script is no longer working but I've updated it so that it works in the publishing tab/current setup


    var hostingContainer = document.getElementsByClassName('redirects')[0];

    var hostingController = angular.element(hostingContainer);

    var scope = hostingController.scope();

    var redirects = [

    {redirectPath: '/old-path', redirectTarget: '/new-path'},

    ];

    redirects.forEach(function (rule) {

    scope.redirectPath = rule.redirectPath;

    scope.redirectTarget = rule.redirectTarget;

    scope.addRedirect();

    });


    Just some small tweaks but it worked well for me :)

  • Megan Tilton commented
    16 May 04:25pm

    Yes, please!

  • Graphite Marketing commented
    27 Feb 07:40am

    Yes please!

  • Juraj Carnecky commented
    23 May, 2021 02:48pm

    Yes please :)

  • Abby Cameron commented
    30 Apr, 2021 01:57pm

    Yes please! Would love the ability to import all redirects!

  • Max Shepley commented
    8 Feb, 2021 03:39pm

    I have created a short tutorial showing how you can use Janne's hack AND Parabola to bring together your URL links and follow the var redirects structure. Hopefully some find it helpful!

    https://www.sunrise.design/resources/bulk-import-301s

  • Max Shepley commented
    3 Jan, 2021 05:16pm

    I've made a video to build on the use of the script posted below. The script is amazing but isn't too helpful if you have 1000+ items and don't want to manually enter them into the script. Using Parabola's free tier, you can do this really quickly! Check it out: https://youtu.be/fhHLOyVrwkk

        var hostingContainer = document.getElementsByClassName('hosting-tab')[0];
    var hostingController = angular.element(hostingContainer);
    var scope = hostingController.scope();

    var redirects = [
    {source: '/old1', target: '/new1'},
    {source: '/old2', target: '/new2'},
    {source: '/old3', target: '/new3'},
    {source: '/old4', target: '/new4'},
    ];

    redirects.forEach(function (rule) {
    scope.redirectPath = rule.source;
    scope.redirectTarget = rule.target;
    scope.addRedirect();
    });
  • CareValue commented
    16 Oct, 2020 09:04pm

    Janne's hack worked!!!! I put 800 redirects into an excel sheet, concatenated the data together to follow the var redirects structure, and then copy and pasted into the google dev console. No need for a timeout, this hack is truly awesome. Thank you Janne!!!!!

    "This hack works at least with few redirects in the list. If more, maybe some sort of a timeout between addRedirect calls is in place...

    So you run this code in Google Chrome developer console as logged in user in Webflow on the Hosting tab in admin section pages. Just copy/paste the code to the console. Before that prepare the redirects-list with your own redirect rules.

        var hostingContainer = document.getElementsByClassName('hosting-tab')[0];
    var hostingController = angular.element(hostingContainer);
    var scope = hostingController.scope();

    var redirects = [
    {source: '/old1', target: '/new1'},
    {source: '/old2', target: '/new2'},
    {source: '/old3', target: '/new3'},
    {source: '/old4', target: '/new4'},
    ];

    redirects.forEach(function (rule) {
    scope.redirectPath = rule.source;
    scope.redirectTarget = rule.target;
    scope.addRedirect();
    });
  • James Seigel commented
    16 Sep, 2020 06:15pm

    Please!

  • Gustavo Alonge commented
    9 Sep, 2020 11:46am

    Yes! Please!

  • Rob Day commented
    25 Aug, 2020 10:10am

    Yes pelase! This is essential to anyone having to move over legacy websites

  • Janne Kanerva commented
    2 Mar, 2020 11:51am

    This hack works at least with few redirects in the list. If more, maybe some sort of a timeout between addRedirect calls is in place...

    So you run this code in Google Chrome developer console as logged in user in Webflow on the Hosting tab in admin section pages. Just copy/paste the code to the console. Before that prepare the redirects-list with your own redirect rules.

        var hostingContainer = document.getElementsByClassName('hosting-tab')[0];
    var hostingController = angular.element(hostingContainer);
    var scope = hostingController.scope();

    var redirects = [
    {source: '/old1', target: '/new1'},
    {source: '/old2', target: '/new2'},
    {source: '/old3', target: '/new3'},
    {source: '/old4', target: '/new4'},
    ];

    redirects.forEach(function (rule) {
    scope.redirectPath = rule.source;
    scope.redirectTarget = rule.target;
    scope.addRedirect();
    });
  • Rachel WastePlace commented
    27 Feb, 2020 04:59pm

    woof. yeah, i was lucky i only had 70 or so, but I've had plenty of projects where this would have been brutal.

  • Alexa-Rae Navarro commented
    30 Jan, 2020 08:59pm

    This would be a gem. Please bump!

  • Terry Hopper commented
    29 Jan, 2020 05:27pm

    Yes, please. Redirects are a pain, but so important for SEO.

  • Jake Spirek commented
    14 Jan, 2020 04:12pm

    Pretty please!

  • Ferguson Barton commented
    3 Jan, 2020 08:14pm

    It's 2020 and it's time to be able to bulk upload 301's! Please make either this a feature, it is essential if you're going to steal away loyal Wordpress clients ;)

  • Natalie Russo commented
    20 Dec, 2019 04:37pm

    There really needs to be an option to upload them as a csv.

  • Editor Tension commented
    16 Dec, 2019 07:58pm

    still needed — absolutely. would cut down on a ton of manual work.

  • Jake Spirek commented
    12 Nov, 2019 08:45pm

    I also have hundreds of 301 redirects to create. Can't believe I'm going to have to do them manually. 

  • Load older comments
  • +128