SHET17

حل مشکل عدم نمایش تغییرات در المنتور

حل مشکل عدم نمایش تغییرات در المنتور

بذار حدس بزنم. نیم ساعت وقت گذاشتی رو یه سکشن، رنگا رو چیدی، فاصله‌ها رو میلی‌متری تنظیم کردی، زدی رو «به‌روزرسانی»، صفحه رو باز کردی و… همون صفحه‌ی قدیمی. نه اروری، نه هشداری، نه هیچی. انگار اصلاً کاری نکرده بودی.

اگه این حس آشناست، خوش اومدی به جمع‌ما. همه‌مون اینجا بودیم و همه‌مون یه بار وسوسه شدیم لپ‌تاپ رو ببندیم و بریم قدم بزنیم.

ولی یه خبر خوب برات دارم: تو ۹ مورد از ۱۰ مورد، طراحیت سالمه و هیچی از بین نرفته. مشکل یه جای دیگه‌ست — یه لایه کش وسط راه وایساده و نسخه‌ی قدیمی رو تحویل مرورگر می‌ده. خبر بهترش اینه که حلش معمولاً کمتر از پنج دقیقه طول می‌کشه، البته اگه بدونی کدوم لایه رو باید پاک کنی.

پس بیا مثل دو تا همکار که کنار هم نشستن این رو با هم دیباگ کنیم. اول یاد می‌گیری چطور تو یه دقیقه بفهمی مشکل از کجاست (این مهم‌ترین بخشه و راستش اکثر آموزشا ازش می‌پرن)، بعد لایه‌به‌لایه جلو می‌ریم، آخرشم می‌ریم سراغ اون مواردی که ربطی به کش ندارن و معمولاً آدمو به مرز جنون می‌برن.

عدم نمایش تغییرات در المنتور
عدم نمایش تغییرات در المنتور؛ شایع‌ترین دردسر کاربرای المنتور

آنچه در این مقاله می‌خوانید

اگه عجله داری، این چهار تا کارو بکن

می‌دونم الان حال و حوصله‌ی مقاله خوندن نداری و فقط می‌خوای سایتت درست شه. باشه، درکت می‌کنم. این چهار تا کارو دقیقاً به همین ترتیب انجام بده. تجربه می‌گه حدود ۸۰ درصد مواقع همین‌جا کار تمومه:

  1. برو به المنتور ← ابزارها (Elementor > Tools)، بزن رو Regenerate Files & Data و ذخیره کن.
  2. کش افزونه کش سایتتو کامل خالی کن؛ هر چی که داری، WP Rocket، لایت‌اسپید، W3 Total Cache.
  3. اگه پشت CDN یا کلادفلری، کش اونم Purge کن.
  4. حالا مرورگرو با Ctrl + F5 (ویندوز) یا Shift + Command + R (مک) رفرش کن.

یه چیزیم بگم: این ترتیب الکی نیست. اتفاقاً کل ماجرا همینه. اگه مرحله‌ی چهارو اول انجام بدی، عملاً هیچ اتفاقی نمی‌افته — چون داری کش مرورگرو پاک می‌کنی که دوباره بره همون نسخه‌ی قدیمی رو از سرور بگیره. چند دقیقه‌ی دیگه دقیقاً می‌فهمی چرا.

حل شد؟ خب چه بهتر، خوشحالم. حل نشد؟ اصلاً نگران نباش، بقیه‌ی مقاله دقیقاً واسه همون ۲۰ درصده. بریم سراغ کار درست‌حسابی.

قبل از اینکه هر دکمه‌ای رو بزنی، بیا اول تشخیص بدیم

بزرگ‌ترین اشتباهی که همه‌مون می‌کنیم — منم سال‌ها همین کارو می‌کردم — اینه که بدون تشخیص می‌افتیم به جون هر کشی که سر راهمونه.

نتیجه‌ش چی می‌شه؟ یا مشکل حل می‌شه ولی نمی‌فهمی چرا، و دفعه‌ی بعد بازم همون آش و همون کاسه. یا حل نمی‌شه و کلافه می‌ری سراغ تنظیماتی که بهتر بود بهشون دست نمی‌زدی.

پس بیا اول مقصرو پیدا کنیم. سه تا تست ساده، رو هم کمتر از یه دقیقه.

تست اول: صفحه رو تو حالت ناشناس باز کن

یه پنجره‌ی Incognito باز کن و آدرس صفحه رو بزن. دو تا حالت بیشتر نداره:

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

یه نکته‌ی ظریفم اینجا هست که خیلیا رو گیر می‌ندازه. وقتی به‌عنوان مدیر لاگینی، اکثر افزونه‌های کش صفحه‌ی کش‌شده رو بهت نشون نمی‌دن. یعنی ممکنه تو همه‌چیزو درست ببینی و بازدیدکننده‌ها هنوز نسخه‌ی قدیمی رو ببینن.

پس اگه مشتری زنگ زد و گفت «هیچی عوض نشده» و تو داری با چشم خودت می‌بینی که عوض شده، نترس، دیوونه نشدی. تقریباً صددرصد پای کش صفحه وسطه.

تست دوم: یه ترفند کوچیک که خیلی دوستش دارم

این یکی هم سریعه هم قطعی. آخر آدرس صفحه یه پارامتر بی‌معنی اضافه کن:

https://example.com/my-page/?nocache=1

چرا کار می‌کنه؟ چون اکثر سیستمای کش، آدرسایی که پارامتر دارن رو یه صفحه‌ی جدا حساب می‌کنن و معمولاً کش نمی‌کنن.

پس اگه با این آدرس تغییراتو دیدی، دیگه جای بحث نیست: صددرصد پای کش وسطه و فقط مونده بفهمی کدوم لایه.

و اگه با این آدرسم چیزی عوض نشد؟ خب، تازه کارت جالب شد. یعنی مقصر کش نیست و باید بری سراغ بخش «وقتی مقصر کش نیست» تو همین مقاله. اونجا کلی چیز منتظرته.

تست سوم: یه نگاه به هدرا بنداز

این یکی یه‌کم فنی‌تره ولی قول می‌دم اصلاً ترسناک نیست و ارزششو داره.

