Fix SEO for your whole portfolio

Add one short edge worker and every page on your site gets its SEO gaps filled automatically — missing OG tags, social cards, Twitter metadata, and more. No code changes on your origin.

How it works

  1. A visitor or social crawler requests a page through your CDN.
  2. Your edge worker passes the URL to snapog.com/x/<url>.
  3. SnapOG fetches your page, audits it, and returns the HTML with missing meta tags injected.
  4. The fixed response is cached at the edge — subsequent requests are instant.

Your worker is just a one-line proxy. All the SEO logic lives on SnapOG's side, so you get improvements automatically as we add new checks.

What gets fixed

Tags that already exist on your pages are left alone. SnapOG only fills in what's missing.

Premium: For pages missing a meta description entirely, SnapOG generates one from the page content using AI — so social shares and search results always have compelling preview text.
Want to see what's missing? Paste any URL on the homepage or go directly to /audit/<your-url> for a full report.

Setup

Choose your CDN:

1. Create a Worker

Install Wrangler and scaffold a new project:

shell
npm create cloudflare@latest snapog-seo

Replace the generated worker code with:

javascript
export default {
  async fetch(request) {
    const response = await fetch(request);
    const contentType = response.headers.get("content-type") || "";

    // Only rewrite HTML pages
    if (!contentType.includes("text/html")) {
      return response;
    }

    // SnapOG handles the SEO fixes and returns the rewritten page
    return fetch(`https://snapog.com/x/${encodeURIComponent(request.url)}`);
  }
};

That's the whole script. SnapOG handles the auditing and rewriting.

2. Configure the route

In your wrangler.toml:

toml
name = "snapog-seo"
main = "src/index.js"
compatibility_date = "2024-01-01"

routes = [
  { pattern = "yoursite.com/*", zone_name = "yoursite.com" }
]

Scope it to specific paths if you prefer:

3. Deploy

shell
npx wrangler deploy

Verifying it works

After deploying, check any page:

shell
curl -s https://yoursite.com/some-page | grep -E 'og:|twitter:'

You should see the injected tags. You can also run the SnapOG audit again to confirm the score improved.

For social previews specifically, use the Facebook Sharing Debugger or Twitter Card Validator.

Look for the X-SnapOG-SEO: applied response header to confirm the proxy is active.

Caching

SnapOG respects your origin's cache headers. If your page is cacheable, the rewritten version is cached at the edge with stale-while-revalidate — so subsequent requests are served instantly while the cache refreshes in the background. Pages with no-cache, no-store, or private headers are passed through without rewriting.