59 lines
2.9 KiB
JavaScript
59 lines
2.9 KiB
JavaScript
export const seoSetupWorkflow = {
|
|
id: "seo_setup",
|
|
name: "SEO Setup",
|
|
description: "Configure SEO for a section: meta tags, URL slugs, and structured data.",
|
|
steps: [
|
|
{
|
|
step: 1,
|
|
action: "Get current table schema",
|
|
description: "Check if seo_metas is already enabled and if enlace (URL slug) exists.",
|
|
tool: "get_table_schema",
|
|
critical: "Look for seo_metas flag and enlace configuration in the schema response."
|
|
},
|
|
{
|
|
step: 2,
|
|
action: "Enable SEO meta tags",
|
|
description: "Turn on seo_metas in the table schema to add meta title/description fields.",
|
|
tool: "update_table_schema",
|
|
critical: "Set seo_metas=true in the schema. This adds SEO fields to each record."
|
|
},
|
|
{
|
|
step: 3,
|
|
action: "Enable enlace for URL slugs",
|
|
description: "Enable enlace so records get their own URL-friendly pages.",
|
|
tool: "update_table_schema",
|
|
critical: "Set enlace=true. This auto-generates /section/record-name/ URLs for each record."
|
|
},
|
|
{
|
|
step: 4,
|
|
action: "Update records with SEO data",
|
|
description: "Fill in SEO fields for each record: meta title, meta description.",
|
|
tool: "create_or_update_record",
|
|
critical: "SEO fields are typically: seo_title, seo_description. Check the schema for exact field names."
|
|
},
|
|
{
|
|
step: 5,
|
|
action: "Create or update detail template",
|
|
description: "Ensure the detail page template includes proper meta tags and structured data.",
|
|
tool: "save_general_section",
|
|
critical: "The template uses 'thisrecord' variable. Include meta tags in the template for SEO."
|
|
}
|
|
],
|
|
context: {
|
|
enlace_behavior: "When enlace is enabled, Acai auto-generates URL slugs in /section/record-name/ format. The enlace field value is auto-formatted with slashes.",
|
|
seo_fields: "Enabling seo_metas adds meta title and description fields to the record editor. These are used in the <head> of the detail page.",
|
|
detail_template: "The general section template (save_general_section) defines what renders when a user visits a record's URL. Uses 'thisrecord' to access the current record's data."
|
|
},
|
|
rules: [
|
|
"Table names WITHOUT 'cms_' prefix",
|
|
"update_table_schema requires both tableName and the schema object",
|
|
"Enlace values are auto-formatted to /path/ format",
|
|
"SEO meta fields are only available after enabling seo_metas on the table"
|
|
],
|
|
warnings: [
|
|
"DO NOT enable enlace on a 'single' type table — single tables have only one record and usually don't need individual URLs",
|
|
"DO NOT forget to create a detail template after enabling enlace — without it, record URLs show blank pages"
|
|
],
|
|
resources: []
|
|
};
|