تو مرورگر F12 رو بزن، برو تب Network، صفحه رو رفرش کن، رو اولین درخواست (خود سند HTML) کلیک کن و هدرای پاسخو نگاه کن. دنبال اینا بگرد:

  • cf-cache-status: HIT ← خودشه. کلادفلر داره نسخه‌ی کش‌شده تحویل می‌ده.
  • x-litespeed-cache: hit ← کش سرور لایت‌اسپید فعاله و داره از کش جواب می‌ده.
  • x-cache: HIT یا age: 3600 ← یه لایه کش میانی وسط کاره؛ وارنیش، پروکسی، CDN.
  • راستی آخر سورس صفحه رو هم نگاه کن. WP Rocket و WP Super Cache معمولاً همون‌جا امضای خودشونو می‌ذارن و لو می‌رن.

خب، حالا می‌دونی با چی طرفی. بریم ببینیم اصلاً چرا این اتفاق می‌افته.

چرا اصلاً این اتفاق می‌افته؟ داستان چهار تا لایه کش

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

ببین، رو یه سایت وردپرسی که با المنتور ساخته شده، تغییری که تو ادیتور می‌دی باید از چهار تا لایه رد شه تا به چشم بازدیدکننده برسه. و هر کدوم از این چهار تا می‌تونن نسخه‌ی قدیمی رو نگه دارن و بگن «نه، من همینی که دارمو می‌دم»:

  1. کش خود المنتور. المنتور استایلای هر صفحه رو به شکل فایل CSS رو سرور ذخیره می‌کنه، تو مسیر wp-content/uploads/elementor/css. این باعث می‌شه صفحه سریع باز شه، ولی اگه این فایلا از نو ساخته نشن، طراحی جدیدت هیچ‌وقت به مرورگر نمی‌رسه.
  2. کش افزونه. افزونه‌هایی مثل WP Rocket یا لایت‌اسپید کل HTML صفحه رو ذخیره می‌کنن و همونو تحویل می‌دن، بدون اینکه اصلاً وردپرس اجرا شه.
  3. کش سرور و CDN. لایت‌اسپید سرور، وارنیش، انجین‌ایکس، کلادفلر، ابرآروان، کش خود هاست. این لایه از همه بی‌سروصداتره و بیشتر آدما اصلاً خبر ندارن وجود داره.
  4. کش مرورگر. همون نسخه‌ای که رو کامپیوتر خودت یا کاربر ذخیره شده.

حالا می‌فهمی چرا ترتیب انقدر مهمه؟ این چهار تا رو مثل چهار تا فیلتر پشت سر هم تصور کن. اگه لایه‌ی سوم هنوز نسخه‌ی قدیمی رو نگه داشته باشه، هرچقدرم لایه‌ی چهارمو پاک کنی، دوباره می‌ری همون نسخه‌ی قدیمی رو از CDN می‌گیری.

واسه همینه که همیشه از بالا به پایین پاک می‌کنیم. و بین خودمون بمونه، اکثرمون فقط لایه‌ی اول یا فقط لایه‌ی آخرو پاک می‌کنیم و بعد تعجب می‌کنیم چرا درست نشد. منم یه زمانی دقیقاً همین‌جوری بودم.

لایه ۱: کش خود المنتور (اینو جدی بگیر)

این قدمو واقعاً جدی بگیر، چون تنها قدمیه که مخصوص خود المنتوره. اگه اینو انجام ندی، پاک کردن بقیه‌ی کشا تقریباً به هیچ دردت نمی‌خوره.

ماجرا از این قراره: هر چیزی که تو المنتور تنظیم می‌کنی — رنگ ویجت، تایپوگرافی، پدینگ، افکت، رنگای سراسری — تبدیل به CSS می‌شه و به شکل فایل رو سرور می‌شینه. این‌جوری مرورگر لازم نیست هر بار همه‌چیزو از نو بسازه و صفحه سریع‌تر باز می‌شه. تا اینجاش که همه‌چی گل و بلبله.

ولی همین سرعت یه هزینه داره. گاهی این فایلا بعد از تغییرات تو از نو ساخته نمی‌شن. نتیجه؟ محتوای جدیدت تو دیتابیس هست، ولی استایلی که باید نشونش بده هنوز قدیمیه. واسه همینه که گاهی می‌بینی متن عوض شده ولی ظاهرش به هم ریخته، یا اصلاً هیچ اتفاقی نیفتاده.

بیا فایلای CSS رو از نو بسازیم

  1. وارد پیشخوان وردپرس شو.
  2. از منوی سمت راست برو به Elementor ← Tools.
  3. تو تب General بخش Regenerate CSS & Data رو پیدا کن.
  4. بزن رو Regenerate Files & Data و صبر کن تا تیک سبز بیاد.
  5. حالا Save Changes رو بزن. اینو رد نکن! خیلیا فقط دکمه رو می‌زنن و ذخیره یادشون می‌ره، بعد تعجب می‌کنن چرا جواب نداد.

راستی اگه نسخه‌ی المنتورت قدیمی‌تره، شاید اسم این دکمه Clear Files & Data یا Regenerate CSS باشه. فرقی نمی‌کنه، کار هر سه‌تاشون یکیه.

تو همون صفحه یه دکمه‌ی دیگه‌م هست به اسم Sync Library. اگه دردسرت با قالبای آماده و کتابخونه‌ی تمپلیته — مثلاً لود نمی‌شن یا تصاویرشون خالیه — اینم بزن.

دکمه رو زدی و بازم هیچی نشد؟

یه سناریو هست که کمتر جایی راجع‌بهش حرف می‌زنن و اتفاقاً کمم پیش نمیاد: المنتور می‌خواد فایل CSS بنویسه، ولی سرور اجازه نمی‌ده. اون‌وقت هرچقدرم Regenerate بزنی، فایل جدیدی ساخته نمی‌شه و تو داری الکی تلاش می‌کنی.

واسه اینکه بفهمی، برو به Elementor ← System Info و ببین Write Permissions رو All right هست یا نه. اگه ارور داد، اینا رو چک کن:

  • سطح دسترسی پوشه‌ی wp-content/uploads و زیرپوشه‌ی elementor/css که معمولاً باید ۷۵۵ باشه.
  • فضای دیسک هاست پر نشده باشه. باور کن این خیلی بیشتر از چیزی که فکر می‌کنی پیش میاد، مخصوصاً رو هاستای اشتراکی.
  • اگه سایتت پشت لود بالانسره، ممکنه فایل رو یه سرور ساخته شه و سرور دیگه اصلاً نداشته باشدش.

