BambooForge Labs

SEO All in One with 301 Redirects and 404 Monitor

Keep a redirect table honest: validate a CSV before import, find loops, chains and dead targets, flatten a chain, and let the 404 log propose targets.

Buy on the Odoo Apps StoreOpen the live demoWebsite€198Community & Enterprise

Available for Odoo 16.0, Odoo 17.0, Odoo 18.0, Odoo 19.0, Odoo 20.0. Technical name bambooforge_redirect_pro.

Odoo 16.0Odoo 17.0Odoo 18.0Odoo 19.0Odoo 20.0
Screens and walkthrough for
Transcript of the walkthrough (Odoo 20)

SEO All in One with 301 Redirects and 404 Monitor. Keep a redirect table honest: validate a CSV before import, find loops, chains and dead targets, flatten a chain, and let the 404 log propose targets. Scanning never changes a rule. Rules change when you press Fix, or Flatten the chain on the rule itself, or accept a suggestion.

In the next few minutes: seo all in one with 301 redirects and 404 monitor, then redirect health, then importing a redirect list, then the 404 monitor proposes a target, then multi-website and multi-company. Then what this app deliberately does not do, so you can tell before you buy whether it fits. Everything lives under Scan redirects now then Redirect Health. 1.

Install BambooForge Redirect Manager Pro (it needs BambooForge SEO Pro); nothing else changes on install. 2. Open the two entries under SEO Pro: Redirect Health and, under Configuration, Scan redirects now. An SEO User can read the findings; an SEO Manager can scan, fix, import and accept suggestions.

SEO All in One with 301 Redirects and 404 Monitor. An add-on for BambooForge SEO Pro. SEO Pro gives you the redirect rules; this keeps them healthy once the migration week is over: a dry run before a CSV becomes six hundred live rules, a scan that finds the loops, chains and dead targets already in the table, and a 404 monitor that proposes the target instead of asking you to type it. Redirect Health.

SEO Pro → Redirect Health. The list is grouped by finding, worst first. Redirect loop The visitor is sent in a circle and the browser answers ERR_TOO_MANY_REDIRECTS. SEO Pro refuses to save a rule that closes a loop, which catches the loop somebody writes in one sitting.

It cannot catch the other kind: A to B, B to C, and six months later somebody edits C. Every rule was legal when it was written. The scan follows the chain to its end instead, and reports the rule that closes the circle. Importing a redirect list.

Redirects → Import redirects (CSV), then Check the file. The header is SEO Pro's: url_from,url_to,redirect_type plus the optional is_regex, sequence and name. Every row gets a verdict: The 404 monitor proposes a target. SEO Pro → 404 Monitor.

A dead URL is almost never random: it is yesterday's slug. Every open 404 is scored against the pages SEO Pro has indexed for that website: the slug - the last segment, because that is what a rename touches; the whole path; the words the two URLs share, ignoring stop words and numbering. The best match is shown with a confidence between 0 and 1. Below 0.55 the monitor says nothing at all: a wrong 301 removes the row from the list and hides the problem from the next person who looks at it.

Multi-website and multi-company A finding belongs to the rule, not to the website that happened to be scanned last. A rule that serves every website produces one finding. Suggestions never cross sites: a page published on client B is never proposed as the target for a 404 on client A. The findings list is filtered by the websites the user can see, and by company through the website's company.

Housekeeping Findings marked fixed or ignored are deleted 30 days later by the standard autovacuum. Nothing is crawled and nothing leaves the server: "does this URL exist" is answered from SEO Pro's page index and the routes this Odoo really serves. How we make sure it works. Before every release, 60 automated checks run against this app on Odoo 16, 17, 18, 19 and 20.

Among them: A read only seo user cannot rewrite the monitor. A read only seo user cannot scan. A global rule is reported once not once per website. A row already handled is not redirected twice.

A suggestion is never borrowed from another client. The complete list is in the source you receive. Questions people ask. Which Odoo versions does it run on?

Odoo 16.0, 17.0, 18.0, 19.0, 20.0, on the series you buy it for; each series is its own listing. Community or Enterprise? Both. It needs no Enterprise app.

Support. support@bambooforge.dev - the people who wrote it. The complete manual is at docs dot bambooforge dot dev, the demo database is linked from the store page, and support answers within twenty-four hours. Links are in the description.

Health - bambooforge_redirect_pro
Health
Import preview - bambooforge_redirect_pro
Import preview
Suggestions - bambooforge_redirect_pro
Suggestions

Key facts

What it is
Keep a redirect table honest: validate a CSV before import, find loops, chains and dead targets, flatten a chain, and let the 404 log propose targets.
For
Website
Odoo versions
16.0, 17.0, 18.0, 19.0, 20.0 - Community and Enterprise
Runs on
Odoo.sh or Odoo you host yourself - not Odoo Online, which accepts no third-party apps
Price
198 EUR, one-time, on the Odoo Apps Store
Technical name
bambooforge_redirect_pro
Not for
Scanning never changes a rule. Rules change when you press Fix, or Flatten the chain on the rule itself, or accept a suggestion.; Regex rules are scanned like any other rule - the chain walk uses a sample path derived from the pattern - but are never rewritten automatically: the target of a regex rule depends on the URL that matched, so rewriting it from one sample would break every other path it serves.
Manual
https://docs.bambooforge.dev/bambooforge_redirect_pro/
Live demo
https://demo20.bambooforge.dev/odoo/action-bambooforge_redirect_pro.action_bf_redirect_scan
Store page
https://apps.odoo.com/apps/modules/20.0/bambooforge_redirect_pro
Manual last updated
2026-10-15

SEO All in One with 301 Redirects and 404 Monitor

