Recevez des notifications pour chaque échéance réglementaire, contrôlez la conformité de vos installations et centralisez les plans d’action.
Recevez des notifications pour chaque échéance réglementaire, contrôlez la conformité de vos installations et centralisez les plans d’action.
{
"id": "JCp6tMYrzFDSOQ1C",
"meta": {
"instanceId": "a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462",
"templateCredsSetupCompleted": true
},
"name": "WooCommerce SEO Yoast Meta Tag Generation",
"tags": [],
"nodes": [
{
"id": "02c4abf8-64f5-45e5-934f-0f1db4484c78",
"name": "When clicking u2018Test workflowu2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
120,
-480
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d545f0e0-76dd-490b-85b6-7a83b65eb8f6",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
920,
-280
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{nt"type": "object",nt"properties": {ntt"metatitle": {nttt"type": "string"ntt},ntt"metadescription": {nttt"type": "string"ntt}nt}n}"
},
"typeVersion": 1.2
},
{
"id": "a9873f0e-8325-4434-9219-45c711a7afad",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
120,
-660
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "9a232d7e-97e7-4e47-85ab-5069108d53ab",
"name": "Get product ID",
"type": "n8n-nodes-base.googleSheets",
"position": [
320,
-480
],
"parameters": {
"options": {
"returnFirstMatch": true
},
"filtersUI": {
"values": [
{
"lookupColumn": "METATITLE"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/17eYoKhtUupkye9Bmv13BjfP2jyymBUW4UYQGWU6V2cs/edit#gid=0",
"cachedResultName": "Foglio1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "17eYoKhtUupkye9Bmv13BjfP2jyymBUW4UYQGWU6V2cs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/17eYoKhtUupkye9Bmv13BjfP2jyymBUW4UYQGWU6V2cs/edit?usp=drivesdk",
"cachedResultName": "Metatitle and Metadescription WooCommerce"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "JYR6a64Qecd6t8Hb",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "b4324a6a-7c53-460e-9966-37a8df4d0ae9",
"name": "Get product",
"type": "n8n-nodes-base.wooCommerce",
"position": [
520,
-480
],
"parameters": {
"operation": "get",
"productId": "={{ $json['ID POST'] }}"
},
"credentials": {
"wooCommerceApi": {
"id": "vYYrjB5kgHQ0XByZ",
"name": "WooCommerce (wp.test.7hype.com)"
}
},
"typeVersion": 1
},
{
"id": "28a911b7-0d74-4686-a349-f727b0ee9641",
"name": "Generate metatitle e metadescription",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
740,
-480
],
"parameters": {
"text": "=Create metatitle and metadescription in the language of the following product:n- Title: {{ $json.name }}n- Description: {{ $json.description }}n- Short description: {{ $json.short_description }}n- Product category: {{ (JSON.stringify($json.categories)) }},",
"messages": {
"messageValues": [
{
"message": "=You are a SEO expert specialized in creating optimized meta tags. Your task is to analyze the provided content and generate:nn1. A meta title of maximum 60 characters that:n - Includes the main keyword in a strategic positionn - Is engaging and encourages clicksn - Accurately reflects the page contentn - Uses clear and direct languagen - Avoids keyword stuffingnn2. A meta description of maximum 160 characters that:n - Provides an engaging summary of the contentn - Includes an appropriate call-to-actionn - Contains the main keyword and relevant variationsn - Is grammatically correct and flows welln - Maintains consistency with the meta titlennANALYSIS PROCESS:n1. Carefully read the provided contentn2. Identify:n - Main topicn - Primary and related keywordsn - Search intentn - Unique selling propositionn - Target audiencenn3. Formulate meta tags that:n - Maximize CTRn - Respect character limitsn - Are SEO optimizedn - Reflect the contentn - Don't insert placeholdernnREQUIRED OUTPUT:nProvide meta tags in the required formatnnVALIDATION CRITERIA:n- Verify that the meta title doesn't exceed 60 charactersn- Verify that the meta description doesn't exceed 160 charactersn- Check that both contain the main keywordn- Ensure the language is persuasive and action-orientedn- Confirm that meta tags are consistent with the contentnnIMPORTANT:n- Don't use excessive punctuationn- Avoid using special characters unless necessaryn- Don't duplicate information between title and descriptionn- Maintain a professional yet accessible tonen- Ensure content is unique and not duplicatednnRemember: the goal is to create meta tags that effectively balance SEO optimization and user appeal, maximizing the potential click-through rate in search results."
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.5
},
{
"id": "0c995efc-e28e-467d-9b17-d22e792ff0d3",
"name": "Update product",
"type": "n8n-nodes-base.wooCommerce",
"position": [
1120,
-480
],
"parameters": {
"imagesUi": {},
"resource": "product",
"operation": "update",
"productId": "={{ $('Get product ID').item.json['ID POST'] }}",
"metadataUi": {
"metadataValues": [
{
"key": "_yoast_wpseo_title",
"value": "={{ $json.output.metatitle }}"
},
{
"key": "_yoast_wpseo_metadesc",
"value": "={{ $json.output.metadescription }}"
}
]
},
"dimensionsUi": {},
"updateFields": {}
},
"credentials": {
"wooCommerceApi": {
"id": "vYYrjB5kgHQ0XByZ",
"name": "WooCommerce (wp.test.7hype.com)"
}
},
"typeVersion": 1
},
{
"id": "e1850ecf-792a-4b78-addb-f433732a215c",
"name": "Update Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1320,
-480
],
"parameters": {
"columns": {
"value": {
"URL": "={{ $('Get product').item.json.permalink }}",
"DATA": "={{ $now.format('dd/LL/yyyy HH:ii') }}",
"METATITLE": "={{ $('Generate metatitle e metadescription').item.json.output.metatitle }}",
"TITLE POST": "={{ $('Get product').item.json.name }}",
"row_number": "={{ $('Get product ID').item.json.row_number }}",
"METADESCRIPTION": "={{ $('Generate metatitle e metadescription').item.json.output.metadescription }}"
},
"schema": [
{
"id": "DATA",
"type": "string",
"display": true,
"required": false,
"displayName": "DATA",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ID POST",
"type": "string",
"display": true,
"required": false,
"displayName": "ID POST",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "TYPE POST",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "TYPE POST",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL",
"type": "string",
"display": true,
"required": false,
"displayName": "URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "TITLE POST",
"type": "string",
"display": true,
"required": false,
"displayName": "TITLE POST",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "METATITLE",
"type": "string",
"display": true,
"required": false,
"displayName": "METATITLE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "METADESCRIPTION",
"type": "string",
"display": true,
"required": false,
"displayName": "METADESCRIPTION",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"row_number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1-eCFzNDrs1CiLJ4K5CSIaLeYt5Xf5PdubFNDvKWL-dA/edit#gid=0",
"cachedResultName": "Foglio1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "17eYoKhtUupkye9Bmv13BjfP2jyymBUW4UYQGWU6V2cs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/17eYoKhtUupkye9Bmv13BjfP2jyymBUW4UYQGWU6V2cs/edit?usp=drivesdk",
"cachedResultName": "Metatitle and Metadescription WooCommerce"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "JYR6a64Qecd6t8Hb",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "a095dc5b-d234-40c5-9486-e34f24c1b1eb",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
280,
-560
],
"parameters": {
"width": 180,
"height": 240,
"content": "Get the product ID that does not have metatitle or metadescription yet"
},
"typeVersion": 1
},
{
"id": "bac079f9-890e-49e4-811e-31cf0cfb5d1b",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
480,
-560
],
"parameters": {
"width": 180,
"height": 240,
"content": "Get all the product details starting from the product ID"
},
"typeVersion": 1
},
{
"id": "c9c3d53a-a591-4ab4-8f81-c93edd3c5b9f",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
680,
-560
],
"parameters": {
"width": 380,
"height": 240,
"content": "Based on the content of the product generates the metatitle and metadescription. In this example we use Gemini Think 2.0 which is FREE with OpenRouter"
},
"typeVersion": 1
},
{
"id": "521240e4-fc75-45cc-a965-95d7d17dc727",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1080,
-560
],
"parameters": {
"width": 180,
"height": 240,
"content": "Insert the generated data into WooCommerce"
},
"typeVersion": 1
},
{
"id": "e8643582-c30a-4b16-8e15-15acc969a032",
"name": "Gemini 2.0 Flash Exp",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
740,
-280
],
"parameters": {
"model": "google/gemini-2.0-flash-exp:free",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "pb06rfB4xmxzVe3Q",
"name": "OpenRouter"
}
},
"typeVersion": 1
},
{
"id": "be9042a1-e2f8-4ed0-850d-269cf6fc55e8",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
280,
-820
],
"parameters": {
"color": 3,
"width": 980,
"content": "WooCommerce SEO Yoast Meta Tag Generation for FREEnnThis workflow streamlines the process of optimizing WooCommerce product pages for SEO, saving time and ensuring consistency in meta tag generation.nnCreate a copy of [this Sheet](https://docs.google.com/spreadsheets/d/17eYoKhtUupkye9Bmv13BjfP2jyymBUW4UYQGWU6V2cs/edit?usp=sharing) and insert only the WooCommerce product ID in the column "B"."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "aa239f84-430a-4e3f-a33f-3552834e635e",
"connections": {
"Get product": {
"main": [
[
{
"node": "Generate metatitle e metadescription",
"type": "main",
"index": 0
}
]
]
},
"Update Sheet": {
"main": [
[]
]
},
"Get product ID": {
"main": [
[
{
"node": "Get product",
"type": "main",
"index": 0
}
]
]
},
"Update product": {
"main": [
[
{
"node": "Update Sheet",
"type": "main",
"index": 0
}
]
]
},
"Gemini 2.0 Flash Exp": {
"ai_languageModel": [
[
{
"node": "Generate metatitle e metadescription",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Generate metatitle e metadescription",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"When clicking u2018Test workflowu2019": {
"main": [
[
{
"node": "Get product ID",
"type": "main",
"index": 0
}
]
]
},
"Generate metatitle e metadescription": {
"main": [
[
{
"node": "Update product",
"type": "main",
"index": 0
}
]
]
}
}
}