EDGE SEO

SEO Fixes Without a Deploy

Set canonicals, robots directives and meta tags by URL pattern, publish redirects and hreflang -- all at the edge, in front of your site. Check each change before it serves, undo any change after.

Controls

CanonicalMeta robotsX-Robots-TagMeta & Open GraphhreflangRedirects

The fixes that usually wait for a release

Wrenda already sits in front of your site. Edge SEO lets it correct the head, move URLs and link language versions on the way through.

Feature 01 · Served to crawlers

Element Rules -- Canonical, Robots & Meta

Narrow a rule to a path pattern and say what the head should contain. Wrenda removes the origin's conflicting tags and writes yours, so a crawler never sees two canonicals. When several rules match a URL, the highest priority wins outright -- nothing is merged, so one rule always explains a page.

  • Canonical with {origin}{path} to drop query strings
  • Meta robots and the X-Robots-Tag header, set separately
  • Meta description, Open Graph and Twitter card tags
  • Remove a bad origin tag and write a new one in one rule
  • Robots values validated on save -- typos are refused

Element rule

{
  url_pattern:  '/shoes/**',
  priority:     100,
  directives: {
    canonical:  '{origin}{path}',
    robots:     'index, follow',
    meta:       { 'og:type': 'product' }
  }
}

Before vs after the rule

Your origin's head

<head>
  <title>Trail Shoes | Acme</title>
  <link rel="canonical"
    href="http://yoursite.com/shoes/trail?sort=price">
  <meta name="robots" content="noindex">
</head>

What crawlers get

<head>
  <meta property="og:type" content="product">
  <meta name="robots" content="index, follow">
  <link rel="canonical"
    href="https://yoursite.com/shoes/trail">
  <title>Trail Shoes | Acme</title>
</head>

Feature 02 · Served to everyone

Edge Redirects -- With Loop Detection

Move old URLs with path-glob rules. Wildcards carry through to the target, so one rule can redirect a whole section. Redirects apply to people as well as crawlers -- a redirect only search engines see is cloaking -- so the guard rails are heavier here than anywhere else in Wrenda.

  • Created switched off -- turning a redirect on is a separate, deliberate step
  • Loops refused -- every activation re-checks the whole live set for a cycle
  • Hop limit -- a chain of 10 hops or more is refused like a loop
  • Safe targets -- a site path or an http(s) URL -- never protocol-relative or javascript:

Refused at publish

This would create a redirect loop:
/blog/wrenda-probe → /articles/wrenda-probe
  → /blog/wrenda-probe

Path globs, wildcards carried through

SourceTargetCode
/blog/**/articles/{1}301
/old-pricing/pricing308
/sale/*/offers302
/docs/**https://docs.yoursite.com/{1}307

Response

HTTP/2 301
location: /articles/hello-world
x-crawler-action: redirect
cache-control: public, max-age=3600

Feature 03 · Served to crawlers

hreflang Clusters -- Reciprocal by Construction

Google ignores an hreflang alternate that does not point back. So instead of per-page tags, you list each language version of a page once, and every page in the group gets the full set -- each one pointing at all the others and at itself. Wrenda strips the origin's own hreflang links first, so the two sets never contradict.

  • At least two language entries, one URL per language
  • One optional x-default
  • Real ISO language and region codes -- en-UK is refused, en-GB passes
  • Every URL on a domain you have added, so the back-links exist
  • A page can belong to only one live cluster

Every member page emits the whole set

<link rel="alternate" hreflang="en-GB"
  href="https://yoursite.com/uk/trail">
<link rel="alternate" hreflang="de-DE"
  href="https://yoursite.com/de/trail">
<link rel="alternate" hreflang="x-default"
  href="https://yoursite.com/trail">

Will not publish a broken group

A cluster can be saved as a draft in any state. It only goes live when it passes every check above, and the checks run again whenever it is switched back on.

HOW IT WORKS

Write, switch on, preview, undo

Canonical and robots can de-index a site, so every step is built to let you check what will happen.

Step 01

Write and check the rule

Pick a path pattern and the elements to set, a redirect source and target, or a set of language URLs. See an element rule’s head before and after, or dry-run a cluster’s checks, before saving. Element rules and redirects are saved switched off.

Step 02

Switch it on

Turning a rule on is a separate step. Redirects are loop-checked and hreflang clusters are checked for reciprocity at that moment. Nothing serves while the domain is in shadow or paused mode.

Step 03

Preview a live URL

Wrenda fetches the real page as a crawler would, runs your redirects, element rules and hreflang in the same order production does, and shows the result as a search snippet -- before and after, with truncation and noindex warnings.

Step 04

Undo anything

Every change to every rule is kept in a history. Undo one edit, or bring back a deleted rule. Restoring a rule to serving re-runs its checks, because a set that was safe last week may not be now.

USE CASES

Where Edge SEO earns its keep

The jobs that are small to describe and slow to ship, because they live in templates and server config.

Site Migrations

A restructure leaves hundreds of old URLs behind. Map whole sections with one glob rule each, keep query strings if you need them, and check where any path ends up.

  • 301, 302, 307 and 308
  • {1}..{9} carry wildcards to the target
  • "Check a path" shows the live hop chain

International Sites

hreflang is easy to get wrong in templates and hard to see once it is. Clusters make every language version point at every other, and refuse to go live when they cannot.

  • Reciprocity enforced at publish
  • Invalid codes such as en-UK refused
  • Origin hreflang links replaced, not duplicated

Index Hygiene

Faceted URLs canonicalised to the clean path, a stray noindex lifted, thin pages kept out of the index -- by pattern, without waiting for a template change.

  • Self-canonicals that drop query strings
  • noindex or X-Robots-Tag by path pattern
  • Missing Open Graph tags filled in
WHO GETS WHAT

Headers that name the rule

Every response Wrenda changes says which rule changed it and what it touched.

edge-seo-headers.txt
# Googlebot requests a faceted product page
GET /shoes/trail?sort=price

HTTP/2 200
content-type: text/html
x-wrenda-seo-rule: <rule id>
x-wrenda-seo-applied: canonical,robots,og:type

# A person requests the same URL: your origin's page, untouched
GET /shoes/trail?sort=price

HTTP/2 200
x-served-by: wrenda-fast
x-crawler-action: fast-pass

# Anyone requests a migrated URL: redirected for everyone
GET /blog/hello-world

HTTP/2 301
location: /articles/hello-world
x-crawler-action: redirect
x-wrenda-redirect-rule: <rule id>

0

Site deploys to ship a rule

4

Redirect codes: 301 · 302 · 307 · 308

1

Rule owns each URL -- no merging

FAQ

Edge SEO FAQs

Who sees what, how to stay safe, and how to undo a change.

Element rules (canonical, robots, meta and Open Graph tags) and hreflang clusters are applied to crawler responses only. People browsing your site get your origin's page exactly as it is. Redirects are the exception: they apply to everyone, crawlers and humans alike, because a redirect shown only to search engines is cloaking by Google's own definition.

Get Started

Ship the fix, not the ticket

Canonicals, robots, redirects and hreflang, previewed on a live URL and reversible -- with no release to wait for.

Start 14-day trial

14-day free trial — No credit card required

Included on every plan. See pricing