An add-on for BambooForge SEO Pro. SEO Pro gives you the redirect rules; this keeps them healthy once the migration week is over: a dry run before a CSV becomes six hundred live rules, a scan that finds the loops, chains and dead targets already in the table, and a 404 monitor that proposes the target instead of asking you to type it.

Install

  1. Install BambooForge Redirect Manager Pro (it needs BambooForge SEO Pro); nothing else changes on install.

  2. Open the two entries under SEO Pro: Redirect Health and, under Configuration, Scan redirects now. An SEO User can read the findings; an SEO Manager can scan, fix, import and accept suggestions.

Redirect Health

SEO Pro → Redirect Health. The list is grouped by finding, worst first.

Redirect loop

The visitor is sent in a circle and the browser answers ERR_TOO_MANY_REDIRECTS. SEO Pro refuses to save a rule that closes a loop, which catches the loop somebody writes in one sitting. It cannot catch the other kind: A to B, B to C, and six months later somebody edits C. Every rule was legal when it was written. The scan follows the chain to its end instead, and reports the rule that closes the circle.

Redirect chain

A to B to C. Every hop is a round trip for the visitor, and search engines stop following after a few. Fix points the rule straight at the end of the chain.

Target does not exist

The redirect still works, and lands the visitor in a 404 because the target page was deleted. The finding names the website the target is missing on - useful when one rule serves six client sites. A target that answers 410 is reported too: two round trips to be told the page is gone.

Duplicate origin

Two rules, same origin. Only one of them ever fires; Fix disables the other.

Never used

Created more than six months ago and never hit once. Rules cost a lookup on every 404, so retiring the ones nobody asks for is free speed. Fix archives the rule; it is not deleted, and un-archiving it brings it back.

The scan runs every Monday at 03:00 server time, and on demand from Configuration → Scan redirects now. It updates findings instead of duplicating them, closes the ones that went away, and leaves anything you marked Ignore ignored - a report that re-opens every Monday is a report nobody reads twice.

What it does not do

Scanning never changes a rule. Rules change when you press Fix, or Flatten the chain on the rule itself, or accept a suggestion.

Regex rules are scanned like any other rule - the chain walk uses a sample path derived from the pattern - but are never rewritten automatically: the target of a regex rule depends on the URL that matched, so rewriting it from one sample would break every other path it serves.

Importing a redirect list

Redirects → Import redirects (CSV), then Check the file.

The header is SEO Pro's: url_from,url_to,redirect_type plus the optional is_regex, sequence and name. Every row gets a verdict:

Verdict

Meaning

Will be created

Nothing wrong with the row.

Duplicate inside the file

An earlier line already redirects that URL.

Origin already redirected

A rule for that URL exists; the import would add a second one that never fires.

Would create a loop

The target redirects straight back here.

Redirects to itself

Origin and target are the same URL.

Target does not exist

Not a page and not a route on this site. A warning, not a block - you may be importing ahead of the content.

Invalid row

No origin, or a 301 without a target.

Rows that are blocked come unticked; warnings stay ticked. You can edit a target in the preview before importing. Import the ticked rows creates exactly those, each in its own savepoint, so one bad row reports itself instead of sinking the file.

A target that is itself redirected is shortened on the way in: importing /a -> /b when /b -> /contact already exists writes /a -> /contact and saves you the chain you would have had to flatten next Monday.

The 404 monitor proposes a target

SEO Pro → 404 Monitor. A dead URL is almost never random: it is yesterday's slug. Every open 404 is scored against the pages SEO Pro has indexed for that website:

  • the slug - the last segment, because that is what a rename touches;

  • the whole path;

  • the words the two URLs share, ignoring stop words and numbering.

The best match is shown with a confidence between 0 and 1. Below 0.55 the monitor says nothing at all: a wrong 301 removes the row from the list and hides the problem from the next person who looks at it.

Accept suggestion creates a 301 for the selected rows, marks each 404 as redirected and links the rule. Rows without a suggestion are skipped, and a row that cannot be created - because somebody redirected the target back in the meantime - does not roll back the rows that could.

Scoring runs every four hours for 404s nobody has looked at yet, and on demand with Suggest targets.

Multi-website and multi-company

  • A finding belongs to the rule, not to the website that happened to be scanned last. A rule that serves every website produces one finding.

  • Suggestions never cross sites: a page published on client B is never proposed as the target for a 404 on client A.

  • The findings list is filtered by the websites the user can see, and by company through the website's company.

Housekeeping

  • Findings marked fixed or ignored are deleted 30 days later by the standard autovacuum.

  • Nothing is crawled and nothing leaves the server: "does this URL exist" is answered from SEO Pro's page index and the routes this Odoo really serves.

How we make sure it works

Before every release, 60 automated checks run against this app on Odoo 16, 17, 18, 19 and 20. Among them:

  • A read only seo user cannot rewrite the monitor.

  • A read only seo user cannot scan.

  • A global rule is reported once not once per website.

  • A row already handled is not redirected twice.

  • A suggestion is never borrowed from another client.

The complete list is in the source you receive.

Questions people ask

Which Odoo versions does it run on?

Odoo 16.0, 17.0, 18.0, 19.0, 20.0, on the series you buy it for; each series is its own listing.

Community or Enterprise?

Both. It needs no Enterprise app.

What does it need?

The standard Web; seo pro (BambooForge) must be installed first app. No extra Python package.

Where does it show up?

Under the Scan redirects now menu (Redirect Health).

Does anything leave my server?

No. It makes no call outside your Odoo server: no telemetry, no licence check, no third-party service.

What happens if I uninstall it?

Odoo drops the app's own tables and fields; the standard records it worked on (contacts, orders, products) stay as they are.

Support

support@bambooforge.dev - the people who wrote it.