RSS(Rich Site Summary、ニュースやブログの更新情報を配信するための仕組み)を日常的に利用している方も多いと思います。

私がニュースやブログを購読するのに利用しているのが「Feedly」というシステムですが、こちらもRSSシステムです。

私が運営している2つのサイト(ブログ、事務所HP)では互いの更新情報をRSS Antennaというプラグインを使ってそれぞれに配信しています。

↓HPの更新情報をブログに配信

ただ。。たまにエラーが下記のように発生します。

エラー内容は決まって「XMLドキュメントは無効です」といった内容。

このXMLエラーの原因を特定するのは、「W3C(World Wide Web Consortium)」という団体のサイトの「Feed Validation Service」というページからできます。

そもそもXMLとは?W3Cとは?

そもそもXMLとは、W3Cとは、ということで素人ながらに調べてみました。

XMLは「Extensible Markup Language」の略で、そのまま訳すと拡張可能なマークアップ言語です。

マークアップ言語というとWebページを作るために必要となるHTMLがまず浮かびます。

両者の違いは、HTMLはWebページの「表示」用の言語である一方、XMLはWebページの「データ」用の言語であるということです。

XMLが「構造化データ」などと呼ばれる所以です。

HTMLで装飾されたページはマシンにとっては「データの意味」までは理解できないですが、XMLによって構造化・定義されたページはマシンにとってその重要度などの意味が認識できるといったところでしょうか。

RSSというのはそういったマシンにとって意味のある、構造化されたデータを利用したシステムということですね。

XMLは応用範囲が広く、任意の言語(HTMLなど)に拡張できるため「Extensible」と呼ばれているようです。

そしてこのXML言語を規格・策定しているのが「W3C」という非営利団体で、RSSのどこにエラーが発生しているかを特定する「Feed Validation Service」を無料で提供しています。

どこでXMLが無効化されているのか特定してみよう

では、どこでXMLが無効化されているかチェックします。

まずW3CのFeed Validation Serviceのページを開きます。

「Validate by URI」という項目にAddress:というボックスが表示されるので、

チェックしたいRSSの元となるページのアドレスを入力します。(RSS用のページになるようにアドレスの最後に/feedをつけます)

チェックボタンをクリックすると、どこでエラーが発生しているかを表示してくれます。

「This feed does not validate」という部分はXMLが無効化されている部分で、修正が必要な部分です。

「In addition,…」という部分は、「ここを直したら運用性を向上できますよ」という修正推奨部分なので、できれば修正、ということになります。

まずは修正要の部分を修正してエラーをなくすことです。

エラー内容を見てみると、

XML parsing error: <unknown>:486:4: not well-formed (invalid token)

ということで解析エラー、整った形式でない、無効トークンといったことが書かれています。

よくわからないのでエラーの列に飛んでみます。

左のLine○○というところをクリックすると、該当のコード部分に飛びます。

どうやら先日書いた記事のリストの一部にエラーがあったようです。

WordPressを開き、該当の投稿ページに移動して、必要な修正を加えます。今回は一度削除してまた入力したらエラーは消えました。(エラーの内容によって対策はまちまちです)

修正して再度Feed Validatorページを更新してみると、「Congratulations!This is a valid RSS feed」と表示され、XMLが有効され問題ないRSSサイトであることを確認できました。

サイトでもきちんとRSSが表示されるようになりました。

まとめ

RSSでエラーが発生しているときの原因の特定方法を書いてみました。

何度かエラーを見てきましたが、上記のように単純なものもあれば多数のエラーが重なっている場合もあります。その場合は地道に一つずつ解決していきましょう。

編集後記

昨日は、サラリーマン+起業されている方の税務相談を。

Today’s New

読書「学びを結果に変えるアウトプット大全」

« »