Node Types (Actions)



Introduction

Node Types (Actions) are the fundamental building blocks of a workflow. Each node performs a specific action in the browser, much like how you would interact with a website manually.

Why Understand Node Types?

  • Create efficient workflows: Know which node to use and when.
  • Optimize costs: Select the right nodes to save tokens.
  • Avoid errors: Understand correct configurations for stable workflows.
  • Simulate human behavior: Combine nodes to mimic a real person.

Categorizing Node Types

Traffic4SEO has 6 main action types:

1. Navigation

  • Url Goto: Open a specific URL.
  • Urls Goto: Open a random URL from a list.

2. Interaction

  • Click Random Link: Click a random link on the page.
  • Click on Link: Click a specific link.
  • Text Input: Enter text into a field.

3. Timing

  • Wait: Wait for the page to load or simulate reading content.

🌐 Url Goto - Navigate to URL

Description

Navigates to a specific URL. This is the most common node and is usually the first node of any workflow.

When to Use?

Recommended when:

  • Opening Google for a search.
  • Opening your website directly.
  • Opening a specific product page.
  • Starting any workflow.

Not recommended when:

  • You want to open one of many random URLs → Use Urls Goto instead.
  • You are already on the page and want to click a link → Use Click on Link instead.

Configuration

Field Description Required Example
Target URL The address of the website to open. ✅ Yes https://example.com
Referral Source Enter referral source URLs (one per line). The browser will simulate coming from one of these URLs. Leave blank for direct access. ❌ No See below

Usage Examples

Example 1: Open Google

Target URL: https://www.google.com/

Example 2: Open a product page

Target URL: https://example.com/products/nike-air-max-shoes

Example 3: Open a blog post

Target URL: https://blog.example.com/seo-guide-2024

Example 4: Open a page with a referrer

Target URL: https://example.com/products/nike-shoes
Referral Source:
https://www.google.com/search?q=nike+shoes
https://www.facebook.com/
https://example.com/blog/top-10-sports-shoes

→ The system will randomly pick 1 URL from the referrer list.
→ The browser will open the page with the HTTP Referer header.
→ Google Analytics will record the traffic source from the referrer.

Cost

30 tokens (fixed) - Does not depend on the URL or load time.

Important Notes

{warning} Note:

  • This node is usually the first node in a workflow.
  • URLs must start with http:// or https://.
  • If the URL doesn't exist or errors, the workflow will fail.

