Hugo SEO automation

Hugo SEO automation: Markdown with correct front matter, delivered

AutoSEO researches, writes and optimises the article, then delivers it as a signed webhook payload your handler turns into a Markdown file in your content directory.

Try AutoSEO with Hugo

Quick answer

How do you automate SEO content on a Hugo site?

AutoSEO has no dedicated Hugo connector; you use the generic Custom webhook. Each finished article is POSTed as HMAC-signed JSON to an endpoint you control, which writes a Markdown file with front matter into your content directory and triggers your build. Keyword research, writing, on-page optimisation, meta and structured data all happen before that hand-off.

How AutoSEO publishes to Hugo

The generic Custom webhook — there is no Hugo-specific connector in AutoSEO. Articles are POSTed as HMAC-signed JSON (title, slug, HTML body, excerpt, meta fields, canonical, keywords, hero image, structured data, stable external ID) to an endpoint you run. For Hugo that endpoint typically converts the payload into a Markdown file with YAML or TOML front matter, writes it into content/, and triggers whatever builds your site — Netlify, Vercel, a CI job or a webhook on your own server.

To be clear about what exists: there is no dedicated Hugo connector in AutoSEO today. Hugo is reached through the generic Custom webhook, with an endpoint you run doing the final placement. If a one-click Hugo install appears later, this page will say so — until then it does not.

Automated

  • Keyword research, writing and on-page optimisation
  • All front-matter values supplied in the payload
  • Signed delivery with a delivery log and a stable external ID
  • Refresh cycles keyed to the external ID so files update in place

Still needs a human

  • Building the receiving function and the front-matter mapping
  • Deciding your taxonomy structure so tags map consistently
  • Triggering the build — AutoSEO does not deploy your site

Step-by-step setup lives in the webhook integration guide.

Where Hugo sites get stuck

Front matter written by hand and inconsistent across authors
Taxonomies applied ad hoc, so topic clusters never form
Non-technical writers blocked by the Git workflow
Old posts decaying with nothing in the workflow to surface them

What automation changes

Signed delivery of finished articles your handler writes as Markdown
Every front-matter value — title, description, date, tags — in the payload
Consistent taxonomy because the topic plan drives the tags
Decay detection so refreshes are scheduled rather than remembered

What's genuinely different about SEO on Hugo

Generic SEO advice fails on Hugo for platform-specific reasons. These are the ones that actually change what you should do.

Front matter is where SEO lives on Hugo

Title, description, canonical, dates, taxonomy terms and any custom parameters your theme reads all come from front matter. Getting the mapping right once means every article afterwards carries correct metadata without anyone remembering to add it.

Taxonomies are real site architecture

Hugo's tags and categories generate list pages that get indexed. Applied consistently they become topic hubs; applied ad hoc they become dozens of thin pages with one post each.

Build speed removes the usual excuse

Hugo builds in milliseconds, so publishing frequency is never limited by the toolchain. The bottleneck is entirely upstream of the build — which is the part that automates.

GEO on Hugo: getting cited by AI answer engines

Generative engine optimisation is a different job from ranking. An answer engine lifts a passage and decides whether to credit a source — so the questions that matter on Hugo are whether AI crawlers can read the page, whether you control what they're told, and whether the page carries attribution they can resolve.

Can AI crawlers read a Hugo page?
Hugo emits plain static HTML, so AI crawlers read the full article text with no JavaScript execution required.
Crawler control: robots.txt and llms.txt
Complete control. robots.txt and /llms.txt are files in static/, and per-crawler rules are yours to write.
FAQ and Article schema
Emit FAQPage and Article JSON-LD from a partial that reads the same front matter the page renders, so markup and visible text cannot drift apart.
Byline and dates — the real blocker
Set the author and both dates in front matter and render them in your single template. Hugo themes vary widely in whether they show a byline by default — check yours, because an invisible author is an uncitable page.

The pattern across every platform is the same: content quality is rarely what stops a citation — missing attribution is. Check what an engine can currently see with the free SEO tools, or read the SEO automation overview.

The Hugo SEO playbook

What is Hugo SEO automation?

Hugo SEO automation means running the recurring parts of SEO — keyword research, article writing, on-page optimisation, publishing and tracking — as a scheduled system rather than as manual work. On Hugo specifically it also means working with the platform's own constraints, starting with the one most sites hit first: Front matter written by hand and inconsistent across authors. What it does not mean is removing judgement — the decisions about what to sell, what to claim and what to say stay with you.

