Sample preview

A canonical fix, start to finish.

When Crawlwren detects a missing <link rel="canonical">, it fetches the page, injects the tag, and opens a pull request — no human in the loop.

acme-web · crawlwren/fix-missing-canonical-4a2f
sample · not real

Fix missing canonical — acme-properties

crawlwren-bot committed fix(seo): add missing canonical detected by Crawlwren

--- a/src/templates/blog-post.html
+++ b/src/templates/blog-post.html
@@ -3,6 +3,7 @@
3 <head>
4 <meta charset="UTF-8" />
5 <title>SEO Guide · Acme</title>
+ <link rel="canonical" href="https://acme.com/blog/seo-guide" />
6 <meta name="description" content="…" />
7 </head>
Finding detected
The crawler visits every page in the property and flags pages where no <link rel="canonical"> is present in <head>.

canonical tag is injected into the live page's <head>

Diff computed
Crawlwren fetches the live page body, injects the canonical tag at the correct position, and diffs the result against the original.

canonical tag is injected into the live page's <head>

PR opened
A branch is pushed and a pull request opened against the property's default branch. The operator reviews, approves, and merges.

canonical tag is injected into the live page's <head>