Payload Adsign Plugin

Redirects

Automatic redirect management

How It Works

When you use the slugField and change a slug, a redirect is automatically created:

// Change: /articles/old-slug → /articles/new-slug
// Result: Automatic redirect created

Setup

Just use the slug field:

collections/Articles/index.ts
import { slugField } from '@adsign/payload-adsign-plugin';

export const Articles: CollectionConfig = {
  fields: [
    {
      name: 'title',
      type: 'text',
    },
    slugField({
      useAsSlug: 'title',
    }),
  ],
};

Configuration

Specify which collections support redirects:

payload.config.ts
adsignPlugin({
  siteName: 'My Site',
  domain: 'example.com',
  redirects: {
    redirectEnabledCollections: ['pages', 'articles'],
  },
})

Frontend Integration

In Next.js next.config.js:

next.config.js
const { docs: redirects } = await payload.find({
  collection: 'redirects',
  limit: 0,
});

export default {
  async redirects() {
    return redirects.map(r => ({
      source: `/${r.from.value}`,
      destination: `/${r.to.value}`,
      permanent: r.statusCode === '308',
    }));
  },
};

Automatic Redeployment

Trigger deployments when redirects are created:

payload.config.ts
adsignPlugin({
  siteName: 'My Site',
  domain: 'example.com',
  redirects: {
    redeploy: {
      url: process.env.DEPLOY_HOOK_URL,
      delayMinutes: 10,
    },
  },
})

Enable job runner:

payload.config.ts
export default buildConfig({
  jobs: {
    autoRun: process.env.JOBS_AUTORUN === 'true' ? [{
      cron: '* * * * *',
      queue: 'default',
    }] : [],
  },
});

On this page