یه ترفند تشخیصی خوب

اگه مشکل مدام تکرار می‌شه، می‌تونی موقتاً به المنتور بگی به‌جای فایل، استایلا رو مستقیم تو خود صفحه چاپ کنه. برو به Elementor ← Settings ← Advanced و گزینه‌ی CSS Print Method رو از External File بذار رو Internal Embedding.

راستش این کار یه‌کم سرعت سایتو میاره پایین و واسه همیشه توصیه‌ش نمی‌کنم. ولی به‌عنوان ابزار تشخیص عالیه: اگه با این تنظیم تغییرات ظاهر شدن، فهمیدی گیر کار دقیقاً تو نوشتن فایلای CSS بوده و می‌تونی بری سراغ ریشه‌ش.

لایه ۲: کش افزونه‌ها

خب، حالا نوبت اون لایه‌ایه که کل HTML صفحه رو ذخیره کرده. نکته اینجاست که ساختن دوباره‌ی CSS المنتور اصلاً به این لایه دست نمی‌زنه، پس باید جدا سراغش بری.

یه توصیه قبل از شروع: بعد از تغییرات طراحی، کل کشو پاک کن، نه فقط کش یه صفحه رو. چون استایلای سراسری المنتور (رنگای Global، تایپوگرافی، هدر و فوتر) رو همه‌ی صفحات اثر می‌ذارن و اگه فقط یکی رو پاک کنی، بقیه هنوز قدیمی می‌مونن.

وردپرس راکت (WP Rocket)

تو WP Rocket راحت‌ترین راه همون نوار بالای صفحه‌ست:

  • از نوار ابزار بالای پیشخوان بزن رو WP Rocket و Clear cache رو انتخاب کن.
  • یا برو به تنظیمات ← WP Rocket ← Dashboard و Clear and preload cache رو بزن. این یکی رو بیشتر دوست دارم، چون بعد از پاک کردن دوباره کشو از نو می‌سازه و بازدیدکننده‌هات با صفحه‌ی کند روبه‌رو نمی‌شن.
  • اگه فایلای CSS و JS رو ترکیب کردی، یه سرم به تب File Optimization بزن؛ گاهی فایلای Minify شده جدا کش می‌شن.

یه تنظیم طلاییم بگم که حسابی به کارت میاد. تو بخش Add-ons، اگه کلادفلر داری API اونو وصل کن. بعدش هر بار که کش WP Rocket پاک شه، کش کلادفلرم خودکار پاک می‌شه. یعنی یه لایه کمتر واسه نگرانی.

لایت‌اسپید کش (LiteSpeed Cache)

واسه افزونه LiteSpeed Cache مسیر این‌جوریه:

  • از نوار ابزار بالا بزن رو آیکون LiteSpeed Cache و Purge All رو انتخاب کن.
  • یا از منوی سمت راست برو به LiteSpeed Cache ← Toolbox ← Purge و Purge All رو بزن.

حالا یه هشدار که مخصوص ما کاربرای المنتوره. تنظیمات Page Optimization این افزونه — یعنی CSS Minify، CSS Combine، JS Combine، Load CSS Asynchronously و مخصوصاً Generate UCSS — بیشتر از هر چیز دیگه‌ای تو دنیای وردپرس باعث می‌شه استایلای المنتور به هم بریزه.

مخصوصاً بذار رو UCSS دست بذارم. کار این گزینه اینه که CSSهای به‌ظاهر بلااستفاده رو دور بریزه. مشکل کجاست؟ بخشی از استایلای المنتور به‌صورت پویا اعمال می‌شن و این افزونه گاهی چیزایی رو حذف می‌کنه که واقعاً لازم بودن.

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

W3 Total Cache

تو W3 Total Cache کافیه از نوار ابزار بالا بزنی رو Performance و Purge All Caches رو انتخاب کنی. یا از Performance ← Dashboard همین کارو بکنی.

حواست باشه این افزونه چند نوع کش مجزا داره؛ Page، Minify، Object و Database. گزینه‌ی Purge All همه رو با هم پاک می‌کنه و همون چیزیه که می‌خوای. اگه بازم مشکل داشتی، بخش Minify رو موقتاً خاموش کن و دوباره تست بگیر.

WP Super Cache

تو WP Super Cache برو به تنظیمات ← WP Super Cache و بزن رو Delete Cache. همین. ساده‌ترین کار دنیا.

بقیه‌ی افزونه‌ها

اگه از اینا استفاده می‌کنی، مسیرشون اینه:

  • WP Fastest Cache: منوی افزونه ← تب Delete Cache ← گزینه‌ی Delete Cache and Minified CSS/JS.
  • Autoptimize: از نوار ابزار بالا، Delete Cache. اگه استایلای المنتور به هم ریخته، تیک Aggregate CSS files رو بردار.
  • Perfmatters و Flying Press: اینا هم بخش Purge خودشونو دارن و معمولاً از نوار ابزار در دسترسن.

اگه دوست داری این بخشو عمیق‌تر یاد بگیری، مقاله‌ی خالی کردن کش وردپرس رو ببین که اختصاصاً همینو باز کرده.

لایه ۳: کش سرور و CDN، همون لایه‌ی نامرئی

و حالا رسیدیم به اون لایه‌ای که بیشتر از همه آدمو دیوونه می‌کنه. چرا؟ چون هیچ افزونه‌ای تو وردپرس بهت نشون نمی‌ده که اصلاً وجود داره.

تو همه‌ی کشا رو پاک کردی، مطمئنی هیچ افزونه‌ی کشیم نداری، ولی سایت لج کرده و همون نسخه‌ی قدیمی رو نشون می‌ده. آشناست؟

کش سطح سرور

