Farhad Sakhaei
پاسخ های ارسال شده در انجمن
-
انجمن: مشکلات افزونهها
در پاسخ به: حذف شدن تنظیمات مختلف ئر بخش ویرایش محصولدرود،
ممکنه تنظیمات بلوک های ووکامرس تغییر کرده یا جابجا شده یا بسته شده اند.
اگر اینچنین نبود، ابتدا تمام افزونه های خود را موقتا غیر فعال کنید و با استفاده از یکی از پوسته های پیشفرض وردپرس تست کنید، و کم کم ایراد رو پیدا کنید.
انجمن: مشکلات افزونهها
در پاسخ به: خطا: بررسی نمایید که افزودنی php mysqli نصب است.محتوای فایل wp-config.php رو بررسی کنید ببینید سرور database روی localhost تنظیم شده است یا خیر
انجمن: مشکلات افزونهها
در پاسخ به: خطا: بررسی نمایید که افزودنی php mysqli نصب است.درود،
قبل از هر چیز نسخه پشتیبان تهیه کنید.
برای حل بروزرسانی وردپرس می توانید بسته وردپرس را دانلود نمایید و کل بسته را بر روی فایل های فعلی overwrite کنید، این کار هیچ مشکلی برای وردپرس شما ایجاد نمیکند و باعث بروزرسانی کل وردپرس شما به نسخه آخر میشود.
انجمن: مشکلات افزونهها
در پاسخ به: ارسال نشدن یک پیامکدرود،
این مورد رو باید با پشتیبانی افزونه های مربوطه مطرح کنید.انجمن: نصب وردپرس
در پاسخ به: خطای آپلود فایل وردپرسدرود،
خطای 500 Internal Server Error هنگام آپلود فایل وردپرس در هاست معمولاً به دلایل زیر رخ میده: ✅ مهمترین دلایل خطای 500 هنگام آپلود وردپرس و راهحلها: 1. سطح دسترسی (Permissions) اشتباه فایلها
- بررسی کنید که فایلهای وردپرس و پوشهها دارای سطح دسترسی صحیح باشند:
- پوشهها:
755
- فایلها:
644
- پوشهها:
- با استفاده از File Manager یا FTP میتونید سطح دسترسی رو تغییر بدید.
2. وجود فایل
.htaccess
خراب- اگر فایل
.htaccess
وجود دارد، موقتاً نام آن را به.htaccess_backup
تغییر دهید و مجدد تست کنید. - یا یک فایل
.htaccess
جدید با محتوای اولیه وردپرس ایجاد کنید:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress3. پایین بودن محدودیت منابع (memory_limit، upload_max_filesize، post_max_size)
- در فایل
php.ini
یا.htaccess
یاwp-config.php
میتونید این مقادیر رو افزایش بدید:
// در wp-config.php
define('WP_MEMORY_LIMIT', '256M');// در php.ini
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M// در .htaccess
php_value memory_limit 256M
php_value upload_max_filesize 64M
php_value post_max_size 64M4. خطای ناقص بودن آپلود یا خراب بودن فایل ZIP وردپرس
- مطمئن شوید فایل ZIP وردپرس به درستی دانلود شده و هنگام آپلود مشکلی در ارتباط یا قطع و وصل اینترنت رخ نداده.
5. ماژولهای PHP یا تنظیمات ناسازگار سرور
- اگر از کنترل پنل CPanel استفاده میکنید، وارد “Select PHP Version” یا “MultiPHP Manager” بشید و نسخه PHP را روی 8.0 یا 8.1 تنظیم کنید.
- همچنین مطمئن شوید که ماژولهایی مثل
zip
,mbstring
,curl
,json
,xml
فعال باشند.
اگر موارد بالا را بررسی کردید و مشکل ادامه داشت:
- لاگ خطاهای سرور را در مسیر
public_html/error_log
یا از طریق گزینه “Errors” در CPanel بررسی کنید.
انجمن: مشکلات عمومی
در پاسخ به: فاصله اضافی بین کلمات پس از جاستیفای justifyدرود،
مشکلی که گفتی خیلی وقتها توی متون فارسی، مخصوصاً وقتی Justify استفاده میکنی، پیش میاد و دلایل خاص خودش رو داره. چون مرورگرها به طور پیشفرض برای متنهای چپ به راست (LTR) بهینه شدن و برای متون راست به چپ (RTL) مثل فارسی، Justify همیشه نتیجه خوبی نمیده.
✍️ چرا فاصلههای عجیب میافته؟
مرورگرها موقع Justify کردن، فاصله بین کلمات رو زیاد میکنن تا خط کاملاً پر بشه. ولی توی متون فارسی بهخاطر:
- استفاده از فونت نامناسب
- شکست اشتباه کلمات فارسی
- وجود نویسههای نامرئی یا space نامناسب (مثل U+200C)
این مشکل تشدید میشه.
✅ راهحل
1. استفاده از فونت بهینه برای فارسی
فونت مناسب خیلی تاثیر داره. فونتهایی مثل:
- IRANSans (یا نسخههای رایگان مثل Vazir)
- Vazirmatn
- Tanha
- Sahel
- Shabnam
👈 با فونتهای انگلیسی مثل Arial یا Tahoma معمولاً مشکل بیشتر میشه.
2. استفاده از
text-align: justify
باtext-justify: inter-word
text { text-align: justify; text-justify: inter-word; }
inter-word
باعث میشه فقط بین کلمات فاصله داده بشه نه بین حروف. (در برخی مرورگرها بهتر جواب میده)3. جلوگیری از جدا شدن حروف یا کلمات خاص
اگر بعضی حروف یا کلمات در فارسی از هم جدا میشن، باید از نیمفاصله (Zero-Width Non-Joiner) استفاده کنی:
- بجای Space از
U+200C
استفاده کن
مثلاً بهجایمی رود
بنویسمیرود
در HTML:
میرود
4. استفاده از hyphenation (تجربهای)
در بعضی حالتها میتونی از این استفاده کنی (در برخی مرورگرها کار میکنه):
.text { hyphens: auto; -webkit-hyphens: auto; direction: rtl; text-align: justify; }
اگر با Elementor کار میکنی…
در Elementor بخش استایل متن، بجای فقط
justify
حتماً کلاس اختصاصی بده و در CSS شخصی این موارد رو تست کن:.justify-fix { text-align: justify; text-justify: inter-word; direction: rtl; font-family: "Vazirmatn", sans-serif; line-height: 2; word-spacing: normal; letter-spacing: normal; }
انجمن: مشکلات عمومی
در پاسخ به: عدم توانایی در دسترسی به WordPress.orgدرود،
برای حل مشکل ممکنه بتونید از DNS خارجی استفاده کنید:برخی مواقع DNS سرورهای داخلی به خوبی دامنههای خارجی رو resolve نمیکنن.
پیشنهاد:در فایل
/etc/resolv.conf
(برای لینوکس سرور) DNS رو به گوگل تغییر بدید:nameserver 8.8.8.8
nameserver 8.8.4.4
اگر دسترسی ندارید، از هاستینگ بخواید این کار رو انجام بده.
استفاده از Mirror (آینههای محلی)در حال حاضر آینه رسمی برای وردپرس در ایران نداریم، ولی اگر از پشتیبان بپرسید شاید بتونن یک route مخصوص فقط برای
*.wordpress.org
بزنن یا به سرورهای خارجی route کنن.
راهحل جایگزین سادهتر (پیشنهادی):چون شما گفتید افزونهها و قالبها رو دستی آپدیت میکنید، میتونید از این ابزار استفاده کنید:
- Easy Theme and Plugin Upgrades
این افزونه به شما کمک میکنه که از داخل پنل وردپرس، فایل zip افزونه یا قالب رو آپلود کنید و به صورت هوشمند اون رو آپدیت کنه (بدون پاک شدن تنظیمات).
انجمن: مشکلات عمومی
در پاسخ به: وارد نشدن به سایتدرود،
میتونید بسته وردپرس رو دوباره دانلود و آپلود نمایید (تمام فایل ها رو رونویسی کنید) تا فایل های سیستمی وردپرس با فایل های اصلی جایگزین شوند.
ممکنه مشکلتون حل بشه
انجمن: مشکلات عمومی
در پاسخ به: یک خطای غیرمنتظره رخ داد.انجمن: مشکلات افزونهها
در پاسخ به: موقعیت جغرافیاییموضوع به تالار مشکلات افزونه ها منتقل شد.
انجمن: مشکلات افزونهها
در پاسخ به: نمایش پیغام خطای فارسی برای موجودی محصولدرود،
ممکنه به دلیل استفاده از ووکامرس فارسی باشه
افزونه ووکامرس فارسی رو غیر فعال کنید و همه چیز رو بروزرسانی کنید ببینید درست میشه ؟انجمن: مشکلات عمومی
در پاسخ به: ایجاد کوئریدرود
بله، در وردپرس میتوانید لاگهای مربوط به کوئریها و تراکنشها را ثبت کنید و برای سازمان نظارت ارائه دهید. چند روش برای انجام این کار وجود دارد:۱. استفاده از افزونههای ثبت لاگ در وردپرس
افزونههایی مانند WP Activity Log، Query Monitor و WP Log Viewer میتوانند کوئریهای پایگاه داده و تغییرات را ثبت کنند. برخی از این افزونهها امکان خروجی گرفتن از لاگها را هم دارند.
۲. فعالسازی لاگهای وردپرس
میتوانید قابلیت WP_DEBUG_LOG را فعال کنید تا لاگهای وردپرس در فایل
wp-content/debug.log
ثبت شوند. برای این کار، خط زیر را بهwp-config.php
اضافه کنید:define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); @ini_set('log_errors', 1);
این کار باعث میشود خطاها و کوئریهای ثبتشده را در یک فایل مشاهده کنید.
۳. مانیتورینگ مستقیم کوئریها با MySQL
اگر به سطح پیشرفتهتری نیاز دارید، میتوانید با استفاده از MySQL Logging کوئریهای اجرا شده را ذخیره کنید:
SET GLOBAL general_log = 'ON'; SET GLOBAL log_output = 'TABLE';
و سپس با دستور زیر لاگها را مشاهده کنید:
SELECT * FROM mysql.general_log;
۴. ثبت دستی کوئریها در لاگ
اگر نیاز دارید که فقط کوئریهای خاصی ثبت شوند، میتوانید از فیلتر
query
در وردپرس استفاده کنید:add_filter('query', function($query) { error_log($query); return $query; });
این کد همه کوئریها را در
error_log
ثبت میکند.اگر نیاز دارید کوئریها را با جزئیات دقیق به سازمان نظارت ارائه دهید، بهترین روش استفاده از Query Monitor یا فعالسازی MySQL Logging است. اگر خواستید خروجی را به صورت CSV یا JSON بگیرید، میتوانیم روشهایی برای استخراج دادهها هم معرفی کنیم.
انجمن: مشکلات عمومی
در پاسخ به: مشکل گوتنبرگ با polylangدرود،
برای این مورد باید افزونه Polylang خودش رو با ویرایشگر جدید سازگار کنه، اگر در قسمت پشتیبانیش مطرح کنید شاید این مورد رو برطرف کننانجمن: مشکلات عمومی
در پاسخ به: یک خطای مهم در وب سایتدرود،
لطفا این مطلب را مشاهده نمایید:
https://fa.wordpress.org/support/topic/%d8%ae%d8%b7%d8%a7%db%8c-%d9%85%d9%87%d9%85-%d8%af%d8%b1-%d9%88%d8%a8-%d8%b3%d8%a7%db%8c%d8%aa/انجمن: مشکلات عمومی
در پاسخ به: باگ سئو وردپرسیمشکلی که به آن اشاره کردید، یعنی Duplicate Title در صفحات دستهبندی، در وردپرس (و بهطور کلی در سیستمهای مدیریت محتوا) نسبتاً رایج است. اما از آنجایی که در تگ Canonical آدرس دستهبندی کامل (یعنی
فرهنگ-و-هنر/فیلم-سریال/
) قرار گرفته، در بیشتر موارد گوگل آن را تشخیص داده و مشکل خاصی ایجاد نمیشود. با این حال، برای بهینهسازی سئو، چند پیشنهاد دارم:🔹 ۱. تغییر عنوان (Title) برای صفحات دستهبندی
میتوانید از طریق افزونه Yoast SEO یا Rank Math یک قالب سفارشی برای عنوانها تنظیم کنید. مثلاً:
- برای دستهبندی فرهنگ و هنر > فیلم و سریال عنوانی مثل:
فیلم و سریال | فرهنگ و هنر | مجله دیجیکالا
- برای دستهبندی فقط فیلم و سریال عنوانی مثل:
فیلم و سریال | مجله دیجیکالا
نحوه انجام در Yoast SEO:
- به SEO > Search Appearance > Taxonomies بروید.
- در قسمت Category Title مقدار را تغییر دهید و مثلاً از متغیرهای
%%term_title%% | %%category%% | %%sitename%%
استفاده کنید.
نحوه انجام در Rank Math:
- به Titles & Meta > Categories بروید.
- مقدار Title Format را تغییر دهید.
🔹 ۲. تنظیم توضیحات متا (Meta Description) متفاوت
بهتر است که توضیحات متا (Meta Description) در این دو صفحه متفاوت باشد تا گوگل تشخیص بهتری داشته باشد. 🔹 ۳. بررسی Indexability صفحات در سرچ کنسول
در Google Search Console قسمت Coverage را بررسی کنید تا مطمئن شوید گوگل canonical را در نظر گرفته و صفحهی اشتباه ایندکس نشده است.
🔹۴. استفاده از Redirect 301 (اگر نیاز نیست دو صفحه باشند)
اگر از نظر تجربه کاربری و سئو منطقی باشد که فقط یکی از این دو صفحه باقی بماند، میتوانید آدرس
category/فیلم-سریال/
را بهcategory/فرهنگ-و-هنر/فیلم-سریال/
ریدایرکت 301 کنید.یا اگر از Rank Math یا Yoast SEO Premium استفاده میکنید، از بخش Redirects این کار را انجام دهید.
🔸 راهحل پیشنهادی: ابتدا Title و Meta را اصلاح کنید، و اگر باز هم مشکل سئو داشتید، صفحهی کوتاهتر را ریدایرکت کنید.
- این پاسخ 5 ماه پیش توسط Farhad Sakhaei اصلاح شده است.
- بررسی کنید که فایلهای وردپرس و پوشهها دارای سطح دسترسی صحیح باشند: