RSS σε 66 κοινωνικά δίκτυα: Facebook, Instagram, X, LinkedIn, Telegram και άλλα Blog Συνεργατικό Πρόγραμμα Επικοινωνία
Σύνδεση Ξεκινήστε δωρεάν
Updated: 2026-10-11
Zola RSS and Atom Feeds: Enable Them and Auto-Post

Short answer: Zola can generate RSS and Atom feeds itself; you only need to switch them on. In config.toml, set base_url to your public https address, enable generate_feeds = true and list the files you want in feed_filenames, for example ["atom.xml", "rss.xml"]. Enable feeds for individual sections and taxonomies too if you need them, rebuild with zola build and deploy. Then point an RSS auto-poster at the feed and every new page is shared automatically.

Zola is a fast static site generator written in Rust and distributed as a single binary. It is popular for personal blogs, developer sites, documentation and small company websites because it needs no runtime, no package manager and very little configuration. Feeds are built in, but they are not enabled in a new project, and a couple of settings changed names between versions. This guide explains how to enable feeds correctly, which details cause broken links or missing posts, and how to use the feed for automatic social sharing.

Does Zola generate an RSS feed by default?

No. A new Zola site does not produce a feed until you enable it in config.toml. Many themes show a feed icon anyway, which links to a file that does not exist yet. Open your live site and add /atom.xml ή /rss.xml to the address; if you get a 404, the feed is not enabled.

Once enabled, Zola renders the feed from built-in templates, so you get valid XML without writing any template code. You can override those templates later if you need custom elements.

Enable feeds in config.toml

In recent Zola versions, the site-wide settings look like this:

base_url = "https://blog.example.com"
title = "Example Blog"
description = "Notes on software, travel and photography"

generate_feeds = true
feed_filenames = ["atom.xml", "rss.xml"]
feed_limit = 20

What each setting does:

  • base_url is used to build every absolute link in the site and in the feeds.
  • generate_feeds switches feed generation on for the whole site.
  • feed_filenames chooses the formats: atom.xml uses the built-in Atom template, rss.xml the built-in RSS template. You can list one or both.
  • feed_limit caps the number of items. Without it, the feed includes every page, which can become very large on an older blog.

Older Zola versions used singular names, generate_feed και feed_filename, with only one format at a time. If you upgrade Zola and the feed disappears, or zola build reports an unknown key, this rename is the usual reason. Check the documentation for your version; the Zola feeds documentation describes the current options.

Atom, RSS or both

Atom is the classic default in Zola and is well supported by readers. RSS 2.0 is the format that the widest range of tools understands, including many social posting services and older integrations. Since Zola can produce both from the same content at no cost, enabling both is a sensible choice. Give tools the RSS feed unless they prefer Atom, and keep the address stable once they subscribe.

For more on whether the format matters, see JSON Feed vs RSS for auto-posting.

Get base_url right

Every link in the feed comes from base_url. Common mistakes:

  • A placeholder. New projects created with zola init ask for the URL; a quick answer such as https://example.com ends up in every feed link.
  • http instead of https. Shared links then go through a redirect, or trigger warnings on some networks.
  • Missing subfolder. A project site on GitHub Pages or GitLab Pages at https://user.github.io/project needs the full path in base_url.
  • Preview builds. zola serve replaces base_url with a local address, so feeds generated during development contain localhost links. Always check the feed produced by zola build on your CI or hosting platform.

Platforms such as Netlify and Cloudflare Pages let you pass a different URL for preview deployments, for example with zola build --base-url. Make sure production builds use the real address. After deploying, open the feed and click the first link; it should open the page exactly as visitors see it. Relative or wrong links are covered in relative URLs in RSS feeds.

Section and taxonomy feeds

Zola can generate feeds for individual sections and taxonomies, which is ideal for routing content to different social accounts.

Section feeds are enabled in the section’s _index.md front matter:

+++
title = "Blog"
sort_by = "date"
generate_feeds = true
+++

The feed then appears inside the section, for example at /blog/atom.xml και /blog/rss.xml. This is useful when the site also has documentation, projects or other pages that should not appear in a blog feed.

Taxonomy feeds are enabled per taxonomy in config.toml:

[[taxonomies]]
name = "tags"
feed = true

[[taxonomies]]
name = "categories"
feed = true