خیلی از هاستا بدون اینکه بهت بگن یه لایه کش رو سرور فعال کردن. رایج‌ترینا اینان:

  • LiteSpeed Server Cache: اگه سرورت لایت‌اسپیده، حتی بدون نصب افزونه‌م ممکنه کش فعال باشه.
  • Varnish: رو سرورای قوی و VPSا رایجه. پاک کردنش معمولاً دسترسی SSH یا کمک پشتیبانی می‌خواد.
  • Nginx FastCGI Cache: خیلی از هاستای ابری از این استفاده می‌کنن.
  • OPcache: این یکی فایلای PHP کامپایل‌شده رو نگه می‌داره. معمولاً کاری به نمایش نداره، ولی بعد از آپدیت افزونه‌ها گاهی شیطنت می‌کنه.

راه‌حلش خیلی ساده‌ست: به پشتیبانی هاستت پیام بده و بگو «لطفاً کش سطح سرور سایت منو پاک کنید و بگید چه نوع کشی رو سرور فعاله؟»

اون جمله‌ی دومو حتماً بپرس. این‌جوری دفعه‌ی بعد خودت می‌دونی با چی طرفی و لازم نیست دوباره یه روز منتظر جواب تیکت بمونی. راستی بعضی هاستای ایرانیم تو پنل کاربری دکمه‌ی پاک کردن کش دارن؛ یه نگاه بنداز.

کلادفلر و CDN

اگه سایتت پشت کلادفلر، ابرآروان یا هر CDN دیگه‌ایه، یه نسخه از صفحات و فایلای CSS تو رو سرورای لبه نشسته که با پاک کردن کش افزونه‌م تکون نمی‌خوره.

تو کلادفلر: وارد داشبورد شو، دامنه‌تو انتخاب کن، برو به Caching ← Configuration و بعد از یه تغییر بزرگ بزن رو Purge Everything. اگه فقط یه صفحه رو دست زدی، Custom Purge کافیه و بار کمتریم به سرورت وارد می‌کنه.

تو پنل ابرآروانم بخش مشابهی واسه پاکسازی کش هست که معمولاً زیر تنظیمات CDN دامنه پیدا می‌شه.

یه هشدار جدی درباره‌ی Rocket Loader

اینو جدا می‌نویسم چون واقعاً بارها دیدمش و هر بارم کلی وقت گرفته تا پیداش کنم.

کلادفلر یه قابلیت داره به اسم Rocket Loader که ترتیب اجرای جاوااسکریپتا رو عوض می‌کنه تا صفحه سریع‌تر رندر شه. نیت خوبی داره، ولی با المنتور بدجور دعوا می‌کنه: اسلایدرا کار نمی‌کنن، افکتای حرکتی از کار می‌افتن، منوی موبایل باز نمی‌شه و پاپ‌آپا ظاهر نمی‌شن.

پس اگه مشکل تو از جنس «بخشی از صفحه کار نمی‌کنه»‌ست نه «هیچی عوض نشده»، برو تو کلادفلر به Speed ← Optimization و Rocket Loader رو خاموش کن. گزینه‌های Auto Minify مربوط به JS رو هم موقتاً غیرفعال کن و تست بگیر.

لایه ۴: کش مرورگر

آخرین لایه و خداروشکر ساده‌ترینشون. مرورگرت واسه اینکه سایت سریع‌تر باز شه، فایلای CSS و JS رو رو کامپیوترت نگه می‌داره. اگه بقیه‌ی لایه‌ها رو پاک کردی و هنوز گیر داری، احتمالاً مرورگرت داره نسخه‌ی محلی خودشو نشونت می‌ده.

خالی کردن کش مرورگر گوگل کروم
خالی کردن کش مرورگر گوگل کروم

رفرش سخت، سریع‌ترین راه

رفرش سخت فقط کش همون صفحه رو دور می‌زنه و بقیه‌ی تنظیمات مرورگرتو دست‌نخورده می‌ذاره. یعنی لازم نیست نگران باشی که لاگینات بپره:

  • ویندوز و لینوکس:Ctrl + F5 یا Ctrl + Shift + R
  • مک:Command + Shift + R

پاک کردن کامل کش مرورگر

اگه رفرش سخت جواب نداد، برو سراغ پاکسازی کامل. کلید میانبرش تقریباً تو همه‌ی مرورگرای مدرن یکیه:

  • ویندوز و لینوکس:Ctrl + Shift + Delete
  • مک:Command + Shift + Delete

تو پنجره‌ای که باز می‌شه، حتماً Cached images and files رو تیک بزن و بازه‌ی زمانی رو بذار رو All time. اگه جزئیات بیشتر خواستی، راهنمای رسمی خالی کردن کش گوگل کروم هم هست.

ترفندی که کاش زودتر یاد گرفته بودم

اینو هر کی روزانه با المنتور کار می‌کنه باید بدونه و راستش کاش یکی زودتر بهم گفته بود.

تو مرورگر F12 رو بزن تا ابزار توسعه‌دهنده باز شه، برو تب Network و تیک Disable cache رو بزن. تا وقتی این پنجره بازه، مرورگر اصلاً هیچی رو کش نمی‌کنه.

یعنی وقتی داری رو یه صفحه کار می‌کنی، دیگه لازم نیست هر بار Ctrl+F5 بزنی و دعا کنی. یه تغییر کوچیک تو عادت کاری که واقعاً کلی از وقتتو آزاد می‌کنه.

Service Worker، اون مقصر پنهونی که کسی سراغش نمی‌ره

اگه رو سایتت افزونه‌ی PWA یا Service Worker نصبه، بدون که اینا یه لایه کش مستقل واسه خودشون می‌سازن که با پاک کردن معمولی کش مرورگرم از بین نمی‌ره. آره، یه لایه‌ی دیگه!

واسه پاکسازی: F12 ← تب Application ← بخش Service Workers ← بزن رو Unregister. بعدش از تب Storage گزینه‌ی Clear site data رو انتخاب کن.

وقتی مقصر کش نیست: ۱۲ تا احتمال دیگه

خب. هر چهار تا لایه رو پاک کردی و هنوز خبری نیست. اینجا دقیقاً همون‌جاییه که اکثر مقاله‌های فارسی تموم می‌شن و تو رو وسط راه تنها می‌ذارن.

ولی ما تنهات نمی‌ذاریم. بریم سراغ بقیه‌ی ماجرا.

متهم شماره یک این روزا: Element Caching

