پاسخ های ارسال شده در انجمن

در حال نمایش 15 پاسخ ( از کل 98)
  • مدیر Farhad Sakhaei

    (@farhad0)

    درود،

    ممکنه تنظیمات بلوک های ووکامرس تغییر کرده یا جابجا شده یا بسته شده اند.

    اگر اینچنین نبود، ابتدا تمام افزونه های خود را موقتا غیر فعال کنید و با استفاده از یکی از پوسته های پیشفرض وردپرس تست کنید، و کم کم ایراد رو پیدا کنید.

    محتوای فایل wp-config.php رو بررسی کنید ببینید سرور database روی localhost تنظیم شده است یا خیر

    درود،

    قبل از هر چیز نسخه پشتیبان تهیه کنید.

    برای حل بروزرسانی وردپرس می توانید بسته وردپرس را دانلود نمایید و کل بسته را بر روی فایل های فعلی 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 WordPress

    3. پایین بودن محدودیت منابع (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 64M

    4. خطای ناقص بودن آپلود یا خراب بودن فایل 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 استفاده می‌کنی، پیش میاد و دلایل خاص خودش رو داره. چون مرورگرها به طور پیش‌فرض برای متن‌های چپ به راست (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; }

    درود،

    برای حل مشکل ممکنه بتونید از 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 بگیرید، می‌توانیم روش‌هایی برای استخراج داده‌ها هم معرفی کنیم.

    مدیر Farhad Sakhaei

    (@farhad0)

    درود،
    برای این مورد باید افزونه Polylang خودش رو با ویرایشگر جدید سازگار کنه، اگر در قسمت پشتیبانیش مطرح کنید شاید این مورد رو برطرف کنن

    مدیر Farhad Sakhaei

    (@farhad0)

    انجمن: مشکلات عمومی
    در پاسخ به: باگ سئو وردپرسی
    مدیر Farhad Sakhaei

    (@farhad0)

    مشکلی که به آن اشاره کردید، یعنی Duplicate Title در صفحات دسته‌بندی، در وردپرس (و به‌طور کلی در سیستم‌های مدیریت محتوا) نسبتاً رایج است. اما از آنجایی که در تگ Canonical آدرس دسته‌بندی کامل (یعنی فرهنگ-و-هنر/فیلم-سریال/) قرار گرفته، در بیشتر موارد گوگل آن را تشخیص داده و مشکل خاصی ایجاد نمی‌شود. با این حال، برای بهینه‌سازی سئو، چند پیشنهاد دارم:

    🔹 ۱. تغییر عنوان (Title) برای صفحات دسته‌بندی

    می‌توانید از طریق افزونه Yoast SEO یا Rank Math یک قالب سفارشی برای عنوان‌ها تنظیم کنید. مثلاً:

    • برای دسته‌بندی فرهنگ و هنر > فیلم و سریال عنوانی مثل:
      فیلم و سریال | فرهنگ و هنر | مجله دیجی‌کالا
    • برای دسته‌بندی فقط فیلم و سریال عنوانی مثل:
      فیلم و سریال | مجله دیجی‌کالا

    نحوه انجام در Yoast SEO:

    1. به SEO > Search Appearance > Taxonomies بروید.
    2. در قسمت Category Title مقدار را تغییر دهید و مثلاً از متغیرهای
      %%term_title%% | %%category%% | %%sitename%% استفاده کنید.

    نحوه انجام در Rank Math:

    1. به Titles & Meta > Categories بروید.
    2. مقدار 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 اصلاح شده است.
در حال نمایش 15 پاسخ ( از کل 98)