npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

strapi-plugin-redirects

v1.0.4

Published

This plugin allows a user to manage redirects from the admin panel.

Downloads

3,627

Readme

Strapi Plugin for Managing Redirects

This plugin provides a convenient way to manage URL redirects within a dedicated collection type in Strapi, catering to the headless nature of the CMS. While it does not automatically handle redirects on the server side, it offers a structured endpoint from which frontend applications can fetch redirect rules and implement redirection logic as needed. This approach empowers developers and content managers to seamlessly integrate and manage redirect rules, enhancing SEO and user experience by leveraging the flexibility of Strapi's headless architecture.

Version Documentation Maintenance License: MIT Twitter: webbist

Features

  • Admin Panel Integration: Once installed, the plugin adds a new section called "Redirects" under the plugins category in the Strapi admin dashboard. This intuitive interface lets you effortlessly manage your redirects.
  • Flexible Redirects Management: Create redirects by specifying the origin URL (From), the destination URL (To), and the redirect type (Type).
  • Accessible Endpoint: Redirects are made available through the api/redirects endpoint as a JSON object. This endpoint is accessible to authenticated users with the appropriate permissions, enabling easy integration with your frontend.

Getting Started

Installation

  1. Install the plugin using npm or yarn:

npm install strapi-plugin-redirects or yarn add strapi-plugin-redirects

  1. Enable the plugin in Strapi by adding it to your ./config/plugins.js:
module.exports = ({ env }) => ({
  // Other plugin configurations...
  redirects: {
    enabled: true,
  },
});
  1. Restart your Strapi server for the changes to take effect.

How to Use

  1. Access the Strapi admin panel and locate the Redirects section within the plugins area.
  2. To add a new redirect, click on Add New Redirect and fill in the To, From, and Type fields accordingly.
  3. After saving, the new redirect will be available at the api/redirects endpoint.
  4. To fetch redirects, send a GET request to api/redirects. The response will be a JSON object listing all configured redirects.

Importing Redirects

You can import redirects in bulk by uploading a CSV file with from, to, and type headers. Both relative and absolute paths are supported for maximum flexibility, and specifying permanent or temporary in the type field correctly maps to the respective redirect type.

Example Usage with Next.js

This plugin is ideal for content editors or SEO specialists managing redirects in a headless CMS setup. Here's how you can integrate it with a Next.js project:

  1. Fetch redirects during the build process to include them in next.config.js.

Example script for fetching redirects:

const redirects = () => {
  return fetch('http://localhost:1337/redirects')
    .then(res => res.json())
    .then(response => {
      // Use redirects however you need to
    });
};

module.exports = redirects;

Incorporate the fetched redirects into next.config.js:

const getRedirects = require('./redirects');

module.exports = {
  // Other configurations...
  redirects: () => getRedirects(),
};

Redirect Types

Define your redirect types with clear descriptions, for instance:

  • moved_permanently_301: The resource has moved permanently to a new URL.
  • found_302: The resource is temporarily located at a different URL.
  • temporary_redirect_307: Temporarily moved to a new URL with the same method used.
  • gone_410: The resource is permanently removed and won't be available again.
  • unavailable_for_legal_reasons_451: Access to the resource is restricted due to legal reasons.

Contributions

This plugin is inspired by and extends the functionalities of the @webbio plugin by adding features like bulk import capabilities. Contributions in the form of translations, feature enhancements, and bug fixes are highly encouraged and appreciated.

We are particularly interested in expanding the plugin to include:

  1. A settings page to enable redirects on specific content types, allowing users to easily manage redirects when content items are deleted or slugs are changed.
  2. Integration with hosting providers like Vercel, Netlify, Firebase, Amplify, and Render.io to automate the management of redirects through CRUD events.

Feel free to reach out or submit pull requests on GitHub if you're interested in contributing to the development of this plugin.

License

This plugin is available under the MIT License. For more information, please refer to the LICENSE file in the repository.