این یکی نسبتاً جدیده و واقعاً کلی آدمو سردرگم کرده. المنتور از نسخه‌ی ۳.۲۶ به بعد یه قابلیت اضافه کرده به اسم Element Caching که خروجی هر ویجتو جدا کش می‌کنه تا صفحه سریع‌تر لود شه.

و حالا نکته‌ی جالب ماجرا: با اینکه هنوز برچسب آزمایشی (Beta) داره، رو همه‌ی سایتا به‌صورت پیش‌فرض فعاله. یعنی حتی اگه تو عمرت سراغ تنظیمات آزمایشی نرفته باشی، این یکی روشنه.

مشکل کجاست؟ اگه ویجتایی داری که محتواشون پویاست — شورت‌کد، Dynamic Tag، محتوای وابسته به کاربر، شمارنده، فرم — این قابلیت ممکنه نسخه‌ی قدیمی رو نگه داره و هرچقدرم تلاش کنی تغییراتتو نبینی.

واسه تست: برو به Elementor ← Settings ← Features (تو نسخه‌های جدیدتر: Elementor ← Editor ← Settings ← تب Features) و Element Caching رو خاموش کن. بعد کشا رو پاک کن و دوباره نگاه کن. اگه درست شد، مقصرو گرفتی.

بقیه‌ی قابلیتای آزمایشی

تو همون صفحه چند تا گزینه‌ی دیگه‌م هستن که می‌تونن دردسر بسازن:

  • Improved CSS Loading: فقط CSS مورد نیاز هر صفحه رو لود می‌کنه. گاهی چیزی رو که لازم بوده لود نمی‌کنه.
  • Inline Font Icons: آیکونا رو به SVG درون‌خطی تبدیل می‌کنه. اگه آیکوناش غیب شدن، اول از همه اینو چک کن.
  • Optimized DOM Output: ساختار HTML خروجی رو ساده‌تر می‌کنه و ممکنه با CSS سفارشی تو دعوا کنه.
  • Optimized Gutenberg Loading و Optimized Image Loading

ولی اینجا یه هشدار بدم که ممکنه روزتو نجات بده و از یه سکته خلاصت کنه: هیچ‌وقت قابلیتای ساختاری رو خاموش نکن. منظورم Flexbox Container و Grid Containerه.

اگه صفحاتتو با کانتینر ساخته باشی و اینا رو خاموش کنی، فرانت‌اند سایتت کاملاً سفید یا داغون می‌شه. محتوا سالمه و از بین نرفته، ولی اون لحظه که سایتتو سفید ببینی، اینو باور نمی‌کنی.

پس فقط قابلیتای مربوط به عملکرد و بهینه‌سازی رو واسه تست خاموش کن، نه اونایی که به ساختار مربوطن.

اصلاً مطمئنی صفحه‌ی درستو ویرایش کردی؟

می‌دونم این سؤال چه شکلیه، ولی قسم می‌خورم یکی از رایج‌ترین دلایل همینه و هیچ ربطیم به بلد بودن یا نبودن نداره. مخصوصاً ساعت دو نصف شب که خسته‌ای و چشمات می‌سوزه. اینا رو چک کن:

  • نسخه‌ی آزمایشی: شاید داری رو استیجینگ کار می‌کنی و سایت اصلی رو نگاه می‌کنی. یه نگاه به آدرس نوار مرورگر بنداز.
  • صفحه پیش‌نویس مونده: شاید هنوز رو حالت پیش‌نویس یا در انتظار بازبینیه و اصلاً منتشر نشده.
  • سایت چندزبونه: اگه WPML یا Polylang داری، نسخه‌ی فارسی و انگلیسی دو تا پست کاملاً جدان. شاید یکی رو ویرایش کردی و اون یکی رو می‌بینی.
  • صفحه‌ی تکراری: شاید دو تا صفحه با اسم مشابه داری و نامک یکیشون با آدرس واقعی سایت می‌خوره.

راه مطمئن واسه خلاص شدن از این شک: آدرس زنده‌ی صفحه رو باز کن و از نوار مدیریت بالای صفحه Edit with Elementor رو بزن. این‌جوری صددرصد داری همون صفحه‌ای رو ویرایش می‌کنی که جلو چشمته.

شاید اصلاً تغییرات ذخیره نشدن!

یه احتمال جدی که خیلیا در نظر نمی‌گیرن: ادیتور المنتور گاهی یه‌جوری رفتار می‌کنه که انگار ذخیره شده، ولی درخواست ذخیره وسط راه شکست خورده و تو خبر نداری.

تست ساده‌ش اینه: صفحه رو ذخیره کن، از ادیتور بیا بیرون، دوباره با المنتور بازش کن. اگه تغییرات تو خود ادیتورم نبودن، پس مشکل ذخیره‌سازیه نه نمایش. رایج‌ترین دلایلش:

  • مقدار پایین max_input_vars: این متهم اصلیه و ارزش داره یه‌کم راجع‌بهش توضیح بدم. وقتی می‌زنی رو «به‌روزرسانی»، المنتور تنظیمات تک‌تک ویجتا رو به‌عنوان متغیرای جداگونه می‌فرسته. یه صفحه‌ی شلوغ راحت از هزار تا رد می‌شه. اگه این عدد کم باشه، PHP بی‌سروصدا بخشی از داده‌ها رو دور می‌ریزه — یعنی نصف تغییراتت ذخیره می‌شه و نصفش نه، بدون هیچ اروری. مقدار پیش‌فرض معمولاً ۱۰۰۰ه؛ حداقل ۳۰۰۰ و ترجیحاً ۱۰۰۰۰ بذار.
  • کمبود حافظه‌ی PHP: واسه کار راحت با المنتور حداقل ۲۵۶ مگابایت لازم داری.
  • افزونه‌های امنیتی و فایروال: Wordfence، Sucuri یا ModSecurity هاست ممکنه درخواست ذخیره‌ی المنتورو ببنده. موقتاً خاموششون کن و تست بگیر.
  • تعداد زیاد Revision: اگه صدها نسخه‌ی بازبینی تو دیتابیس داری، ممکنه حافظه‌ی سرور موقع ذخیره تموم شه.