Each term then gets its own feed, such as /tags/rust/atom.xml. A personal blog might send the “programming” feed to Mastodon and LinkedIn, and the “travel” feed to Pinterest and Facebook. Keep term names consistent, because Rust και rust-lang become different terms with half-empty feeds. Routing ideas are in RSS feed category filtering.

Dates, drafts and summaries

Zola sorts and dates feed items from each page’s front matter:

+++
title = "Moving our build pipeline to a single binary"
date = 2026-10-11
description = "Why we replaced four build tools with one, and what we learned."
[taxonomies]
tags = ["rust", "devops"]
+++
  • Dates. Pages without a date cannot be placed correctly in a feed, so give every post one. Add a time, such as 2026-10-11T16:15:00Z, if you publish several posts on the same day.
  • Drafts. Pages with draft = true are excluded from builds unless you pass --drafts, so they never reach the feed. Keep unpublished posts as drafts until the day they should go out.
  • Summaries. Put a <!-- more --> marker in a post to define its summary. The built-in feed templates use it, and many auto-posters use the feed description as post text.
  • Description. A description in front matter is useful for meta tags and for custom feed templates.

Because Zola is static, nothing changes on the live site until you build and deploy. If you prepare posts in advance, schedule a regular CI build and flip the draft flag when a post should go live. Our article on RSS date format errors covers date pitfalls in general.

Customise the feed template

The built-in templates are a good start, but you may want extra elements, such as an image enclosure, categories from tags, or a different description. Copy Zola’s built-in template into your templates folder under the same name, for example templates/rss.xml, and edit it. Zola uses your file instead of the built-in one.

Inside the template you have access to the pages, their titles, permalinks, dates, summaries, content and front matter extra fields. A typical addition is an image from page.extra.image, output as an absolute URL in an enclosure element. Use Tera’s escaping filters for any text you add, so titles with ampersands do not break the XML.

Many auto-posters also read the page’s og:image tag, so make sure your theme outputs it from the same front matter field. Use images at least 1200 pixels wide. See how to control which image gets auto-posted.

Multilingual Zola sites

Zola supports multiple languages, with translated pages stored as files such as post.fr.md next to post.md. Feeds follow the same structure, and each language can have its own:

  • enable feeds for an extra language in its [languages.fr] block in config.toml, with the same generate_feeds και feed_filenames settings;
  • the language feed is generated under the language prefix, for example /fr/atom.xml, and contains only pages in that language;
  • taxonomies can be defined per language as well, so French tags get French feeds.

Treat each language feed as a separate source and connect it to the social accounts for that audience. A French account posting English articles looks like a mistake to followers, so keep the streams apart. For strategy, see automating multi-language website content.

Keep URLs stable

Feed readers and auto-posters remember items by their ID, which in Zola’s feeds is based on the page permalink. Permalinks come from the file path, the slug front matter field and section paths. If you rename files, move a section, change slugs or switch domains, the IDs change and tools may treat your archive as new.

Decide on a structure early, set explicit slug values for important posts, and use Zola’s aliases front matter to create redirects when you must move a page. Before a domain change, read why a feed auto-posts the same article twice.

Advertise the feed

Add an autodiscovery link to your base template so browsers, readers and tools can find the feed:

<link rel="alternate" type="application/rss+xml"
      title="{{ config.title }}" href="{{ get_url(path='rss.xml', trailing_slash=false) }}">

Many Zola themes already include such a link when feeds are enabled; check your page source. A visible feed link in the footer helps human subscribers. More on discovery is in Αυτόματη ανίχνευση RSS feed.

Common Zola feed problems

SymptomCauseFix
atom.xml returns 404Feeds not enabledgenerate_feeds = true
Build error after upgradeOld singular setting namesUse generate_feeds και feed_filenames
Links point to localhostFeed copied from zola serveUse the output of zola build
Links miss the subfolderIncomplete base_urlInclude the full path
Docs pages in the blog feedOnly the site-wide feed usedEnable a section feed for the blog
Archive resharedMoved files or changed slugsStable slugs and aliases

Validate and automate

After deploying, open the feed, check that the newest post is first and links work, and validate it with the W3C Feed Validation Service. Then connect it to an auto-poster. A few tips for static sites:

  • deploy first; the auto-poster sees a new post only after the new feed is online;
  • write clear titles and summaries, since they often become the post text;
  • use section or taxonomy feeds to send each topic to the right accounts;
  • add tracking parameters in the posting tool rather than in Zola.