How do you improve SEO on Hugo?

Publish keyword-targeted content on a cadence you can actually sustain, fix the on-page basics on what you already have (titles, meta descriptions, internal links, schema), and measure both search rankings and AI citations. AutoSEO runs all three on Hugo: it researches winnable keywords, writes and optimises the article, delivers it via the generic signed webhook, and tracks what happens next.

The recurring Hugo SEO mistakes

  • Front matter written by hand and inconsistent across authors.
  • Taxonomies applied ad hoc, so topic clusters never form.
  • Non-technical writers blocked by the Git workflow.
  • Old posts decaying with nothing in the workflow to surface them.

What a working Hugo system looks like

  • Signed delivery of finished articles your handler writes as Markdown.
  • Every front-matter value — title, description, date, tags — in the payload.
  • Consistent taxonomy because the topic plan drives the tags.
  • Decay detection so refreshes are scheduled rather than remembered.
Manual Hugo SEO vs automated
Manual on HugoAutoSEO
Keyword researchOccasional, when someone has timeScheduled, before every article
WritingIn-house hours or a freelancerAI-drafted, reviewed as much or as little as you want
Getting it into HugoCopy, paste, format, fixSigned delivery to your endpoint
Meta, schema, internal linksRemembered sometimesApplied to every article
Refreshing old contentRarely — nothing prompts itDecay detection flags it
Rank + AI-visibility tracking
Ongoing costWriters and tools billed separatelyOne subscription — see pricing

Key takeaways

  • Hugo can rank as well as any platform. The gap is a sustained content and on-page system, not the CMS.
  • AutoSEO has no dedicated Hugo connector — content is delivered via the generic signed webhook to an endpoint you run.
  • For AI citation on Hugo, attribution beats volume: a visible byline, a published date and an updated date matter more than another thousand words.
  • Automation removes the recurring work, not the judgement — you still decide cadence, claims and what gets reviewed.

How Hugo Sites Are Structured for SEO

Hugo is a static site generator that compiles Markdown content files, Go HTML templates, and configuration data into a fully pre-rendered HTML site. Every page a search engine crawls is a static file — no server-side rendering, no database queries at request time. This architecture gives Hugo sites a natural speed and reliability advantage, but it also means SEO configuration happens at build time, not runtime. Understanding Hugo's content model is the foundation of every SEO decision you make.

Content Types, Sections, and Taxonomies

Hugo organizes content into sections (top-level directories inside content/), content types (mapped to layouts), and taxonomies (tags, categories, or any custom grouping). Each of these produces real URLs. A post at content/blog/my-post.md becomes /blog/my-post/. A tag called "performance" generates /tags/performance/. A category archive lives at /categories/. Every automatically generated list page is a crawlable URL, which means unintentional thin content can appear at taxonomy pages if you never populate them with meaningful descriptions.

Hugo also distinguishes between leaf bundles (a directory with an index.md, representing a single page) and branch bundles (a directory with an _index.md, representing a section list). The _index.md file is where you place front matter and body content for section pages — without it, Hugo still renders the section list, but with no metadata and no body copy, which is a common source of thin list pages.

The Hugo Build Pipeline and What It Means for SEO

Because Hugo generates static HTML, every SEO element — title tags, meta descriptions, canonical URLs, structured data, hreflang attributes — must be written into your templates or front matter before the build runs. There is no plugin that patches pages after deployment. This is different from WordPress, where an SEO plugin can intercept every page render. In Hugo, you own the templates entirely, which gives you precise control but requires deliberate setup.

Controlling URLs in Hugo

Hugo gives you multiple layers of URL control: global configuration, front matter overrides, and content organization. Getting URLs right from the start prevents redirect chains and canonicalization problems later.

Setting the Base URL and Trailing Slashes

