🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

6180閲覧

「XML宣言はドキュメントの先頭でのみ許可されます」のエラーを解決する方法についてご教示頂きたいです

nomura02

総合スコア133

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/02/11 02:25

編集2021/02/11 04:02

前提・実現したいこと

グーグルコンソールで、サイトマップを正常に送信したいです。
xml宣言の前後の空白や改行を消してみても、このエラーが消えないので、困っております。

発生している問題・エラーメッセージ

XMLサイトマップ確認ツールを使って、エラーを確認してみました。
すると、

行の位置 2 XML宣言はドキュメントの先頭でのみ許可されます 0 XMLリソース '/var/www/wspstage.mentorvpn.com/sitemap-webtool/xsd/custom.xsd' の解析に失敗しました。

というエラーが出たので
まずは

XML宣言はドキュメントの先頭でのみ許可されます

こちらの解決を試みました。

2行目に、空白か改行が入っているからじゃないだろうかと予想しました。

該当のソースコード

xml

1<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 2<url> 3 <loc>https://meckrenburg.com/</loc> 4 <priority>1.0</priority> 5 <lastmod>2021-02-10T15:02:43+09:00</lastmod> 6</url> 7<url> 8 <loc>https://meckrenburg.com/commitment.html</loc> 9 <priority>1.0</priority> 10 <lastmod>2021-02-10T15:02:43+09:00</lastmod> 11</url> 12</urlset>

試したこと

・改行と空白を全て消してみた(参考にさせていただいた記事)
・キャッシュをクリアしてみた
xmlの構文をチェックするようなサイト
を使ってチェックしてみましたが、No errors foundでした。
wordpressを使っている方で同じような内容の記事を見ましたが、私はPHPファイルはなく、同じ状況に陥いっている方の記事をまだ見つけられていません。

追記
VScodeの、こちらを確認したところ、
with BOMの設定には、なっておりませんでした。
イメージ説明

補足情報(FW/ツールのバージョンなど)

・wordpressで構築していません。
HTMLから作ったサイトです。
・Chrome
・Windows
・filezillaを使っています。まさか、置いている場所から、間違っている…??
イメージ説明

追記
BOMの有無の確認を参考にさせていただき、ためしに、Windowsのメモ帳で保存して
容量を見比べてみたところ、
イメージ説明
3キロバイトの差がない…
ということは、BOMがあるということ、ですよね。
BOMを設定しない方法を模索しています。

追記
やはりUTF-8でBOMはついていない…ですね。別な問題なようです…
イメージ説明

初の試みにつき、ご教示頂くにあたり、情報不足かもしれません。
必要な情報は追記させて頂きます。
宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2021/02/11 03:37

ソースではなく wget などでその実際のサイトマップをローカルにダウンロードし、VSCODE で開いてみてください。右下の方に開いているエンコーディングが表示されますが、そこに「with BOM」とありませんか?
nomura02

2021/02/11 03:38

先程、3キロバイトの差がないことは確認してみましたが、こちらもまず試してみます!!
Zuishin

2021/02/11 03:51

エラーメッセージをよく見ると、/var/www/wspstage.mentorvpn.com/sitemap-webtool/xsd/custom.xsd とあり、インターネット越しに取得できるようなものではないように思えます。この URL は何でしょうか?
nomura02

2021/02/11 04:05

wspstage.mentorvpn.com」これにまったく身に覚えがないです。ここをURLで検索しても、知らない英語のサイトばかりです なん…なんだ…? これは…????ちょ…ちょっと調べます…
Zuishin

2021/02/11 05:01

もしかして、このサイトではなく別のサイトでチェックするとうまくいくということはありませんか?
nomura02

2021/02/11 06:08

なんだかそのようで… 色々調べてみて、違うサイトでもういっかい作って、送信してみたところ、 エラーはでなくなったんですが… な…なんで…なんだかもやもやして…これまでは何だったんだと思いつつ調べていたところでした… でも、心が折れそうだったので、非常に感謝しております…!!!
Zuishin

2021/02/11 06:13

チェックに使用したサイトのバグの可能性がありますね。念のため複数の他のサイトでチェックし、問題が出なければそのレポートを回答して自己解決してください。
nomura02

2021/02/11 06:25

なるほど…お付き合い頂き、ありがとうございます。 感謝致します。
guest

回答2

0

自己解決

バグの可能性がある…?とのことで、今は解決したので
時系列でやったことを記載します。

最初こちらで作成しました。
http://www.sitemapxml.jp/

こちらで、検証を行い、今回のエラーが出ていました。
https://www.websiteplanet.com/ja/webtools/sitemap-validator/
検証時エラーは出ていましたが、見切り発車でグーグルコンソールの方でも送信してみました。案の定エラーでした。

この間、キャッシュを削除したり、空白と改行を全て消したり、BOMの存在を確かめたりしましたが
検証サイトでエラーも消えないし、コンソールでも送信できませんでした。

別のサイトで、xmlファイルを作成し直しました。
https://www.xml-sitemaps.com/

ちなみに、こちらは、xmlファイルの記述に問題がないかを確認したサイトです。こちらでは、問題は見つかりませんでした。
https://www.online-toolz.com/langs/ja/tool-ja-xml-validator.html
https://www.w3schools.com/xml/xml_validator.asp

もう一度、グーグルコンソールの方でサイトマップを送信しました。
成功

…という、流れなのですが、一応解決しました。

お二方、ありがとうございます。
・BOMの存在とその解決方法をはじめて知ることが出来た
・wgetの存在とダウンロード方法を初めて知ることが出来た
・なんでもかんでもウェブのツールも1000パーセント正しいわけじゃない。1%くらいは、疑って、色んなサイトで検証してみる

たいへんよい勉強になりました。

投稿2021/02/11 08:11

nomura02

総合スコア133

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

先頭にBOMという見えない文字が入っている可能性があります。

エディタの設定を確認して、「UTF-8(BOMなし)」や「UTF-8N」という、BOMを入れない設定で保存し直してみましょう。

投稿2021/02/11 02:35

maisumakun

総合スコア145975

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nomura02

2021/02/11 03:19

さっそくのご回答、ありがとうございます。 私はVScodeを使っています。設定を確認したところ、 「UTF-8N」という文字は見当たらず、規定で、ファイルの読み取り/書き込みで使用する既定の文字セット エンコーディングという欄は「UTF-8」になっていました。 やってみたことに、追記させて頂きました。 私が見ている画面が、何かおかしいでしょうか?
maisumakun

2021/02/11 03:46

VSCodeの「UTF-8」はBOMなしです(別に「UTF-8 with BOM」があります)。 画面の下の方にもファイルのエンコードが出ますので、そちらも「UTF-8」であればBOMはありません。
nomura02

2021/02/11 04:03

ありがとうございます。追記させていただきました。 はい、「UTF-8 with BOM」は確認出来ました。それには、設定されておりませんでした。 別の問題のようです・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問