basercmsを利用したサイトを作成しています。
作成したサイトをGoogle Search Consoleへ登録し、サイトマップにbasercmsのフィードが出力するindex.rssを登録しようとしたところ、エラーが生じ正しく登録できませんでした。
フィードが出力するindex.rssは、Google Search Consoleに対応していないのでしょうか。
大変お手数ですが、アドバイスをお願い致します。
★Search Consoleのエラー内容
RSS は読み取り可能ですが、エラーがあります
属性値が無効です
親タグ:item
タグ:enclosure
属性:length
値:
★調査確認
index.rssの問題箇所を実際に確認したところ、以下のように出力されています。
<enclosure url=“https://hoge.com/blog/index.rss” type="" length=""/>
恐らくtypeやlengthが空になっているのが原因ではないかと推測しています。
BLOG記事のアイキャッチが登録されていないと上のように出力されますが、アイキャッチが入っているとurlは画像パスになります。その場合でもtypeもlengthは空でした。
アイキャッチ画像がない場合でもenclosureは出力されるものなのでしょうか。
★環境情報
・baserCMSのバージョン:4.42
・レンタルサーバー名:COR-SERVER
・使用テーマ:現在作成中(サンプルのレイアウトを編集する程度)
・PHPスキル(自己評価):C程度
「いいね!」 2
ryota
2
おっしゃる通りtype、lengthが空になっていることでサーチコンソールではエラーを返しているようです。
現在の仕様?ですと画像の有無の判定がない状態でenclosureが出力されています。
且つ、アイキャッチを登録していてもtype、length共に取得できない状態になっているようです。
以下のファイルを修正することで対応が可能です。
修正ファイルは
/lib/Baser/Plugin/Blog/rss/index.php
もしくは
/rss/ を /theme/Blog/ にコピーして修正することでも大丈夫かと思います。
(実際に試して対応はできております。)
回答ありがとうございます。
教えて頂いた方法を試してみます。
ありがとうございました。
GUSSAN
4
@ryota
いつもお世話になってます、横からすいません。
私も今回のトピックの対応方法に大変興味があるのですが、ryotaさんが指摘されている /lib/Baser/Plugin/Blog/rss/index.php
に該当するファイルがそもそも見つけられません。
どこか別の場所にあるケースがあるのでしょうか?
また、該当するファイルが見つけられたとして、実際どのように修正すれば良いのでしょうか?
ご教示いただけると助かります。
よろしくお願いいたします。
【環境情報】
・baserCMSのバージョン:4.4.2
・レンタルサーバー名:ロリポップ
・使用テーマ:Omotenashi2
・PHPスキル(自己評価):E
お世話になっています。
教えて頂いた方法を確認しましたが、先に投稿のあった GUSSANさまと同じ状況で、当方の環境では/lib/Baser/Plugin/Blog/の中にrssフォルダがありませんでした。
バージョンによって構成が異なるのでしょうか。
大変お手数ですが、アドバイスを頂けると助かります。
以上、よろしくお願い致します。
ryota
6
申し訳ございません。
パスが間違っておりました。
正しくは
/lib/Baser/Plugin/Blog/View/Blog/rss になります。
GUSSANさん
修正については方法がいくつかあるかと思いますが、私はアイキャッチのif文の修正と画像が登録されていた際に画像の種類とサイズを取得する流れで修正しています。
GUSSAN
7
@ryota
ありがとうございます !もうちょっと探せばよかったですね。。。すいません!
修正の方法、なるほど、ご指摘頂いた感じで試してみます!!
といっても、そもそもフィードの存在価値自体、そろそろお役御免な感じなので微妙なんですけどw
@hitochan
お邪魔してしまいました!すいませんでした!
アドバイスありがとうございます。
無事、目的のファイルが見つかり、大変助かりました。