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
  • Chris commented
    20 Mar 09:51am

    It's not just about mass import - you might need to manage them later as well. The best thing would be a simple plain text field to where you could comment out redirects as well.

    Inside that field you simply copy paste all your urls in a certain (CSV?) Format - done :)

    /old,/new
    #/old2,/new2

  • Joe Kneale commented
    28 Nov, 2022 07:10pm

    None of the code snippets (that would be pasted into console) work - do what Michael recommends below to import/export, use Finsweet - it's f'in sweet!

  • Michael Wells commented
    31 Oct, 2022 08:52pm

    For CSV imports, use Finsweet's free Chrome extension.

    You get a nice import button on your redirects page.

    https://chrome.google.com/webstore/detail/finsweet-extension-for-we/mjfibgdpclkaemogkfadpbdfoinnejep

    For CSV exports, you can use my script here-

    https://www.sygnal.com/blog/export-301-redirects-as-csv

  • Dave Radparvar commented
    28 Sep, 2022 09:38am

    Still waiting for this feature, and along the same lines ability to bulk export as well!

  • Nozzle Ai commented
    31 Aug, 2022 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, 2022 04:25pm

    Yes, please!

  • Graphite Marketing commented
    27 Feb, 2022 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!

  • Load older comments
  • +137