Files
payloadcms/test/plugin-seo/config.ts
Jessica Chowdhury ece7d92e57 chore: updates e2e tests for plugin-nested-docs and plugin-seo (#5434)
* test: removes unnecessary lines

* fix: do not error if row field has no fields (#5433)

* ci(deps): update turborepo

* ci: release script updates

* chore: lint all json/yml, add to lint-staged

* chore: lint mdx in lint-staged

* chore: enable e2e live preview (#5444)

* chore: update workflow file

---------

Co-authored-by: Alessio Gravili <70709113+AlessioGr@users.noreply.github.com>
Co-authored-by: Elliot DeNolf <denolfe@gmail.com>
Co-authored-by: Paul <paul@payloadcms.com>
2024-04-01 15:01:05 +01:00

65 lines
1.6 KiB
TypeScript

import { seo } from '@payloadcms/plugin-seo'
import { buildConfigWithDefaults } from '../buildConfigWithDefaults.js'
import { devUser } from '../credentials.js'
import { Media } from './collections/Media.js'
import { Pages } from './collections/Pages.js'
import { Users } from './collections/Users.js'
import { seed } from './seed/index.js'
export default buildConfigWithDefaults({
collections: [Users, Pages, Media],
i18n: {
translations: {
es: {
'plugin-seo': {
autoGenerate: 'Auto-génerar',
},
},
},
},
localization: {
defaultLocale: 'en',
fallback: true,
locales: ['en', 'es', 'de'],
},
onInit: async (payload) => {
await payload.create({
collection: 'users',
data: {
email: devUser.email,
password: devUser.password,
},
})
await seed(payload)
},
plugins: [
seo({
collections: ['users'],
tabbedUI: true,
}),
seo({
collections: ['pages'],
fieldOverrides: {
title: {
required: true,
},
},
fields: [
{
name: 'ogTitle',
type: 'text',
label: 'og:title',
},
],
generateDescription: ({ doc }: any) => doc?.excerpt?.value || 'generated description',
generateTitle: (data: any) => `Website.com — ${data?.doc?.title?.value}`,
generateURL: ({ doc, locale }: any) =>
`https://yoursite.com/${locale ? locale + '/' : ''}${doc?.slug?.value || ''}`,
tabbedUI: true,
uploadsCollection: 'media',
}),
],
})