واسه دیدن این مقادیر برو به Elementor ← System Info. المنتور همه‌چیزو همون‌جا نشونت می‌ده و مقادیر پایین‌تر از حد توصیه‌شده رو هم علامت می‌زنه. ده ثانیه وقت می‌گیره و اکثرمون ازش رد می‌شیم و بعد ساعت‌ها دنبال نخود سیاه می‌گردیم.

یه نکته‌ی نجات‌بخشم بگم قبل از اینکه فکر کنی کارت دود شد رفت هوا: تو ادیتور Ctrl + D رو بزن تا پنل History باز شه. المنتور مستقل از دکمه‌ی ذخیره، مرتب ذخیره‌ی خودکار می‌گیره و خیلی وقتا می‌تونی کارتو از همون‌جا برگردونی. یه نفس عمیق بکش و اول اینو چک کن.

یه افزونه داره شیطنت می‌کنه

هر افزونه‌ای که به خروجی HTML یا CSS دست می‌زنه، بالقوه می‌تونه مقصر باشه. خوشبختانه المنتور یه ابزار عالی واسش داره: Safe Mode.

حالت امن همه‌ی افزونه‌ها به‌جز المنتورو موقتاً غیرفعال می‌کنه و قالب پیش‌فرضو میاره — بدون اینکه چیزی از سایت واقعیت به هم بریزه. خیالت راحت باشه، بازدیدکننده‌ها چیزی نمی‌بینن. فعال کردنشم از Elementor ← Tools ← Safe Modeه.

اگه تو حالت امن همه‌چی درست بود، حالا افزونه‌ها رو یکی‌یکی فعال کن و بعد از هر کدوم تست بگیر. می‌دونم حوصله‌سربره، ولی جواب می‌ده. مظنونین همیشگی: افزونه‌های بهینه‌سازی و minify، افزونه‌های امنیتی، صفحه‌سازای دیگه (اگه همزمان نصب باشن) و افزونه‌های Lazy Load.

قالب داره استایل المنتورو خنثی می‌کنه

گاهی CSS قالب با اولویت بالاتری نوشته شده و رو استایل المنتورو می‌گیره. علامت مشخصه‌ش اینه که فقط بعضی چیزا اعمال نمی‌شن — مثلاً رنگ لینکا یا سایز فونت هدینگا — و بقیه درست کار می‌کنن.

واسه تست، موقتاً قالبو بذار رو Hello Elementor. اگه مشکل حل شد، مقصر قالبه و یا باید با پشتیبانی قالب حرف بزنی یا با CSS سفارشی خودت حلش کنی.

واسه پیدا کردن دقیق مقصرم رو عنصر راست‌کلیک کن و Inspect بزن. تو پنل استایلا، هر قانونی که خط خورده باشه یعنی یه چیز دیگه روشو گرفته، و درست بالاش می‌بینی که اون چیز از کدوم فایل میاد. مثل کارآگاه‌بازی می‌مونه و راستش یه‌کمم لذت‌بخشه.

یه تگ بسته‌نشده کل صفحه رو خراب کرده

یه <div> بسته‌نشده تو ویجت HTML، یا یه آکولاد جامونده تو CSS سفارشی، می‌تونه کل ساختار بعد از خودشو نابود کنه. علامتش معمولاً اینه که مشکل از یه نقطه‌ی مشخص به بعد شروع می‌شه و بقیه‌ی صفحه به هم می‌ریزه.

هر ویجت HTML، شورت‌کد یا Custom Code که اخیراً اضافه کردی رو موقتاً مخفی کن (از تب Advanced ← Responsive می‌شه) و ببین مشکل حل می‌شه یا نه.

CSS سفارشیت اعمال نمی‌شه

اگه گرفتاریت فقط با CSS سفارشیه (نه کل صفحه)، اینا رو نگاه کن:

  • سلکتور اشتباه: تو تب Custom CSS المنتور از کلمه‌ی selector استفاده کن که به خود همون عنصر اشاره می‌کنه. یعنی selector .my-class { ... } درسته.
  • اولویت پایین: شاید قانون تو نوشته می‌شه ولی یه چیز دیگه روشو می‌گیره. واسه تست موقتاً !important اضافه کن. اگه جواب داد، فهمیدی مشکل اولویت بوده.
  • نسخه‌ی رایگان: تب Custom CSS جزو امکانات نسخه‌ی حرفه‌ایه. تو نسخه‌ی رایگان باید از سفارشی‌سازی قالب یا افزونه‌های جانبی استفاده کنی.
  • خطای نگارشی: یه نقطه‌ویرگول یا آکولاد جامونده باعث می‌شه همه‌ی قوانین بعدی نادیده گرفته شن. آره، فقط همون یکی.

فقط هدر یا فوتر عوض نمی‌شه

اگه همه‌چی درسته و فقط هدر یا فوتر لج کرده، احتمالاً پای شرطای نمایش وسطه. برو به Templates ← Theme Builder و اینا رو چک کن:

  • شرط نمایش تمپلیت درست تنظیم شده؟ (مثلاً رو Entire Site)
  • نکنه دو تا تمپلیت هدر داری که شرطاشون با هم تداخل داره؟ تو این حالت المنتور یکی رو انتخاب می‌کنه و تو داری اون یکی رو ویرایش می‌کنی.
  • شاید اصلاً هدر فعلی از قالب میاد نه از المنتور. خیلی از قالبا هدر خودشونو دارن و تا وقتی تمپلیت المنتور شرط درست نداشته باشه، همون هدر قالب نشون داده می‌شه.

تو دسکتاپ درسته، تو موبایل نه

این یه سناریوی کاملاً جداست و راه‌حلشم فرق می‌کنه:

  • مطمئن شو تغییراتو تو حالت واکنش‌گرای درست اعمال کردی. المنتور مقادیرو از دسکتاپ به موبایل به ارث می‌رسونه، ولی برعکسشو نه. اگه چیزی رو فقط واسه موبایل تنظیم کنی، تو دسکتاپ خبری ازش نیست و بالعکس.
  • ببین عنصر مورد نظر تو تب Advanced ← Responsive واسه موبایل مخفی نشده باشه. این یکی بیشتر از چیزی که فکر می‌کنی پیش میاد.
  • اگه AMP فعال داری، نسخه‌ی AMP جدا کش می‌شه و استایلای المنتور توش محدودن.
  • بعضی افزونه‌های کش نسخه‌ی جدا واسه موبایل می‌سازن. اونم جداگونه پاک کن.

