اگر برای ساخت نقشه سایت (sitemap) در سایت وردپرسی خود از پلاگین هایی مثل یوست (Yoast) استفاده می کنید، ممکن است در مواردی موقع رجوع به مسیر نقشه سایت (/sitemap_index.xml) با خطای زیر روبرو بشوید:

This page contains the following errors:
error on line 2 at column 6: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.
خود متن خطا به وضوح می گوید که XML به جای خط اول، از خط دوم شروع شده و به عبارتی یک خط خالی قبل از آغاز تگ xml سایت قرار گرفته. اگر با کلیدهای Ctrl + U سورس کُد نقشه سایت را بررسی کنیم، به روشنی می توانیم مشکل را ببنیم:

در نتیجه برای حل مشکل باید از شر این فاصله خالی خلاص شد. اما چطور؟
شایعترین دلیل بروز این مشکل، وجود یک خط خالی قبل از تگ آغازین <?php یا بعد از تگ پایانی <? است. در نتیجه باید ابتدا این دو فایل را بررسی و فضای خالی را در صورت وجود پاک کنیم. برای مثال:

اگر مشکلی در دو فایل بالا نباشد، مساله می تواند از جانب یکی از پلاگین ها باشد. در این حالت به اجبار باید تمام پلاگین ها را به غیر از پلاگین سئو غیرفعال و یک به یک فعال کرد تا بالاخره به سرمنشا مشکل رسید. منتها این روش خیلی زمانبر و نامطلوب هست و بنابراین توصیه نمی شود.
ساده ترین روش برای حل فوری مساله این هست که از طریق کنترل پنل (دایرکت ادمین) یک فایل php به نام مثلا fix_sitemap.php در مسیر روت سایت (public_html) ایجاد کنیم و کد زیر را در آن قرار بدهیم:

و حالا با ویرایش فایل index.php وردپرس و با افزودن خط زیر درست بعد از تگ <?php، فایلی را که در مرحله قبل ایجاد کردیم فراخوانی کنیم؛ به این صورت:
include('fix_sitemap.php');

با انجام این روش خطای سایت مپ رفع می شود.

وندا نوژن