@crstn/redirect

A small package to crawl a site and return a redirect template. This is helpful for migration from one to another website with different url schemes.

Usage no npm install needed!

<script type="module">
  import crstnRedirect from 'https://cdn.skypack.dev/@crstn/redirect';
</script>

README

@crstn/redirect

A small package to crawl a site and return a redirect template. This is helpful for migration from one to another website with different url schemes.

At the moment, only .htaccess redirects are supported.

Install as a global NPM module:

npm install -g @crstn/redirect

Crawling

Just type:

redirect https://www.example.com

This will crawl the site with a default depth of 2. It's important to pass a canonical url.

Adjust the depth by adding the desired value:

redirect https://www.example.com 3

Note: You will need to pass a high depth in order to crawl all links of the given website. Do not pass negative numbers as crawl depth.

Exclude

You can exclude urls by typing:

redirect https://www.example.com 3 jpg,png,gif,pdf

This will exclude urls, that end with the appropriate file types.

To exclude pages with a specific status:

redirect https://www.example.com 3 n 404,401

This will skip the file type exclusion and exclude page status instead.

Or both together:

redirect https://www.example.com 3 jpg,png,gif,pdf 404,401

The file type exclusion will never output matched urls to the console, since they were not crawled.

But all urls that doesn't match file type exclusion will be printed as normal – even with a failure status code like 404. However, urls that match an excluded status code, will be excluded from the final redirect template.

Output

The output will be placed in the terminal. Copy it to your favorite text editor and adjust as needed.

By default, all pages are being redirected to the passed root url (typically the home page).

.htaccess

Redirect 301 / https://www.example.com
Redirect 301 /subpage https://www.example.com
Redirect 301 /anotherSubpage https://www.example.com