فونتا اعمال نمی‌شن

فونتای سفارشی داستان خودشونو دارن و واسه ما که سایت فارسی می‌سازیم موضوع مهمیه:

  • مطمئن شو فونتو از Elementor ← Custom Fonts درست آپلود کردی و حداقل فرمت woff2 رو دادی.
  • اگه فونتو با CSS خودت لود می‌کنی، مسیر فایل و مجوز CORS رو چک کن؛ مخصوصاً وقتی از CDN استفاده می‌کنی.
  • قابلیت Improved CSS Loading گاهی باعث می‌شه تعریف فونت لود نشه. خاموشش کن و تست بگیر.
  • تو Site Settings ← Typography هم فونت پیش‌فرضو تنظیم کن، نه فقط رو تک‌تک ویجتا.

تغییرات اعمال می‌شن ولی بعد برمی‌گردن!

این یکی واقعاً عجیبه و اگه برات پیش اومده باشه می‌دونی چقدر می‌تونه آدمو به شک بندازه. تغییرات اعمال می‌شن، ولی چند ساعت یا چند روز بعد سایت دوباره برمی‌گرده به حالت قبل. معمولاً یکی از اینا رو داری:

  • یه بکاپ خودکار داره بازگردونی می‌شه. بعضی افزونه‌های بکاپ زمان‌بندی بازگردونی دارن.
  • محیط استیجینگ به‌صورت زمان‌بندی‌شده رو سایت اصلی همگام‌سازی می‌شه.
  • یکی دیگه‌م داره همون صفحه رو ویرایش می‌کنه و نسخه‌ی خودشو ذخیره می‌کنه. اگه تیمی کار می‌کنی، اول اینو چک کن.
  • یه افزونه‌ی امنیتی داره فایلای تغییرکرده رو به حالت قبل برمی‌گردونه.

جدول تشخیص سریع (اینو بوکمارک کن)

این جدولو واسه دفعه‌ی بعد نگه دار. از رو علامتی که می‌بینی، مستقیم برو سراغ راه‌حل و کل مسیرو رد کن:

چی می‌بینیاحتمالاً مقصر کیهاولین کاری که بکن
تو حالت ناشناس درسته، تو حالت عادی نهکش مرورگرCtrl + F5 و پاک کردن کش مرورگر
واسه من درسته، واسه بازدیدکننده نهکش صفحه (افزونه یا سرور)Purge All تو افزونه کش + کش سرور
با ?nocache=1 درستهقطعاً کش، تو یکی از لایه‌هاهر چهار تا لایه رو به ترتیب پاک کن
محتوا عوض شده ولی ظاهرش قدیمیهفایلای CSS المنتورElementor ← Tools ← Regenerate Files & Data
تو خود ادیتورم تغییرات نیستاصلاً ذخیره نشدهSystem Info و چک کردن max_input_vars و حافظه
فقط یه ویجت خاص آپدیت نمی‌شهElement Cachingخاموش کردن Element Caching تو Features
اسلایدر و افکتا کار نمی‌کننRocket Loader یا Combine JSخاموش کردن Rocket Loader تو کلادفلر
صفحه سفید یا کاملاً داغونخاموش شدن Flexbox/Grid Containerفوراً همون قابلیتو دوباره روشن کن
فقط هدر یا فوتر عوض نمی‌شهشرطای Theme Builderبررسی Display Conditions تمپلیت
فقط CSS سفارشی اعمال نمی‌شهسلکتور یا اولویتInspect و پیدا کردن قوانین خط‌خورده

چک‌لیست کامل، به ترتیب

اگه آدم منظمی هستی و می‌خوای سیستماتیک جلو بری، این ترتیبو دنبال کن. از ساده به پیچیده و از کم‌ریسک به پرریسک چیده شده:

  1. مطمئن شو صفحه منتشر شده و رو دامنه و صفحه‌ی درستی.
  2. صفحه رو تو حالت ناشناس باز کن.
  3. پارامتر ?nocache=1 رو امتحان کن.
  4. Elementor ← Tools ← Regenerate Files & Data (و یادت نره Save Changes).
  5. کش افزونه رو کامل پاک کن.
  6. کش CDN و کلادفلر رو Purge کن.
  7. کش مرورگرو پاک کن یا رفرش سخت بزن.
  8. از هاست بخواه کش سطح سرورو پاک کنه.
  9. Elementor ← System Info رو چک کن (دسترسی نوشتن، حافظه، max_input_vars، فضای دیسک).
  10. Element Caching و قابلیتای آزمایشی عملکردی رو موقتاً خاموش کن.
  11. گزینه‌های Minify و Combine افزونه‌ی بهینه‌سازی رو غیرفعال کن.
  12. Safe Mode رو روشن کن و افزونه‌ها رو یکی‌یکی تست کن.
  13. قالبو موقتاً بذار رو Hello Elementor.
  14. وردپرس، المنتور، المنتور پرو و PHP رو به‌روز کن.
  15. اگه مشکل بعد از یه آپدیت شروع شده، با قابلیت Rollback به نسخه‌ی قبلی برگرد.

یه خواهش: هر مرحله رو انجام بده و بعدش تست بگیر. اگه پنج تا کارو با هم انجام بدی و مشکل حل شه، هیچ‌وقت نمی‌فهمی کدومشون مقصر بوده و دفعه‌ی بعد باید از صفر شروع کنی. خودمونیم، همه‌مون این اشتباهو کردیم.

حالا بیا یه کاری کنیم دیگه تکرار نشه

