<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Reclear</title>
    <description>The latest articles on DEV Community by Reclear (reclear).</description>
    <link>https://dev.to/reclear</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F13264%2Ff39522f4-5bd6-47ae-967a-d69b8551d736.webp</url>
      <title>DEV Community: Reclear</title>
      <link>https://dev.to/reclear</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/reclear"/>
    <language>en</language>
    <item>
      <title>How to structure your RSS Feed for DEV.to Ingestion</title>
      <dc:creator>Wale Bashir</dc:creator>
      <pubDate>Wed, 19 Aug 2026 21:46:17 +0000</pubDate>
      <link>https://dev.to/reclear/how-to-structure-your-rss-feed-for-devto-ingestion-mnc</link>
      <guid>https://dev.to/reclear/how-to-structure-your-rss-feed-for-devto-ingestion-mnc</guid>
      <description>&lt;p&gt;A guide to formatting an RSS 2.0 feed so DEV.to imports your articles, images, and tags with zero formatting errors.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Quick Checklist: What to Do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Wrap full article HTML inside &lt;code&gt;&amp;lt;content:encoded&amp;gt;&amp;lt;![CDATA[...]]&amp;gt;&amp;lt;/content:encoded&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;[ ] Convert &lt;strong&gt;all&lt;/strong&gt; image &lt;code&gt;src&lt;/code&gt;, &lt;code&gt;srcset&lt;/code&gt;, and link &lt;code&gt;href&lt;/code&gt; attributes to &lt;strong&gt;absolute URLs&lt;/strong&gt; (&lt;code&gt;https://domain.com/...&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;[ ] Sanitize tags (&lt;code&gt;&amp;lt;category&amp;gt;&lt;/code&gt;): alphanumeric only (&lt;code&gt;a-z0-9&lt;/code&gt;), max 20 chars, max 4 tags per post.&lt;/li&gt;
&lt;li&gt;[ ] Provide a unique &lt;code&gt;&amp;lt;guid isPermaLink="true"&amp;gt;&lt;/code&gt; to prevent duplicate imports.&lt;/li&gt;
&lt;li&gt;[ ] Provide cover images via &lt;code&gt;&amp;lt;enclosure&amp;gt;&lt;/code&gt; and as the first &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; inside &lt;code&gt;&amp;lt;content:encoded&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;[ ] In DEV Settings, keep &lt;strong&gt;"Mark RSS source as canonical"&lt;/strong&gt; checked and &lt;strong&gt;"Replace self-referential links"&lt;/strong&gt; unchecked.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  2. RSS Field Reference
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;&amp;lt;item&amp;gt;&lt;/code&gt; Fields
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Requirement&lt;/th&gt;
&lt;th&gt;What It Does on DEV.to&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Required&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Article headline. Escape XML special characters.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Required&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Canonical link back to original post.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;guid&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Required&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Unique ID. Prevents re-importing duplicates on sync.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;content:encoded&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Required&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Full HTML body wrapped in &lt;code&gt;&amp;lt;![CDATA[...]]&amp;gt;&lt;/code&gt;. Converted to Markdown by DEV.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;description&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Fallback&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Excerpt/summary. Used as body only if &lt;code&gt;&amp;lt;content:encoded&amp;gt;&lt;/code&gt; is missing.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;pubDate&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Recommended&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;UTC date (&lt;code&gt;Wed, 19 Aug 2026 10:00:00 GMT&lt;/code&gt;). Sets publication/draft date.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;category&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Optional (Max 4)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Becomes post tags. Must be alphanumeric and $\le$ 20 chars.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;enclosure&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Optional&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Sets the post's cover/hero image (&lt;code&gt;type="image/webp"&lt;/code&gt; or &lt;code&gt;image/png&lt;/code&gt;).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;author&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Optional&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;email@domain.com (Author Name)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  3. Strict Formatting Rules
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Rule 1: Tags (&lt;code&gt;&amp;lt;category&amp;gt;&lt;/code&gt;)
&lt;/h3&gt;

&lt;p&gt;DEV.to rejects or corrupts tags that don't match &lt;code&gt;[a-zA-Z0-9]&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Remove special chars:&lt;/strong&gt; &lt;code&gt;next.js&lt;/code&gt; $\rightarrow$ &lt;code&gt;nextjs&lt;/code&gt;, &lt;code&gt;web-dev&lt;/code&gt; $\rightarrow$ &lt;code&gt;webdev&lt;/code&gt;, &lt;code&gt;c#&lt;/code&gt; $\rightarrow$ &lt;code&gt;csharp&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Truncate:&lt;/strong&gt; Maximum 20 characters per tag.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Limit:&lt;/strong&gt; Maximum 4 tags per post.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Rule 2: Images &amp;amp; Links (Must Be Absolute)
&lt;/h3&gt;

&lt;p&gt;DEV.to cannot resolve relative paths like &lt;code&gt;/images/hero.png&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❌ &lt;code&gt;&amp;lt;img src="/images/hero.png"&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;✅ &lt;code&gt;&amp;lt;img src="https://yourdomain.com/images/hero.png"&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;❌ &lt;code&gt;&amp;lt;a href="/blog/my-post"&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;✅ &lt;code&gt;&amp;lt;a href="https://yourdomain.com/blog/my-post"&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Rule 3: Cover Images
&lt;/h3&gt;

&lt;p&gt;To ensure the cover image renders both as the header banner and in feed previews:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add &lt;code&gt;&amp;lt;enclosure url="https://yourdomain.com/cover.webp" type="image/webp" length="0" /&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Prepend &lt;code&gt;&amp;lt;p&amp;gt;&amp;lt;img src="https://yourdomain.com/cover.webp" alt="..." /&amp;gt;&amp;lt;/p&amp;gt;&lt;/code&gt; to &lt;code&gt;&amp;lt;content:encoded&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  4. Gist Templates
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Template A: Minimum Viable RSS Feed
&lt;/h3&gt;

&lt;p&gt;The bare minimum needed for DEV.to to ingest a post cleanly:&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;

&lt;/h2&gt;

&lt;h3&gt;
  
  
  Template B: Full Production RSS Feed (With Tags, Covers &amp;amp; CDATA)
&lt;/h3&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;





&lt;h2&gt;
  
  
  5. Copy-Paste Code Utilities (TypeScript)
&lt;/h2&gt;

&lt;p&gt;Use these helper functions when building your RSS feed generator:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;





&lt;h2&gt;
  
  
  6. How to Configure DEV.to Settings
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;a href="https://dev.to/settings/extensions"&gt;dev.to/settings/extensions&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Scroll to &lt;strong&gt;"Publishing to DEV Community from RSS"&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Paste your feed URL (e.g. &lt;code&gt;https://yourdomain.com/rss.xml&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Set the options:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mark the RSS source as canonical URL by default:&lt;/strong&gt; &lt;code&gt;[x] Checked&lt;/code&gt; &lt;em&gt;(Preserves your Google SEO ranking)&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Replace self-referential links with DEV Community-specific links:&lt;/strong&gt; &lt;code&gt;[ ] Unchecked&lt;/code&gt; &lt;em&gt;(Keeps internal links pointing to your website)&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;"Submit feed settings"&lt;/strong&gt; $\rightarrow$ Click &lt;strong&gt;"Fetch feed now"&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Go to &lt;a href="https://dev.to/dashboard"&gt;dev.to/dashboard&lt;/a&gt; to view, edit, and publish your imported drafts.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>devto</category>
      <category>rss</category>
    </item>
  </channel>
</rss>