How PostRSS works with a Zola site

PostRSS has been publishing RSS and Atom feeds to social networks since 2014. Paste the address of your Zola feed, or several section and taxonomy feeds, connect your accounts and choose the post format. PostRSS checks the feeds as often as every minute and shares each new page, with its image and link, to the networks you choose among 66 supported networks, messengers, team chats and blogs, including Mastodon, Bluesky, LinkedIn, Telegram, Discord and DEV. Keyword filters, UTM parameters, hashtags from categories and posting windows let you tailor each channel. See the PostRSS features page and the plan limits on the pricing page. More developer guides are under the Technical Guide tag.

Related reading

The bottom line

Zola’s feeds are built in and need only a few settings: a correct base_url, generate_feeds = true, the formats in feed_filenames and a sensible feed_limit. Add section and taxonomy feeds for routing, give every page a date and summary, keep slugs stable and validate the production feed once. Then every new post can reach your social channels automatically.

FAQ

How do I enable an RSS feed in Zola?

Set generate_feeds to true in config.toml and list rss.xml, atom.xml or both in feed_filenames. Make sure base_url is your public address, then rebuild and deploy the site.

Why did my Zola feed disappear after an upgrade?

Recent versions renamed the settings from generate_feed and feed_filename to generate_feeds and feed_filenames. Update config.toml to the new names and rebuild.

Can Zola create feeds for tags or sections?

Yes. Set generate_feeds to true in a section’s _index.md for a section feed, and feed to true in a taxonomy definition for one feed per term, such as each tag.

Why do my feed links point to localhost?

The zola serve command replaces base_url with a local address for previews. Use the feed generated by zola build with the production base_url, which is what your host serves.

Can a Zola blog auto-post to social media?

Yes. Once the feed is live, an RSS auto-poster such as PostRSS can watch it, or individual section and tag feeds, and share every new post with the networks you connect.

New guides, once a month

What changed in the networks, what broke, and how to fix it before it costs you reach.

We send a confirmation e-mail first. Unsubscribe any time.

Περισσότερα εργαλεία από την ομάδα μας

Από την Internet Solutions, την ομάδα πίσω από το PostRSS. Κάθε προϊόν σάς εξοικονομεί χρόνο με τον δικό του τρόπο.

Live chat με AI για ιστότοπους Talkmio Ο ιστότοπός σας απαντά στους επισκέπτες 24/7 με βάση το δικό σας περιεχόμενο, στη γλώσσα τους. Δωρεάν πρόγραμμα · χωρίς κάρτα Βοηθός AI Ask Mio Συνομιλία, κώδικας, σχεδιασμός, γραφή και έρευνα. Το Mio επιλέγει το καλύτερο μοντέλο για κάθε εργασία. Δωρεάν πρόγραμμα Αυτόματος πιλότος AI για blog και social AI Blog Autopilot Η AI γράφει άρθρα SEO 2.000–3.000 λέξεων και κοινοποιεί το καθένα σε 58+ κοινωνικά δίκτυα. Τα 3 πρώτα άρθρα δωρεάν Έλεγχος υγείας ιστότοπου Site AI Audit SEO, ταχύτητα, SSL, ασφάλεια και ρυθμίσεις email σε μία αναφορά, με σειρά προτεραιότητας. Ο πρώτος έλεγχος δωρεάν Σε βάθος ανίχνευση SEO Site SEO AI Audit Πλήρης ανίχνευση SEO σε 7 τομείς, μαζί με την ορατότητα στην αναζήτηση AI, με διορθώσεις ταξινομημένες κατά αντίκτυπο. Ο πρώτος έλεγχος δωρεάν RSS και ροές προϊόντων RSS Feed Creator Δημιουργήστε RSS από οποιαδήποτε σελίδα, καθώς και ροές προϊόντων για Google και Meta που ενημερώνονται μόνες τους. Δωρεάν πρόγραμμα Ανάπτυξη ιστότοπων και SEO Internet Solutions Ιστότοποι, ηλεκτρονικά καταστήματα και εξατομικευμένα συστήματα, που σχεδιάζει, κατασκευάζει και υποστηρίζει η ομάδα μας. Από το 2011