Spring til indhold
rssfeed.dk

Lav et feed trin for trin

Bruger du et færdigt publiceringssystem, har det måske allerede et feed, så tjek det først. Bygger du selv, er her vejen fra ingenting til et feed, som feedlæsere kan finde og læse.

1. Vælg indholdet

Et feed indeholder typisk de nyeste 10 til 20 indlæg, nyeste først. Ældre indlæg behøver ikke være med: feedlæsere husker selv, hvad de har set. Beslut også, om feedet skal have hele teksten eller kun et resumé med et link til siden.

2. Statisk fil eller automatisk

Opdaterer du sjældent, kan du skrive feedet som en almindelig fil, fx feed.xml, og rette den, når der kommer nyt. Bygger du sitet med en statisk sitegenerator, kan feedet laves samtidig med siderne. Ligger indholdet i en database, er det lettest at lade et script lave feedet hver gang, det hentes.

3. Et lille PHP-eksempel

Eksemplet tager indlæg fra et array. I virkeligheden kommer de fra din database. Læg mærke til htmlspecialchars, som escaper teksten, og den rigtige Content-Type.

<?php
header('Content-Type: application/rss+xml; charset=UTF-8');

$indlaeg = [
    ['titel' => 'Mit første indlæg', 'url' => 'https://www.example.com/foerste',
     'resume' => 'Sådan kom jeg i gang.', 'tid' => '2026-03-02 09:00'],
];

function x(string $s): string {
    return htmlspecialchars($s, ENT_XML1 | ENT_QUOTES, 'UTF-8');
}

echo '<?xml version="1.0" encoding="UTF-8"?>', "\n";
?>
<rss version="2.0">
<channel>
  <title>Min blog</title>
  <link>https://www.example.com/</link>
  <description>Nye indlæg fra min blog</description>
  <language>da</language>
<?php foreach ($indlaeg as $i): ?>
  <item>
    <title><?= x($i['titel']) ?></title>
    <link><?= x($i['url']) ?></link>
    <guid><?= x($i['url']) ?></guid>
    <description><?= x($i['resume']) ?></description>
    <pubDate><?= date(DATE_RSS, strtotime($i['tid'])) ?></pubDate>
  </item>
<?php endforeach; ?>
</channel>
</rss>

4. Send den rigtige filtype

Serveren bør sende feedet med Content-Type application/rss+xml. Mange læsere accepterer også application/xml, men den rigtige type gør det tydeligt, hvad filen er. Ligger feedet som en statisk fil, kan du sætte typen i serverens opsætning.

5. Fortæl browsere og læsere, at feedet findes

Læg et link i <head> på dine sider. Så kan feedlæsere finde feedet ud fra din forside alene. Det kaldes autodiscovery:

<link rel="alternate" type="application/rss+xml" title="Min blog" href="https://www.example.com/feed.xml">

Sæt også et synligt link på sitet, fx i sidefoden, for dem der kopierer adressen ind i deres læser selv.

6. Valider feedet

Kør feedet gennem en feedvalidator, fx W3C's gratis Feed Validation Service, før du deler det. Den finder ugyldige datoer, tegn, der ikke er escapet, og manglende elementer. Tjek også, at æ, ø og å ser rigtige ud i en feedlæser.

Typiske fejl

  • Et rå & i en titel eller en adresse med parametre.
  • Mellemrum eller en tom linje før <?xml, som gør filen ugyldig.
  • Relative adresser som /foerste. Brug fulde adresser med https.
  • guid, der skifter, så gamle indlæg dukker op som nye.