This service tests the validity of an RSS 2.0 feed, checking to see that it follows the rules of the RSS specification. For advice from the RSS Advisory Board on how to implement RSS and handle issues such as enclosures and HTML encoding, read the RSS Best Practices Profile. This checker is also a validator of Atom and RSS 1.0 feeds.

Use this tester regularly to ensure that your RSS feed continues to work well in the wide audience of RSS readers, podcast clients and other software that supports the format.

 

It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

--> -->
 
 
<type 'exceptions.UnicodeDecodeError'>
Python 2.7.18: /usr/bin/python
Sat Aug 2 17:23:17 2025

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /var/www/www.rssboard.org/html/rss-validator/check.cgi in <module>()
    344                 print '%s: %s\r\n' % (header, value),
    345             print
=>  346         for output in checker_app(os.environ, start_response):
    347             print output.decode('utf-8')
    348     else:
output = '<div class="specialmessage">\n<p>It looks like th...the address of your feed to validate.</p>\n</div>\n', checker_app = <function checker_app>, os = <module 'os' from '/usr/lib64/python2.7/os.pyc'>, os.environ = {'CONTEXT_DOCUMENT_ROOT': '/var/www/www.rssboard...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, start_response = <function start_response>
 /var/www/www.rssboard.org/html/rss-validator/check.cgi in checker_app(environ={'CONTEXT_DOCUMENT_ROOT': '/var/www/www.rssboard...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, start_response=<function start_response>)
    300                 if msc == Error:
    301                     from feedvalidator.logging import ObsoleteNamespace
=>  302                     if len(output.getErrors())==1 and \
=>  303                         isinstance(output.data[0],ObsoleteNamespace):
    304                         yield applyTemplate('notsupported.tmpl')
builtin len = <built-in function len>, output = [<feedvalidator.logging.HttpError instance at 0x...ing.UndefinedElement instance at 0x7f54927ef820>], output.getErrors = <bound method Formatter.getErrors of [<feedvalid...ng.UndefinedElement instance at 0x7f54927ef820>]>, builtin isinstance = <built-in function isinstance>, output.data = [<feedvalidator.logging.HttpError instance>, <feedvalidator.logging.UnexpectedContentType instance>, <feedvalidator.logging.UndefinedElement instance>], ObsoleteNamespace = <class feedvalidator.logging.ObsoleteNamespace>
 /var/www/www.rssboard.org/html/rss-validator/src/feedvalidator/formatter/base.py in getErrors(self=[<feedvalidator.logging.HttpError instance at 0x...ing.UndefinedElement instance at 0x7f54927ef820>])
     17 
     18   def getErrors(self):
=>   19     return [self.format(msg) for msg in self.data if isinstance(msg,Error)]
     20 
     21   def getWarnings(self):
self = [<feedvalidator.logging.HttpError instance at 0x...ing.UndefinedElement instance at 0x7f54927ef820>], self.format = <bound method Formatter.format of [<feedvalidato...ng.UndefinedElement instance at 0x7f54927ef820>]>, msg = <feedvalidator.logging.HttpError instance>, self.data = [<feedvalidator.logging.HttpError instance>, <feedvalidator.logging.UnexpectedContentType instance>, <feedvalidator.logging.UndefinedElement instance>], builtin isinstance = <built-in function isinstance>, global Error = <class feedvalidator.logging.Error>
 /var/www/www.rssboard.org/html/rss-validator/src/feedvalidator/formatter/text_html.py in format(self=[<feedvalidator.logging.HttpError instance at 0x...ing.UndefinedElement instance at 0x7f54927ef820>], event=<feedvalidator.logging.HttpError instance>)
    100       rc += u'''<span class="message">%s: <code>%s</code></span>''' % (escape(self.getMessage(event)), escape(unicode(event.params['value'])))
    101     else:
=>  102       rc += u'''<span class="message">%s</span>''' % escape(self.getMessage(event))
    103     rc += u'''%s ''' % self.getCount(event)
    104     rc += u'''[<a title="more information about this error" href="%s.html">help</a>]</p>''' % self.getHelpURL(event)
rc = u'<li><p>', global escape = <function escape>, self = [<feedvalidator.logging.HttpError instance at 0x...ing.UndefinedElement instance at 0x7f54927ef820>], self.getMessage = <bound method Formatter.getMessage of [<feedvali...ng.UndefinedElement instance at 0x7f54927ef820>]>, event = <feedvalidator.logging.HttpError instance>

<type 'exceptions.UnicodeDecodeError'>: 'ascii' codec can't decode byte 0xd0 in position 32: ordinal not in range(128)
      args = ('ascii', 'Server returned HTTP Error 404: \xd0\x9a\xd0\xb0\xd1\x82\xd0\xb5\xd0\xb3\xd0\xbe\xd1\x80\xd0\xb8\xd1\x8f \xd0\xbd\xd0\xb5 \xd0\xbd\xd0\xb0\xd0\xb9\xd0\xb4\xd0\xb5\xd0\xbd\xd0\xb0', 32, 33, 'ordinal not in range(128)')
      encoding = 'ascii'
      end = 33
      message = ''
      object = 'Server returned HTTP Error 404: \xd0\x9a\xd0\xb0\xd1\x82\xd0\xb5\xd0\xb3\xd0\xbe\xd1\x80\xd0\xb8\xd1\x8f \xd0\xbd\xd0\xb5 \xd0\xbd\xd0\xb0\xd0\xb9\xd0\xb4\xd0\xb5\xd0\xbd\xd0\xb0'
      reason = 'ordinal not in range(128)'
      start = 32