Skip to main content

Keyword

Checks if specified keywords exist or do not exist on a webpage. This node is perfect for monitoring website content changes, verifying deployments, detecting errors, or ensuring critical content is present on your pages.

Common Properties

  • Name - The custom name of the node.
  • Color - The custom color of the node.
  • Delay Before (sec) - Waits in seconds before executing the node.
  • Delay After (sec) - Waits in seconds after executing node.
  • Continue On Error - Automation will continue regardless of any error. The default value is false.
info

If the ContinueOnError property is true, no error is caught when the project is executed, even if a Catch node is used.

Inputs

  • URL - URL of the webpage to check for keywords. If no protocol is provided, https:// is automatically prepended.
  • Keywords - List of keywords to search for on the webpage. Must be an array of strings.

Options

  • Check If Keywords - Determines the check condition:
    • Exist - Returns keywords that were found on the page
    • Not Exist - Returns keywords that were NOT found on the page
  • Timeout - Timeout in seconds for the HTTP request (default: 60 seconds)

Output

  • Result - Array of keywords that matched the check condition:
    • If "Exist" is selected: returns keywords found on the page
    • If "Not Exist" is selected: returns keywords NOT found on the page

How It Works

The Keyword node fetches a webpage and searches its HTML content for specified keywords. When executed, the node:

  1. Validates the URL and keywords input
  2. Prepends https:// if no protocol is specified
  3. Fetches the webpage content with the specified timeout
  4. Searches the entire HTML for each keyword (case-sensitive)
  5. Categorizes keywords as existing or non-existing
  6. Returns the appropriate list based on the check condition

Example Use Cases

Monitor Error Messages

Check if error messages appear on your website:

// Input
URL: "https://myapp.com/dashboard"
Keywords: ["Error 500", "Database connection failed", "Service unavailable"]
Check If Keywords: "Not Exist"

// Output - If all is well, returns empty array
[]

// Output - If errors found, returns empty array
// But if you set to "Exist", you'd get:
["Error 500"]

Verify Deployment Success

Ensure new content appears after deployment:

// Input
URL: "https://myapp.com"
Keywords: ["Version 2.5.0", "New Feature Available", "Updated Dashboard"]
Check If Keywords: "Exist"

// Output - Successfully deployed
["Version 2.5.0", "New Feature Available", "Updated Dashboard"]

// Output - Deployment incomplete
["Version 2.5.0"] // Only partial content visible

Content Quality Assurance

Verify important elements are present on landing pages:

// Input
URL: "https://shop.com/product/12345"
Keywords: ["Add to Cart", "In Stock", "Free Shipping", "Customer Reviews"]
Check If Keywords: "Exist"

// Output - Page is complete
["Add to Cart", "In Stock", "Free Shipping", "Customer Reviews"]

Monitor Competitor Pricing

Track if competitors have changed their pricing:

// Input
URL: "https://competitor.com/pricing"
Keywords: ["$99/month", "$199/month", "$499/month"]
Check If Keywords: "Exist"

// Output - Detect which plans are advertised
["$99/month", "$199/month"] // Enterprise plan changed!

Security Monitoring

Detect if your site has been compromised:

// Input
URL: "https://mysite.com"
Keywords: ["hacked by", "defaced", "malware", "phishing"]
Check If Keywords: "Not Exist"

// Output - Site is clean
["hacked by", "defaced", "malware", "phishing"]

// Output - Site compromised (empty array means keywords exist!)
[]

API Documentation Monitoring

Ensure API docs show the correct version:

// Input
URL: "https://api.example.com/docs"
Keywords: ["API v3.0", "deprecated", "sunset"]
Check If Keywords: "Exist"

// Use to track documentation updates and deprecation notices

Tips for Effective Use

  • Case Sensitivity - Keyword matching is case-sensitive. "Error" and "error" are different.
  • Exact Matching - The node searches for exact string matches in the HTML source code.
  • Use Specific Keywords - More specific keywords reduce false positives (e.g., "Payment Successful" vs "Payment").
  • HTML Source Search - Keywords are searched in raw HTML, including tags and attributes.
  • Multiple Keywords - Check multiple variations (e.g., ["Error", "error", "ERROR"]) for reliability.
  • Regular Monitoring - Combine with Schedule triggers for continuous monitoring.
  • Protocol Handling - The node adds https:// if missing, but explicit protocols are better for clarity.

Common Errors and Solutions

Error: "URL cannot be empty"

Cause: The URL input is missing or contains an empty string.

Solution: Ensure the URL input variable contains a valid URL.

Error: "Keywords cannot be empty"

Cause: The Keywords input is missing, null, or undefined.

Solution:

  • Ensure Keywords is set to an array variable
  • Verify the array is not empty
  • Check that the variable is properly initialized

Error: "Keywords must be an array"

Cause: The Keywords input is not in array format.

Solution:

  • Use an array variable: ["keyword1", "keyword2"]
  • If using a message variable, ensure it's formatted as an array
  • Avoid passing strings or objects

Error: "Check method should be selected"

Cause: The "Check If Keywords" option is not set to either "exist" or "not_exist".

Solution: Select either "Exist" or "Not Exist" in the options.

Request Timeout

Cause: The webpage took longer to load than the specified timeout.

Solution:

  • Increase the Timeout value
  • Check if the website is responding slowly
  • Verify the URL is correct and accessible
  • Check your network connectivity

All Keywords Returned as Not Existing

Cause: Keywords might have different casing, or page content has changed.

Solution:

  • Verify exact spelling and casing of keywords
  • Check the webpage manually to confirm content
  • Consider alternative keywords or phrases
  • Use browser's "View Source" to see the exact text

Integration Examples

Website Uptime Monitor with Content Verification

// 1. Use Website node to check if site is alive
// 2. Use Keyword node to verify content is correct
// 3. Send alert if:
// - Site is down (Website node)
// - Critical content is missing (Keyword node)

E-commerce Product Monitor

// Monitor product availability
URL: "https://shop.com/products/item123"
Keywords: ["Out of Stock", "Sold Out", "Unavailable"]
Check: "Not Exist"

// If result is empty array, product is out of stock!
// Send notification to restock

Multi-Page Content Audit

// Create array of pages to check
const pages = [
"https://site.com/page1",
"https://site.com/page2",
"https://site.com/page3"
];

// For each page, check required keywords
// Store results in data table
// Generate compliance report

A/B Test Detection

// Check which version of page is served
Keywords: ["Version A", "Version B"]
Check: "Exist"

// Track which version appears over time
// Analyze distribution

Error Page Detection

// Check if any error pages appear
Keywords: [
"404 Not Found",
"500 Internal Server Error",
"503 Service Unavailable",
"Access Denied"
]
Check: "Exist"

// Empty result = no errors
// Non-empty result = errors detected