@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