مشکل که حل شد، چند تا تنظیم ساده هست که کل تجربه‌ی کار روزانه‌تو عوض می‌کنه. پنج دقیقه وقت بذار، ماه‌ها راحت باش:

  • پاکسازی خودکار کشو روشن کن. بیشتر افزونه‌های کش یه گزینه دارن که با هر به‌روزرسانی یه صفحه، کششو خودکار پاک می‌کنن. حتماً فعالش کن.
  • کاربرای لاگین‌کرده رو از کش مستثنا کن. این‌جوری همیشه نسخه‌ی واقعی رو می‌بینی و دیگه دنبال نخود سیاه نمی‌گردی.
  • API کلادفلرو به افزونه‌ی کشت وصل کن تا هر دو لایه با هم پاک شن. یه بار تنظیم، همیشه راحت.
  • رو نسخه‌ی آزمایشی کار کن، مخصوصاً واسه پروژه‌های مشتری. هم آبروت حفظ می‌شه، هم خوابت.
  • قبل از هر آپدیت بزرگ بکاپ بگیر. جدی می‌گم؛ همه‌مون یه بار این درسو به روش سخت یاد گرفتیم و هیشکی دلش نمی‌خواد بار دومو تجربه کنه.
  • مقادیر PHP رو از اول درست تنظیم کن. حافظه حداقل ۲۵۶ مگابایت، max_input_vars حداقل ۳۰۰۰ و max_execution_time حداقل ۳۰۰ ثانیه.
  • موقع کار، تب Network رو با Disable cache باز نگه دار. ساده‌ترین عادتی که می‌تونی یاد بگیری و بیشترین وقتو برات آزاد می‌کنه.

سؤالات متداول

چرا تغییرات المنتور من تو سایت نشون داده نمی‌شه؟

تو بیشتر مواقع یکی از چهار لایه‌ی کش (کش المنتور، افزونه کش، کش سرور و CDN، کش مرورگر) نسخه‌ی قدیمی رو نگه داشته. راه‌حلش اینه که به همین ترتیب از بالا به پایین همه رو پاک کنی. اگه بازم ادامه داشت، احتمالاً پای Element Caching، تداخل افزونه یا مشکل تو ذخیره‌سازی وسطه.

کش المنتورو چطور پاک کنم؟

برو به Elementor ← Tools، تو تب General بزن رو Regenerate Files & Data و بعد Save Changes رو کلیک کن. این کار فایلای CSS المنتورو حذف و از رو تنظیمات فعلی از نو می‌سازه.

من تغییراتو می‌بینم ولی بازدیدکننده‌ها نسخه‌ی قدیمی رو. چرا؟

چون اکثر افزونه‌های کش واسه کاربرای لاگین‌کرده صفحه‌ی کش‌شده رو سرو نمی‌کنن. تو نسخه‌ی واقعی رو می‌بینی و بازدیدکننده نسخه‌ی کش‌شده رو. کافیه کش صفحه رو کامل پاک کنی و اگه CDN داری، اونم Purge کنی.

پاک کردن کش به سایتم آسیب می‌زنه؟

نه، خیالت راحت. هیچ داده‌ای از بین نمی‌ره. تنها اثرش اینه که چند دقیقه‌ی اول صفحات یه‌کم کندتر باز می‌شن تا کش دوباره ساخته شه. واسه سایتای پربازدید بهتره از گزینه‌ی Clear and Preload استفاده کنی.

دکمه‌ی به‌روزرسانی المنتور کار نمی‌کنه. چیکار کنم؟

اول برو به Elementor ← System Info و مقادیر max_input_vars و حافظه‌ی PHP رو ببین. اگه max_input_vars رو ۱۰۰۰ه و صفحه‌ت شلوغه، مقصر همونه و باید از هاست بخوای بالاترش ببره. بعد افزونه‌های امنیتی رو موقتاً خاموش کن و دوباره تست بگیر. ضمناً با Ctrl + D پنل History رو باز کن؛ خیلی وقتا کارت تو ذخیره‌ی خودکار سالم مونده.

Element Caching چیه و باید خاموشش کنم؟

یه قابلیته که خروجی ویجتا رو جدا کش می‌کنه تا صفحه سریع‌تر لود شه، و رو سایتای عادی واقعاً مفیده. ولی اگه ویجتایی با محتوای پویا داری (شورت‌کد، Dynamic Tag، محتوای وابسته به کاربر) و تغییراتشون اعمال نمی‌شه، بهتره خاموشش کنی. مسیرش Elementor ← Settings ← Featuresه.

بعد از آپدیت المنتور سایتم به هم ریخت. چیکار کنم؟

یه نفس عمیق بکش، درست می‌شه. المنتور یه قابلیت داره به اسم Rollback که تو Elementor ← Tools ← Version Control پیدا می‌شه و باهاش می‌تونی به نسخه‌ی قبلی برگردی. قبل از هر کاری بکاپ بگیر. بعد از برگشتنم مشکلو گزارش کن و منتظر نسخه‌ی اصلاح‌شده بمون.

حرف آخر

اگه بخوام کل این مقاله رو تو یه جمله جمع کنم: مشکل عدم نمایش تغییرات در المنتور تقریباً همیشه کشه، ولی نه یه کش — چهار تا. و ترتیب پاک کردنشون از خودشون مهم‌تره.

پس دفعه‌ی بعد که این اتفاق افتاد، به‌جای اینکه با اعصاب خرد بیفتی به جون هر دکمه‌ای که می‌بینی، سی ثانیه وقت بذار و یه تست ساده بزن: صفحه رو تو حالت ناشناس باز کن و ?nocache=1 رو امتحان کن. همین یه قدم کوچیک، مسیرتو از یه ساعت به پنج دقیقه کوتاه می‌کنه.

و اگرم جزو اون ۲۰ درصد موارد سخت‌تر بودی، حالا دقیقاً می‌دونی کجا رو نگاه کنی. همین که بدونی Elementor ← System Info وجود داره و ده ثانیه‌ای بهت می‌گه سرورت کجای کار می‌لنگه، خودش نصف راهه.

اگه با یه مورد عجیب برخوردی که اینجا نبود، حتماً تو دیدگاه‌ها بنویس. هم من هم بقیه‌ی بچه‌ها کمکت می‌کنیم و اگه به درد بقیه‌ هم بخوره، به همین مقاله اضافش می‌کنیم. موفق باشی!

نظر شما در این مورد چیه؟

    گفتگو با تیم فروشسلام! دنبال پاسخ برای سوالات خود هستید؟ ما اینجا آماده کمک به شما هستیم...

    در حال بارگذاری مقالات...

    پشتیبانگفتگو با تیم فروش
    پشتیبانگفتگو با تیم فروش آنلاین و پاسخگوی شما هستیم. آنلاین

    در حال بارگذاری...

    سوالی درباره محصولات سایت دارید؟از ما بپرسید.