The baseURL in your hugo.toml (or config.toml) is the root from which all absolute URLs are constructed. It must match your production domain exactly, including the protocol (https://) and whether you use a trailing slash. Hugo appends a trailing slash to directory-style URLs by default, producing /blog/my-post/ rather than /blog/my-post. This is generally the correct choice for static sites because the HTML file lives at /blog/my-post/index.html, and the trailing slash signals that to browsers and crawlers without requiring a redirect.

Slug, URL, and Permalink Configuration

You can override the URL of any individual page using the url front matter key. This sets an absolute path from the root and overrides Hugo's default slug logic entirely. The slug front matter key changes only the final segment of the path while preserving the section structure. For site-wide URL patterns, Hugo's permalinks configuration in hugo.toml lets you define patterns per section using tokens like :year, :month, :slug, and :filename.

A common mistake is including dates in blog post URLs (/blog/2021/03/my-post/). Dates make URLs longer, create an implicit freshness signal that works against older evergreen content, and complicate URL migration if you ever want to remove them. A flat structure like /blog/my-post/ is easier to maintain and performs comparably in search.

Disabling Unwanted URLs

Hugo generates list pages for every taxonomy term and every section. If you use tags casually and accumulate hundreds of single-post tag pages, those become thin content. You can disable specific taxonomies entirely in hugo.toml by setting them to an empty map, or you can add _build: render: never in a taxonomy's _index.md to suppress rendering. You can also set outputs on a page to exclude it from HTML output while keeping it in other output formats.

Metadata: Title Tags, Meta Descriptions, and Canonical URLs

Hugo has no built-in SEO metadata layer — it renders exactly what your templates produce. Every theme handles metadata differently, and many popular themes contain significant SEO errors in their base templates.

Title Tag Construction

The correct pattern for title tags in Hugo templates is to check for a page-level title front matter value, then fall back to the section title, then fall back to the site title. The site title should be appended with a separator, not prepended, so the most specific term appears first in the tag. Many themes reverse this order, placing the site name first on every page — a pattern that wastes the most prominent characters in the title tag on a repeated string.

For the homepage specifically, the title tag should be the site title alone, or a deliberate brand plus primary keyword phrase. Using the same template logic as inner pages on the homepage often produces awkward constructions like "Home | Site Name."

Meta Descriptions

Hugo does not auto-generate meta descriptions. If your template references .Description and no description key exists in the front matter, the tag renders empty or is omitted. An empty description tag is marginally better than a missing one, but neither is as good as a populated one. The practical solution is to use the .Summary variable as a fallback — Hugo auto-generates a summary from the first 70 words of content unless you define a manual summary with the <!--more--> divider or a summary front matter field.

Canonical URLs

Hugo provides a built-in .Permalink variable that returns the full absolute URL of the current page using your configured baseURL. The canonical tag should always use .Permalink, not a relative URL. A relative canonical is technically valid but fragile — if the page is syndicated or scraped, the relative reference resolves to the wrong domain. Always output an absolute canonical.

Hugo also has a built-in canonifyURLs configuration option that rewrites relative URLs in output to absolute URLs. This sounds helpful but can cause problems with certain asset paths and is generally not recommended. Handle canonicals explicitly in your templates instead.

Sitemaps in Hugo

Hugo generates an XML sitemap automatically at /sitemap.xml using a built-in template. It includes all pages that are not marked with noindex or excluded from the sitemap output format. This default behavior is functional but has important limitations.

What the Default Sitemap Includes and Excludes

By default, Hugo's sitemap includes every page in every output format, including taxonomy list pages, taxonomy term pages, and the homepage. It populates <lastmod> using the page's lastmod front matter field if present, or the file modification date if not. The <priority> and <changefreq> elements are included with default values that Google has publicly stated it ignores.

To exclude a page from the sitemap, set sitemap: disable: true in its front matter, or remove the sitemap output format from the page's outputs list. To exclude an entire section, add that front matter to the section's _index.md.

Customizing the Sitemap Template

You can override Hugo's sitemap template by creating layouts/_default/sitemap.xml in your project. This lets you add image sitemap extensions, control which pages appear, or generate separate sitemaps per section. For large sites, Hugo supports sitemap index files through its output format system, allowing you to split sitemaps by section and reference them from a parent sitemap index.

Structured Data and Schema Markup

Hugo has no built-in schema output. Structured data must be added manually to your templates or through a partial that reads front matter values. The most reliable approach is to create a dedicated partial — for example, layouts/partials/schema.html — and call it from your base template inside the <head> or just before </body>.

For blog posts, the Article or BlogPosting schema type is appropriate. The required properties are headline, datePublished, author, and image. Hugo's front matter maps directly to these: .Title for headline, .Date formatted with Hugo's dateFormat function for datePublished, and a custom front matter field or site parameter for the author object. The image property is the most commonly omitted — it requires a full absolute URL to an image associated with the article, which means your templates need to resolve page bundle images or a fallback OG image to an absolute path.

Site Speed: Hugo's Built-in Advantages and Common Mistakes

Static HTML is inherently fast to serve, but Hugo sites frequently underperform on Core Web Vitals because of theme assets, not Hugo itself. Hugo provides several built-in tools to address this.

Hugo Pipes for Asset Optimization

Hugo Pipes is the asset processing pipeline built into Hugo. It can fingerprint files for cache-busting, minify CSS and JavaScript, transpile SCSS to CSS, and bundle multiple files into one. Using Hugo Pipes correctly means your CSS is served as a single minified file with a content-hash filename, enabling aggressive long-term caching. Many Hugo themes ship with assets loaded via plain <link> tags pointing to unminified files in the static/ directory, bypassing Hugo Pipes entirely and losing these benefits.

Image Processing

Hugo has a powerful built-in image processing API accessible through page bundles and the global resources. You can resize, crop, convert to WebP, and generate multiple sizes for responsive images — all at build time. The output images are static files with no runtime processing cost. Despite this capability, a large number of Hugo sites serve images directly from the static/ folder at their original dimensions and file formats, with no compression or format conversion, which is consistently the largest Core Web Vitals issue on Hugo sites.

The Most Common Hugo SEO Mistakes

Mistake Where It Happens Consequence
Missing _index.md on section pages content/blog/, content/tags/ Section list pages render with no title, description, or body copy — thin content
Site name first in title tags Theme base template Primary keyword pushed past the visible cutoff in search results
Relative canonical URLs Theme head partial Canonical resolves incorrectly when page is syndicated
Unprocessed images in static/ Content and theme assets Large LCP images, failed Core Web Vitals
Taxonomy pages with no content Auto-generated tag and category pages Hundreds of thin URLs consuming crawl budget
No fallback for missing meta descriptions Head template Empty description tags on pages without front matter descriptions
canonifyURLs = true in config hugo.toml Unpredictable URL rewriting that can break asset paths
Draft pages deployed accidentally Build command missing --minify or using wrong environment Incomplete pages indexed; or pages excluded that should be live

Step-by-Step SEO Workflow for Hugo Sites

Hugo SEO requires a structured workflow that covers keyword research, content creation, on-page configuration, technical markup, submission, and rank tracking. Because Hugo generates static HTML at build time, every SEO decision must be made before deployment — there is no database to query, no plugin to activate after the fact. The workflow below treats each stage as a discrete, repeatable step.

Step 1: Keyword and Topic Research

Start with a seed topic and expand it into a cluster of related terms. For each target keyword, record search volume, keyword difficulty, and the dominant intent (informational, navigational, commercial, transactional). Group keywords into a primary term and three to five supporting terms per page. Hugo's taxonomy system — categories and tags — maps naturally onto topic clusters, so plan your taxonomy at this stage rather than retrofitting it later.

  • Use search volume data to prioritize pages worth building first.
  • Check the current SERP to identify whether Google favors articles, product pages, or lists for your target term.
  • Note any "People Also Ask" questions; these become subheadings inside the article.
  • Record the primary keyword in your content brief before writing a single word.

Step 2: Configure Hugo Front Matter for On-Page SEO

Hugo front matter is the control panel for on-page SEO. Every content file should include a title (under 60 characters, primary keyword near the front), a description (under 160 characters, written as a complete sentence that answers the query), a canonical URL, and Open Graph fields. If your theme does not expose all of these fields natively, add a custom layouts/partials/head.html partial that reads them from front matter variables.

Structured data belongs here too. Hugo's templating language can output JSON-LD blocks conditionally based on the content type. An article page should emit Article schema; a product comparison page should emit ItemList or Product schema. Define a schema key in front matter and use a partial to render the appropriate block at build time.

Step 3: Write Content That Matches Search Intent

Write the H1 as a direct answer to the primary query. Place the most important information in the first two paragraphs — this content is what AI Overviews and featured snippets pull from. Use H2 headings for major subtopics and H3 headings for supporting points or FAQ entries. Keep paragraphs short (three to five sentences) so crawlers and readers can scan the page efficiently.

Internal linking is a build-time decision in Hugo. Use Hugo's relref shortcode to create links that resolve to the correct permalink regardless of how your URL structure changes. Aim for two to four contextual internal links per article, pointing to pages that share topical authority with the current piece.

Step 4: Optimize Technical On-Page Elements

Before running a build, verify the following technical elements are in place:

  1. Permalink structure: Set /:section/:slug/ in config.toml so URLs are clean and keyword-bearing.
  2. Image alt text: Hugo's figure shortcode accepts an alt parameter; use it on every image with a descriptive phrase that includes the keyword where natural.
  3. Sitemap: Hugo generates sitemap.xml automatically. Confirm it includes all published pages and excludes draft or noindex pages by checking the buildDrafts setting.
  4. Robots meta tag: Add a robots field to front matter and output it in your head partial so individual pages can be noindexed without touching robots.txt.
  5. Canonical tag: Output a self-referencing canonical on every page by default; override it in front matter for syndicated content.
  6. Core Web Vitals: Hugo's static output is fast by default, but large images and render-blocking scripts still hurt LCP and CLS. Run a Lighthouse audit on the local build before deploying.

Step 5: Build and Deploy

Run hugo --minify to generate minified HTML, CSS, and JavaScript. Deploy to a CDN-backed host such as Netlify, Cloudflare Pages, or AWS CloudFront. A CDN edge network reduces TTFB globally, which is a confirmed ranking signal. Set cache headers so static assets are served with long TTLs while HTML files are revalidated on each request.

Step 6: Submit for Indexing

After deployment, submit the new URL directly in Google Search Console using the URL Inspection tool. Submit the updated sitemap.xml if the page is part of a new section. For Bing, use IndexNow — Hugo-compatible plugins and deploy hooks can ping the IndexNow endpoint automatically on each build, so every new page is submitted within minutes of going live.

Step 7: Track Rankings and Iterate

Connect Google Search Console and a rank-tracking tool to monitor impressions, clicks, and average position for each target keyword. Review performance at 30, 60, and 90 days. Pages that rank on page two (positions 11–20) are the highest-priority candidates for updates: strengthen the introduction, add a relevant FAQ section, improve internal linking, and acquire one or two external links pointing to that URL.

How AutoSEO Automates the Hugo SEO Workflow

AutoSEO connects each stage of the workflow above into a single automated pipeline, removing the manual handoffs that slow down content production on Hugo sites. The pipeline runs in five stages: research, write, publish, index, and track.

Stage Manual process AutoSEO automation
Research Export keyword data, build brief manually Pulls search volume, difficulty, and SERP intent; generates a structured content brief automatically
Write Draft article, format front matter by hand Generates a complete Markdown file with pre-filled front matter including title, description, canonical, and schema type
Publish to Hugo Commit file, trigger build pipeline manually Pushes the Markdown file to the connected Git repository and triggers a Netlify or Cloudflare Pages deploy hook
Index Submit URL in Search Console, ping IndexNow manually Fires an IndexNow ping and optionally calls the Search Console Indexing API immediately after deploy
Track Check rankings in separate tools, compile reports Monitors keyword positions and surfaces pages that have dropped or stalled, with recommended actions

The practical result is that a Hugo site owner can move from a target keyword to a live, indexed, tracked page without switching between tools. AutoSEO reads the Hugo project's config.toml to detect the permalink structure, content directory, and taxonomy setup, then writes output files that conform to the project's existing conventions. No theme modifications are required.

For teams managing multiple Hugo sites, AutoSEO's workspace feature lets each site run its own research queue and publishing schedule independently. A content calendar view shows which pages are in draft, which are live, and which are underperforming — all mapped to the Hugo content directory structure.

FAQ

Does Hugo have built-in SEO support, or does everything need to be added manually?

Hugo generates a sitemap.xml and clean HTML out of the box, but it does not automatically add meta descriptions, Open Graph tags, canonical URLs, or structured data. Those elements must be added through your theme's head partial or a custom partial you create. Most production-ready Hugo themes include basic SEO partials, but they typically need to be extended to cover schema markup and per-page canonical overrides.

How do I add meta descriptions to Hugo pages without editing every file manually?

Set a description field in each page's front matter and output it in your layouts/partials/head.html using {{ .Params.description }}. For pages that do not have a description set, configure a fallback in the same partial that pulls from .Summary — Hugo's auto-generated excerpt — so no page is ever missing a meta description entirely. AutoSEO writes the description field into front matter automatically during the content generation stage.

What is the best permalink structure for Hugo SEO?

A flat or shallow permalink structure that includes the primary keyword performs best. Setting /:slug/ for single pages and /:section/:slug/ for content organized by section keeps URLs short and keyword-relevant. Avoid including dates in permalinks for evergreen content, because updating the article later does not change the URL, which prevents the page from appearing fresh to crawlers.

How does Hugo handle canonical URLs, and can they be overridden per page?

Hugo does not output canonical tags by default. You must add a canonical tag to your head partial using {{ .Permalink }} as the self-referencing value. To allow per-page overrides — useful for content syndicated from another source — add a canonical field to front matter and use a conditional in the partial: if the field is set, output its value; otherwise, output .Permalink. This pattern covers both standard and syndication cases without additional configuration.

Can Hugo generate structured data (JSON-LD) automatically?

Yes. Create a partial for each schema type you need — Article, BreadcrumbList, FAQPage, Product — and call the appropriate partial from your base layout based on the page's content type or a front matter variable. Hugo's templating language can read any front matter field and inject it into the JSON-LD block at build time, so structured data is baked into the static HTML rather than rendered by JavaScript. This approach is more reliable for crawlers than client-side schema injection.

How do I prevent Hugo from indexing tag and category pages that have thin content?

Add a _index.md file to each taxonomy directory and set noindex: true in its front matter. In your head partial, check for this field and output <meta name="robots" content="noindex, follow"> when it is present. Alternatively, disable taxonomy pages entirely in config.toml by setting disableKinds = ["taxonomy", "term"] if those pages provide no ranking value for your site.

Does Hugo's build speed affect SEO?

Hugo's build speed — often under one second for small sites — does not directly affect SEO, but it does affect how quickly you can deploy updates and trigger indexing. Faster builds mean shorter gaps between writing a page and submitting it for crawling. Indirectly, Hugo's static output produces pages with very low TTFB compared to server-rendered sites, which contributes positively to Core Web Vitals scores, particularly LCP.

How do I track which Hugo pages are ranking and which need to be updated?

Connect your Hugo site's domain to Google Search Console and filter the Performance report by page to see impressions, clicks, and average position for each URL. Pages with high impressions but low click-through rates need stronger title tags and meta descriptions. Pages ranking between positions 11 and 20 need content improvements — additional subheadings, a FAQ section, or more internal links from higher-authority pages. AutoSEO surfaces this data in a single dashboard mapped to your Hugo content files, so you can act on underperforming pages without cross-referencing multiple tools.

Hugo SEO automation — frequently asked

How do I connect Hugo to AutoSEO?

AutoSEO has no dedicated Hugo connector. You use the generic Custom webhook connector: a URL you own + a shared secret, and an endpoint you run does the final placement — that is the accurate description, not a one-click install.

Will AutoSEO change my existing Hugo content?

Only what you ask it to. New articles are delivered on the cadence you choose — as drafts for review, or published straight away. Existing pages are audited and surfaced as recommendations first; nothing is rewritten in place until you turn that on.

How long until SEO automation shows results on Hugo?

It depends on the domain, not the platform. An established site with existing authority usually sees movement on long-tail queries within weeks; a new domain in a competitive niche takes considerably longer. Publishing consistently is what compounds — which is the part automation actually fixes.

What does AutoSEO cost for a Hugo site?

Plans are per site with volume discounts as you add more, and there is a trial. Current numbers are on the pricing page rather than repeated here, so they cannot go stale.

Can I keep my current Hugo SEO tools?

Yes. AutoSEO is built to sit alongside what you already run rather than take over the page head — on WordPress it writes into your existing SEO plugin's fields instead of adding a competing set of tags, and on every platform it leaves the platform's own SEO settings alone.

Is there a Hugo module or theme to install?

No. Hugo is served by the generic Custom webhook connector rather than a dedicated integration. The webhook guide documents the payload and signature verification.

Does AutoSEO trigger my build?

AutoSEO delivers the article to your endpoint. Whether that endpoint commits, builds and deploys is your pipeline's decision — which is the right place for it.

Keep reading

Other platforms

Automate the recurring SEO work on Hugo

Works alongside your existing Hugo setup. See pricing for plans and the trial.

Connect Hugo