RSS

ساخت فید RSS برای سایت با XML — قالب استاندارد انتشار محتوا

RSS چیست؟

RSS (Really Simple Syndication) قالبی XMLی برای انتشار منظم محتوای سایت است. فید RSS به خبرخوان‌ها (RSS Readers) اجازه می‌دهد بدون مراجعه به سایت، آخرین مطالب را دنبال کنند.

ساختار فید RSS 2.0

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <!-- اطلاعات کلی سایت -->
        <title>وبلاگ لرنینگ سیتی</title>
        <link>https://example.com/blog</link>
        <description>آموزش برنامه‌نویسی به فارسی</description>
        <language>fa-ir</language>
        <lastBuildDate>Thu, 14 Aug 2026 09:00:00 +0330</lastBuildDate>

        <!-- هر مطلب یک item -->
        <item>
            <title>آموزش XML منتشر شد!</title>
            <link>https://example.com/blog/xml-tutorial</link>
            <description>آموزش جامع XML از صفر...</description>
            <pubDate>Thu, 14 Aug 2026 09:00:00 +0330</pubDate>
            <guid>https://example.com/blog/xml-tutorial</guid>
        </item>
    </channel>
</rss>

عناصر channel

عنصرتوضیحاجباری؟
titleنام سایت/کانال✅
linkآدرس سایت✅
descriptionتوضیح کانال✅
languageزبان (مثل fa-ir)—
lastBuildDateآخرین زمان به‌روزرسانی—

عناصر item

عنصرتوضیح
titleعنوان مطلب
linkآدرس مطلب
descriptionخلاصه یا متن کامل
pubDateتاریخ انتشار (فرمت RFC 822)
guidشناسه یکتای مطلب (معمولاً همان لینک)
categoryدسته‌بندی
authorایمیل نویسنده

فرمت تاریخ pubDate

تاریخ‌ها باید در قالب RFC 822 باشند:

Thu, 14 Aug 2026 09:00:00 +0330

در PHP:

echo date("D, d M Y H:i:s O", strtotime($post->created_at));

تولید RSS با PHP

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

$posts = $db->query("SELECT * FROM posts ORDER BY created_at DESC LIMIT 20");

echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
?>
<rss version="2.0">
    <channel>
        <title>وبلاگ من</title>
        <link>https://example.com</link>
        <description>آموزش برنامه‌نویسی</description>
        <?php foreach ($posts as $post): ?>
        <item>
            <title><?= htmlspecialchars($post['title']) ?></title>
            <link><?= htmlspecialchars($post['url']) ?></link>
            <description><?= htmlspecialchars($post['excerpt']) ?></description>
            <pubDate><?= date("D, d M Y H:i:s O", strtotime($post['created_at'])) ?></pubDate>
            <guid><?= htmlspecialchars($post['url']) ?></guid>
        </item>
        <?php endforeach; ?>
    </channel>
</rss>

معرفی فید به مرورگر

در بخش <head> سایت این خط را بگذارید تا مرورگر و خبرخوان‌ها فید را پیدا کنند:

<link rel="alternate" type="application/rss+xml"
      title="RSS وبلاگ"
      href="https://example.com/feed.xml">
RSS یکی از بهترین نمونه‌های کاربرد واقعی XML است: ساده، استاندارد و بین همه سایت‌ها و ابزارها مشترک. پادکست‌ها هم دقیقاً با همین ساختار منتشر می‌شوند (فقط عنصر enclosure برای فایل صوتی اضافه می‌کنند)!

این مبحث بخشی از دوره آموزش کامل XML است.

ابزارهای مرتبط