{info} About Referral Sources (Referrers):

  • Referrers help simulate traffic coming from other sources (Google, Facebook, blogs...).
  • If left blank → No referrer (direct traffic).
  • If there are multiple URLs → The system randomly picks 1 URL as the referrer.
  • The referrer will be recorded in Google Analytics and other analysis tools.
  • All referral URLs must be valid (start with http:// or https://).

🌐 Urls Goto - Navigate to Random URL

Description

Randomly navigates to a URL from the list you provide. Good for creating diverse traffic.

When to Use?

Recommended when:

  • Randomly opening one of many blog pages.
  • Creating diverse traffic for multiple products.
  • Avoiding concentrating traffic on a single page.
  • Wanting to distribute traffic evenly across many URLs.

Not recommended when:

  • You only have 1 URL → Use Url Goto instead (cheaper).
  • You need to open all URLs in the list → Use multiple separate Url Goto nodes.

Configuration

Field Description Required Example
Target URL List Multiple URLs (one per line). ✅ Yes See below
Referral Source Enter referral source URLs (one per line). The browser will simulate coming from one of these URLs. Leave blank for direct access. ❌ No See below

Usage Examples

Example 1: Diverse Blogs

https://example.com/blog/post-1
https://example.com/blog/post-2
https://example.com/blog/post-3
https://example.com/blog/post-4
https://example.com/blog/post-5

→ The system randomly picks 1 of the 5 URLs.

Example 2: Products

https://shop.com/nike-shoes
https://shop.com/adidas-shoes
https://shop.com/puma-shoes

→ Traffic is distributed evenly across 3 products.

Example 3: Landing pages

https://example.com/promo-new-year
https://example.com/promo-march-8
https://example.com/promo-opening

Example 4: Landing pages with referrers

Target URL List:
https://example.com/promo-new-year
https://example.com/promo-march-8
https://example.com/promo-opening

Referral Source:
https://www.google.com/
https://www.facebook.com/
https://www.youtube.com/
https://example.com/blog

→ Randomly picks 1 target URL + 1 referral URL.
→ Simulates traffic from many different sources.

Cost

45 tokens (fixed) - 15 tokens more expensive than Url Goto due to the random feature.

Important Notes

{info} Note:

  • Each run only opens 1 random URL, not all of them.
  • The probability of picking each URL is equal (even random).
  • You should have at least 3-5 URLs to ensure diversity.
  • All URLs must be valid; if the selected URL errors, the workflow fails.

{success} About Referral Sources (Referrers):

  • Mechanism: Randomly picks 1 target URL + Randomly picks 1 referral URL.
  • If left blank → Traffic will be direct traffic.
  • If there are many referrers → Creates highly diverse traffic sources.
  • Example: 5 target URLs + 4 referral URLs = 20 different combinations!
  • All referral URLs must be valid (start with http:// or https://).

⏱️ Wait - Waiting

Description

Waits for a specified number of seconds. This is an EXTREMELY IMPORTANT node for making workflows run naturally and avoiding bot detection.

Why Wait?

3 main reasons:

  1. To let the webpage load

    • After opening a URL, the page needs time to load.
    • After clicking, the new page needs time to load.
  2. To simulate a real person reading content

    • Real people don't click continuously.
    • Reading an article takes 30-60 seconds.
    • Browsing a product takes 10-20 seconds.
  3. To avoid bot detection

    • Bots usually don't have delays → easy to detect.
    • Random delays make it more like a real human.

When to Use?

Always use it:

  • After every Url Goto (wait for page load).
  • After every Click (wait for new page load).
  • Between actions (simulate thinking time).
  • Before leaving a page (simulate finishing reading).

Never skip it:

  • There's no case where you don't need to Wait!
  • A workflow without Wait = unnatural = easy to detect.

Configuration

Field Description Required Limit Example
Minimum Sec Minimum wait time ✅ Yes 1-1800 5
Maximum Sec Maximum wait time ✅ Yes 1-1800, ≥ min 10

Usage Examples

Example 1: Page load (short)

Min: 2 seconds
Max: 5 seconds
→ The system randomizes between 2-5 seconds
→ Cost: 2-5 tokens

Example 2: Reading an article (long)

Min: 30 seconds
Max: 60 seconds
→ Simulates a reader
→ Cost: 30-60 tokens

Example 3: Browsing a product (medium)

Min: 10 seconds
Max: 20 seconds
→ Simulates viewing a product
→ Cost: 10-20 tokens

Example 4: Thinking before clicking (very short)

Min: 1 second
Max: 3 seconds
→ Simulates thinking
→ Cost: 1-3 tokens

Cost

1 token/second (based on the actual randomized time)

Note: This is the ONLY node with a non-fixed cost - the cost depends on the randomized time.

Calculation Formula

Wait Cost = Randomized seconds × 1 token

Example:

- Min: 5s, Max: 10s
- Runtime randomized to 7s
- Cost = 7 tokens

Usage Recommendations

Situation Min Max Reason
Basic page load 2s 5s Enough for basic load
Complex page load 5s 10s Page has many images, JS
Reading a headline 3s 8s Quick headline read
Reading short paragraph 10s 20s Reading 1-2 paragraphs
Reading full article 30s 60s Reading the whole post
Viewing a product 10s 25s Looking at images, desc
Thinking before click 1s 3s Natural delay

Important Notes

{danger} Crucial:

  • Always add Wait between steps to keep the workflow natural!
  • Too short a wait (< 1s) = bot-like → easy to detect.
  • Too long a wait (> 300s) = wastes tokens unnecessarily.
  • Use a Min-Max range to create randomness (like a real person).

{success} Savings Tip:

  • Wait just enough: 2-5s for page loads, 10-20s for reading content.
  • No need for very long waits if the goal is only a pageview.
  • Use longer waits if you want to increase engagement metrics (time on page).

🖱️ Click Random Link - Click Random Link

Description

Clicks a random link on the page. Useful for reducing bounce rate and increasing pages per session.

When to Use?

Recommended when:

  • Reducing bounce rate (user doesn't exit immediately).
  • Increasing pageviews (from 1 page → multiple pages).
  • Randomly browsing blog posts.
  • Exploring products.
  • Simulating natural browsing behavior.

Not recommended when:

  • You need to click a specific link → Use Click on Link instead.
  • The page has no links → The workflow will fail.

Configuration

Field Description Required Example
CSS Selector Filter links by selector ❌ No .content a

Leave blank = Click any link on the page.

Usage Examples

Example 1: Click any link

CSS Selector: (blank)
→ Clicks any link on the page.

Example 2: Only click links within the content

CSS Selector: .content a
→ Only clicks links inside an element with the "content" class.
→ Ignores menu, footer, and sidebar links.

Example 3: Only click article links

CSS Selector: .post-link
→ Only clicks links with the "post-link" class.

Example 4: Click a product link

CSS Selector: .product-card a
→ Only clicks links within a product card.

Cost

30 tokens (fixed)

How it Works

  1. The system finds all links on the page (or within the selector if provided).
  2. Randomly selects 1 link.
  3. Clicks that link.
  4. Navigates to the new page.

Important Notes

{warning} Note:

  • If the page has no links → The workflow fails.
  • If the link leads out of the website → It may not be able to return.
  • Use a CSS Selector to ensure it only clicks internal links.
  • Always add a Wait node after this for the new page to load.

🖱️ Click on Link - Click on Link

Description

Clicks a specific link with text, URL, or a CSS selector. Perfect for precise navigation.

When to Use?

Recommended when:

  • Clicking the "Read More" button.
  • Clicking the "Contact Us" link.
  • Clicking a specific product.
  • Clicking a Google search result.
  • Needing the exact link to click.

Not recommended when:

  • You want to click randomly → Use Click Random Link instead.
  • You don't know the exact text/URL of the link.

Configuration

Field Description Required Example
Selection Type How to find the link ✅ Yes text, url, selector
Value Text, URL, or selector value ✅ Yes Varies
Internal Only Only click same-domain links ❌ No true/false

3 Ways to Find a Link

1. Link Text (text) - Easiest

Type: text
Value: "Read More"
→ Clicks the link with the text "Read More"

2. Link URL (url) - Accurate

Type: url
Value: "/products/"
→ Clicks the link that contains "/products/" in the URL

3. CSS Selector (selector) - Advanced

Type: selector
Value: ".product-link"
→ Clicks the link with the "product-link" class

Usage Examples

Example 1: Click "Read More"

Selection Type: Link text
Value: Read More
Internal Only: true
→ Clicks the "Read More" button within the website

Example 2: Click a Google result

Selection Type: Link URL
Value: /example.com
Internal Only: false
→ Clicks the result that contains "example.com" in the URL

Example 3: Click a specific product

Selection Type: Link text
Value: Nike Air Max Shoes
Internal Only: true
→ Clicks the link with the text "Nike Air Max Shoes"

Example 4: Click using CSS Selector

Selection Type: CSS Selector
Value: .featured-product a
Internal Only: true
→ Clicks the link within the featured product

Cost

30 tokens (fixed)

How it Works

  1. The app finds all links on the page that match the condition.
  2. If there are multiple matches → The app picks the first link.
  3. Clicks that link.
  4. Navigates to the new page.

Example:

Page has 3 links:

- Link 1: "Read More" (in post 1)
- Link 2: "Read More" (in post 2)
- Link 3: "Read More" (in post 3)

Config: Type = text, Value = "Read More"
→ The app clicks Link 1 (the first one)

Important Notes

{info} Note:

  • If no matching link is found → The workflow fails.
  • Multiple matches → Picks the first link.
  • Text must match exactly (case-sensitive).
  • URL only needs to contain the search string, not match entirely.
  • Switch "Internal Only" on to avoid wandering off the website.
  • Always add a Wait action after this.

{success} Tip: If the text has accents or special characters, it's better to use the URL instead of the text for more accuracy.


⌨️ Text Input - Input Text

Description

Enters text into a field identified by a CSS selector. Simulates real keyboard typing.

When to Use?

Recommended when:

  • Typing keywords into Google.
  • Filling out a registration form.
  • Searching for products on a website.
  • Entering comments or reviews.

Not recommended when:

  • The form requires a login → Workflows do not support authentication yet.
  • Dealing with CAPTCHAs → Workflows cannot bypass them.

Configuration

Field Description Required Example
CSS Selector The position of the input box ✅ Yes textarea[name="q"]
Text Content to be entered ✅ Yes Traffic4SEO
Send Enter Press Enter after typing ❌ No true/false

Usage Examples

Example 1: Google Search

CSS Selector: textarea[name="q"]
Text: Traffic4SEO
Send Enter: false
→ Types "Traffic4SEO" into the Google search box.
→ Does not press Enter (will use a Click node to click the search button).

Example 2: Search with Enter

CSS Selector: input[name="search"]
Text: nike shoes
Send Enter: true
→ Types "nike shoes" and automatically presses Enter.
→ No Click node needed.

Example 3: Fill in email

CSS Selector: input[type="email"]
Text: [email protected]
Send Enter: false
→ Enters the email into the form.

Example 4: Enter comment

CSS Selector: #comment-box
Text: Great product, worth the money!
Send Enter: false
→ Types the comment into the box.

Cost

10 tokens (fixed) - The cheapest among all node types!

How to Find a CSS Selector

Method 1: Use Browser DevTools (Recommended)

  1. Right-click on the input field.
  2. Select "Inspect".
  3. Right-click on the HTML code.
  4. Select "Copy" → "Copy selector".
  5. Paste into the CSS Selector field.

Method 2: Find by Attribute

<!-- Input with a name -->
<input name="email">
→ Selector: input[name="email"]

<!-- Input with an id -->
<input id="search-box">
→ Selector: #search-box

<!-- Textarea with a class -->
<textarea class="comment-input">
→ Selector: textarea.comment-input

Important Notes

{warning} Note:

  • The CSS Selector must be accurate; if it's wrong → The workflow fails.
  • The input box must be visible and interactable.
  • Some websites use JavaScript for validation → might not work.
  • The system types each character with a random delay (like a real human).

{info} Tip: If "Send Enter" = true, you don't need to add a Click node to submit the form.


Usage Tips for Node Types

1. Always Add Wait Between Nodes

❌ WRONG:
Url Goto → Text Input → Click on Link
(No Wait)

✅ CORRECT:
Url Goto → Wait (2-5s) → Text Input → Wait (1-2s) → Click on Link → Wait (5-10s)

2. Choose the Right Node to Save

Situation: Open a specific URL

❌ WASTEFUL: Urls Goto (45 tokens)
✅ SAVING: Url Goto (30 tokens)

Difference: 15 tokens/run = 7,500 tokens for 500 runs!

3. Combine Selectors for Accuracy

❌ NOT GOOD:
Click Random Link (no selector)
→ Might click menu, footer, or ads.

✅ BETTER:
Click Random Link with selector: .post-content a
→ Only clicks links within the article content.

4. Use Text Instead of Selector When Possible

Click on Link:

😊 EASY: Type = text, Value = "Read More"
😰 HARD: Type = selector, Value = "div.card > a.btn-primary:nth-child(2)"

→ The result is the same, but text is much easier!

5. Test Each Node Before Combining

Complex Workflow:
Url Goto → Wait → Text Input → Wait → Click → Wait → Click Random Link

How to test:

1. Create a workflow with only: Url Goto → Wait
2. Test Run → OK
3. Add: Text Input → Wait
4. Test Run → OK
5. Continue adding node by node...

→ Much easier to find errors than testing everything at once!

Combining Node Types

Example Workflow 2: Reducing Bounce Rate

1. Url Goto: https://example.com/blog/great-article
   ↓
2. Wait: 30-60s (simulate reading the whole post)
   ↓
3. Click Random Link: selector = ".related-posts a"
   ↓
4. Wait: 10-20s (browse the related post)
   ↓
5. Click on Link: text = "Home"
   ↓
6. Wait: 5-10s (view homepage)

Frequently Asked Questions

❓ What's the difference between Url Goto and Click on Link?

  • Url Goto: Forces the browser to open a new address (like typing in the address bar).
  • Click on Link: Finds an existing link on the page and clicks it (like a real user).

Tip: Always use Click on Link if the link already exists on the page to make it more natural.

❓ Why did my workflow fail at the Click node?

Common reasons:

  1. Link hasn't loaded yet: Use a Wait node before clicking.
  2. Selector is wrong: Double-check it in DevTools.
  3. Link is hidden: The app can't click what it can't see.

❓ Can I use CSS Selectors for everything?

Yes, but:

  • Text is easier for links.
  • Selectors are necessary for input fields or buttons without text.

Next Steps