خطاهای RSS وردپرس؛ آموزش شناسایی و رفع مشکل فید سایت
اگر فید RSS وردپرس باز نمیشود، بهروزرسانی نمیشود یا خطای XML نشان میدهد، این راهنما را مرحلهبهمرحله انجام دهید. علت خطا معمولاً در آدرس فید، پیوندهای یکتا، خروجی اضافی PHP، افزونهها، قالب، کش یا تنظیمات سرور است.
- فید RSS وردپرس چیست؟
- مرحله اول: آدرس صحیح فید وردپرس را پیدا کنید
- مرحله دوم: متن واقعی خطا را بررسی کنید
- مرحله سوم: فید را با W3C Feed Validator بررسی کنید
- رفع خطای XML declaration در فید وردپرس
- کارهایی که باید انجام دهید
- رفع کاراکترهای غیرمجاز و خطای Encoding در RSS
- رفع خطای 404 فید وردپرس با تنظیم پیوندهای یکتا
- رفع خطای 403 و مسدودشدن درخواست فید
- رفع بهروزرسانینشدن فید RSS
- رفع مشکل افزونه یا قالب در فید وردپرس
- بررسی تنظیمات PHP و سرور
- چگونه فید RSS را بعد از اصلاح تست کنیم؟
- سؤالات متداول خطاهای RSS وردپرس
- چرا فید وردپرس صفحه سفید نشان میدهد؟
- چرا فید در مرورگر باز میشود اما در فیدخوان خطا دارد؟
- آیا پاککردن کش مشکل RSS را حل میکند؟
- چرا فقط بعضی نوشتهها در RSS دیده میشوند؟
- جمعبندی رفع خطاهای RSS وردپرس
فید RSS وردپرس چیست؟
RSS نسخهای XML از مطالب سایت است که فیدخوانها، خبرخوانها و سرویسهای انتشار محتوا آن را میخوانند. فید باید بهجای صفحه HTML معمولی، XML معتبر و قابلپردازش برگرداند.
مرحله اول: آدرس صحیح فید وردپرس را پیدا کنید
- آدرس اصلی سایت را باز کنید.
- برای فید نوشتهها، مسیر
/feed/را به انتهای دامنه اضافه کنید. - برای فید یک دسته، مسیر
/category/category-name/feed/را امتحان کنید. - برای فید یک برچسب، مسیر
/tag/tag-name/feed/را باز کنید.
نمونه:
https://example.com/feed/
اگر آدرس فید به صفحه اصلی، صفحه 404 یا یک صفحه ورود منتقل شد، مشکل قبل از بررسی XML باید در مسیر و Rewrite سایت بررسی شود.
مرحله دوم: متن واقعی خطا را بررسی کنید
فید را در مرورگر باز کنید و متن خطا را یادداشت کنید. پیامهایی مانند XML Parsing Error، XML declaration allowed only at the start، 404، 403 یا فید بهروزرسانی نمیشود علتهای متفاوتی دارند.
| خطا | علت محتمل |
|---|---|
| 404 Not Found | مسیر فید یا قوانین پیوند یکتا مشکل دارد. |
| 403 Forbidden | فایروال، افزونه امنیتی یا CDN درخواست فید را مسدود کرده است. |
| XML declaration error | قبل از خروجی XML فاصله، BOM، Warning یا خروجی PHP وجود دارد. |
| Undefined entity | کاراکتر یا موجودیت XML بهدرستی Escape نشده است. |
| فید قدیمی است | کش وردپرس، افزونه، CDN یا فیدخوان نسخه قدیمی را نگه داشته است. |
مرحله سوم: فید را با W3C Feed Validator بررسی کنید
- به W3C Feed Validation Service بروید.
- آدرس کامل فید را وارد کنید.
- روی Validate کلیک کنید.
- اولین خطای نمایشدادهشده را اصلاح کنید و دوباره تست بگیرید.
W3C Feed Validator برای RSS و Atom خطاهای XML، تاریخ، URL، namespace و ساختار فید را گزارش میکند. معمولاً اصلاح اولین خطا باعث میشود خطاهای بعدی نیز بهتر مشخص شوند.
رفع خطای XML declaration در فید وردپرس
اعلامیه XML باید از ابتدای پاسخ شروع شود. وجود فاصله یا خط خالی قبل از آن میتواند باعث خطای XML declaration allowed only at the start of the document شود.
کارهایی که باید انجام دهید
- فایلهای PHP قالب و افزونههای تازهتغییریافته را بررسی کنید.
- قبل از تگ
<?phpفاصله یا BOM وجود نداشته باشد. - بعد از تگ پایان
?>خروجی یا خط خالی اضافه را حذف کنید. - خطاهای PHP را در محیط تولید روی صفحه نمایش ندهید.
- فید را دوباره با Validator بررسی کنید.
هشدار PHP، Notice، Warning و خروجی تصادفی قبل از XML میتواند کل فید را نامعتبر کند.
رفع کاراکترهای غیرمجاز و خطای Encoding در RSS
فید را با UTF-8 ذخیره کنید و کاراکترهای خاص را در XML بهدرستی Escape کنید. در متن HTML، علامتهایی مانند &، < و > باید به شکل معتبر در XML قرار بگیرند.
- فایلهای قالب را با UTF-8 و بدون BOM ذخیره کنید.
- از کپیکردن متن دارای کاراکترهای کنترل پنهان خودداری کنید.
- عنوان و توضیحات نوشتهها را از نظر کاراکترهای نامعتبر بررسی کنید.
- در صورت وجود محتوای خراب، نوشته مشکوک را موقتاً ویرایش و تست کنید.
رفع خطای 404 فید وردپرس با تنظیم پیوندهای یکتا
- وارد پیشخوان وردپرس شوید.
- به مسیر تنظیمات ← پیوندهای یکتا بروید.
- بدون تغییر ساختار، روی ذخیره تغییرات کلیک کنید.
- آدرس
/feed/را دوباره باز کنید.
این کار قوانین Rewrite را بازسازی میکند. اگر مشکل باقی ماند، فایل .htaccess، تنظیمات Nginx یا قوانین OpenLiteSpeed را بررسی کنید.
رفع خطای 403 و مسدودشدن درخواست فید
خطای 403 معمولاً از افزونه امنیتی، WAF، Rate Limit، Cloudflare یا تنظیمات سرور ایجاد میشود.
- بهصورت موقت لاگ افزونه امنیتی را بررسی کنید.
- بررسی کنید مسیر
/feed/در قوانین مسدودسازی قرار نگرفته باشد. - برای فیدخوانهای معتبر، User-Agent را بیدلیل مسدود نکنید.
- قوانین Bot Fight، Rate Limit و Firewall را بررسی کنید.
- پس از اصلاح، فید را از یک اینترنت دیگر تست کنید.
مسیر فید را عمومی نگه دارید، اما مسیرهای مدیریت، ورود و APIهای حساس را بدون دلیل عمومی یا قابلکش نکنید.
رفع بهروزرسانینشدن فید RSS
- تاریخ انتشار نوشته جدید را بررسی کنید.
- کش افزونههای WordPress، LiteSpeed Cache یا سایر افزونههای کش را پاک کنید.
- کش CDN را برای URL فید پاک کنید.
- هدرهای
Cache-ControlوETagرا بررسی کنید. - فید را با Query String آزمایشی باز کنید و نتیجه را مقایسه کنید.
توجه کنید که فیدخوانها ممکن است فید را بلافاصله دوباره دریافت نکنند؛ بنابراین بهروزرسانی در سرویس مصرفکننده میتواند با تأخیر انجام شود.
رفع مشکل افزونه یا قالب در فید وردپرس
- از سایت و دیتابیس نسخه پشتیبان بگیرید.
- افزونههای مرتبط با SEO، RSS، تبلیغات، امنیت و کش را بررسی کنید.
- افزونهها را یکییکی غیرفعال کنید و فید را بعد از هر تغییر تست کنید.
- اگر مشکل از افزونه نبود، قالب را موقتاً به یک قالب پیشفرض تغییر دهید.
- افزونه یا قالب مشکلساز را بهروزرسانی یا با پشتیبانی آن بررسی کنید.
بررسی تنظیمات PHP و سرور
اگر فید با خطای داخلی یا پاسخ ناقص باز میشود، لاگ PHP و وبسرور را بررسی کنید. در OpenLiteSpeed، لاگ خطای Virtual Host و Error Log را نیز ببینید.
- فعالبودن PHP صحیح برای سایت.
- نبود Fatal Error یا Warning در زمان تولید فید.
- دسترسی صحیح فایلها و پوشهها.
- نبود Redirect زنجیرهای یا اشتباه.
- ارسال هدر مناسب مانند
Content-Type: application/rss+xmlیا XML معتبر.
چگونه فید RSS را بعد از اصلاح تست کنیم؟
- آدرس فید را در مرورگر باز کنید.
- باید محتوای XML معتبر ببینید، نه صفحه HTML سایت.
- فید را در W3C Validator بررسی کنید.
- یک نوشته جدید منتشر کنید.
- بعد از پاککردن کش، وجود نوشته را در فید تست کنید.
- در صورت استفاده از فیدخوان، دریافت بهروزرسانی را از همان سرویس بررسی کنید.
سؤالات متداول خطاهای RSS وردپرس
چرا فید وردپرس صفحه سفید نشان میدهد؟
اغلب یک خطای PHP، خروجی ناقص یا خطای سرور مانع تولید XML شده است. لاگ PHP و وبسرور را بررسی کنید.
چرا فید در مرورگر باز میشود اما در فیدخوان خطا دارد؟
ممکن است فید از نظر ساختار، تاریخ، URL یا namespace مشکل داشته باشد. آن را با W3C Feed Validator بررسی کنید.
آیا پاککردن کش مشکل RSS را حل میکند؟
اگر مشکل از نسخه قدیمی فید باشد، بله؛ اما کش نمیتواند خطای XML، 403 یا 404 را اصلاح کند.
چرا فقط بعضی نوشتهها در RSS دیده میشوند؟
تعداد نوشتههای فید، وضعیت انتشار، دستهبندی، تنظیمات افزونه و محدودیت فیدخوان را بررسی کنید.
جمعبندی رفع خطاهای RSS وردپرس
ابتدا آدرس درست فید را بررسی کنید، سپس متن خطا را بخوانید و فید را با W3C Validator اعتبارسنجی کنید. بعد از آن، پیوندهای یکتا، خروجی PHP، Encoding، افزونهها، قالب، کش، CDN و تنظیمات سرور را بهترتیب بررسی کنید. این روش از تغییرات تصادفی جلوگیری میکند و سریعتر به علت واقعی مشکل میرسد.