Connect your site
Headlark writes each page's title, description, link previews (Open Graph and X/Twitter), structured data (JSON-LD), canonical and image alt text. It runs once per build, deploy or publish, never when someone views your page, and pages whose content hasn't changed come straight from cache.
Want to see where a page stands first? The free SEO checker scores its tags and previews its Google result and link cards.
Start in the dashboard: add your site's domain and copy its secret key (shown once). Then pick the route that fits how you publish.
output: "export".
VercelRun the build step on production deploys only.
GitHub PagesA complete Actions workflow: build, Headlark, deploy.
Netlify pluginThe build step as a Netlify Build Plugin.
Deploy hookVercel, Netlify or any CI calls one URL after each production deploy.
WordPressA plugin: SEO written on publish, printed in the HTML.
WebflowPaste one webhook URL. Titles and descriptions go in through Webflow's API.
SnippetFor sites where you can only paste code. Google only.
Which crawlers see it
The build step, WordPress and Webflow put the tags in the HTML your server sends, so Google, Bing and the link previewers of Facebook, LinkedIn, Slack and X all see them. The snippet adds them in the browser: Google renders JavaScript and sees them; social previewers don't.
What it costs
Each page's first write counts toward your plan's pages; after that a page only uses a rewrite when its own content changes. Nothing is charged per page view. See pricing.
Review mode
Want to see new SEO before it goes live? Turn on Review new SEO before it goes live in your site's settings in the dashboard. Headlark still writes SEO on every build, deploy or publish, at the same cost, but a new or changed result waits under Waiting for review, showing the page's current title, description and link preview text next to the proposed ones.
- Approve puts it live: Webflow fields are written and the snippet's plan is published right away; the build step uses it from your next build, and the WordPress plugin picks it up within an hour.
- The review list shows titles, descriptions and link-preview text. Approving also applies the page's new image alt text and structured data.
- Reject keeps what's live now. The same result isn't proposed again; a change to the page brings a new one.
- Until you approve, builds keep the last approved SEO (a page with none keeps its own tags), Webflow fields aren't written and nothing new is published for the snippet.
- Results that match what you already approved go through without review. Headlark emails you at most once a day when something is waiting.
- Turning review on keeps the SEO your pages have now. Turning it off drops waiting results, and the next build or publish applies the newest SEO.
Default share image
Text-only pages, such as docs and guides, often have no image, so their link previews show no picture. Set Default share image in your site's settings in the dashboard to an https URL of a JPG, PNG, WebP or GIF (1200×630 works everywhere). Headlark adds it as og:image and twitter:image, with a large card, to every page that ends up without a preview image.
- It never replaces an
og:imageyour page already has, and an image Headlark picks from the page comes first. - It applies from your next build, deploy or publish. Changing it uses no rewrites: pages whose content didn't change still come from cache.
- Link previewers see it with the build step and WordPress. Webflow's API can't set images, and the snippet's tags are only seen by Google.
- Headlark doesn't create or check the image. Use one that loads without a login.
Your existing SEO
Headlark rewrites each page's title, description and link-preview tags; your originals stay in the page, inert, and come back first on every rebuild. It never overrides your canonical URL, your robots directives, your og:image or structured data types you already have, and an empty result never replaces one of your tags.