داشتن وب سایت و نگه داری از آن امریست زمانبر و نیازمند توجه صد در صدی برای حفظ و بالا بردن ارزش سایت به طوری که گاها ممکن است علاوه بر تلاش های مداوم شما پشت وب سایت باز هم مشکلاتی در سایت نمایان شود که جلوه چندان مناسبی برای وب سایت ندارند. گاهی اوقات ممکن است تغییراتی را در سایت خود ایجاد کنیم ولی این تغییرات اعمال نشوند . یا ممکن است زمانی که اعمال میشود با تاخیر باشد یعنی اینکه شما تغییری در ظاهر وب سایت داده اید اما آن تغییر را پس از یک روز مشاهده کرده باشید مشکل از کجاست ؟برای رفع چنین مشکلی راه هایی وجود دارد که می توان گفت متداول ترین روش های حل این مشکل می باشد .
در این مطلب میخوانید:
cache چیست؟
زمانی که یک سایت را برای بار اول باز می کنید زمان زیادی برای لود کامل آن نیاز است ولی در صورتی که صفحه ی دیگری از این سایت را باز کنید و یا اگر برای بار های دوم و سوم این سایت را در مرورگر خود بالا بیاورید ، متوجه خواهید شد زمان لود کاهش یافته است در واقع مرورگر یک سری اطلاعات را بر روی کامپیوتر شما ذخیره می کند و در دفعات بعدی مروگر عملیات reload یا بارگذاری مجدد را از کامپیوتر شخصی شما آغاز می کند و همین امر موجب تسریع در عملیات لود شدن سایت خواهد شد . به مجموعه این عملیات cache مرورگر گفته می شود و به معنای افزایش سرعت بارگذاری مرورگر می باشد . مروگر تمامی اطلاعات را ذخیره کرده تا در زمان رفرش کردن صفحات مجبور به انتقال مجدد اطلاعات از سایت اصلی نشود.
درواقع کش اطلاعاتی که هر بار بروزرسانی نشوند را در کامپیوتر ذخیره میکند مانند استایل ها چرا که نیاز نیست در هر بار آنها مجددا بارگذاری شوند و باعث کاهش سرعت می شود و نکته ای که باید توجه کنید این است که هنگامی که از کش استفاده میکنید فایل های کش شوندهددر یک پوشه ذخیره می شوند تا مرورگر ها از آن پوشه فایل ها را ذخیره کنند .
تاثیر cache با عدم اعمال تغییرات در وردپرس
بسیاری از مشکلاتی که ممکن است کاربران با آن مواجه شوند ارتباط مستقیم با کش دارد چرا که شما بدون توجه به مرورگر خود تغییراتی را در سایت به وجود می آورید که ممکن است مرورگر آن تغییرات را نبیند و متوجه نشود پس در چنین حالتی همان اطلاعات قبلی را لود می کند و در آنها تغییراتی را انجام نخواهد داد .
کش علاوه بر مرورگر در هاست شما نیز ذخیره می شود به این صورت کار میکند که ابتدا اطلاعات سایت را در یک پوشه ذخیره کرده و سپس هنگامی که مرورگر سایت شما را مرور میکند از داخل پوشه کش محتویات را دانلود کرده و هر بار بررسی میکند که اگر اطلاعات جدید بود داتلود کنند و در غیر این صورت از همان اطلاعات قبلی را استفاده میکنند اینکار باعث افزایش سرعت سایت شده اما ممکن است باعث شود که هنگام ایجاد تغییرات اعمال نشود .
برای کش میتوان تاریخ انقضا تعریف کرد به خمین دلیل است که برخی از تغیبرات اعمال شده تا مشاهده نتایج یک روز یا کمی بیشتر زمان میبرد تا تغییرات شما نمایان شود .
برای رفع این مشکل باید cache مروگر را پاک یا تخلیه کنید. برای انجام این کار بعد از انجام تغییرات بر روی سایت خود بر روی refresh کلیک کنید با زدن کلید f5 این کار را انجام دهید .
بعلاوه این باید پوشه کش را از داخل هاست پاک کنید . برای رفع این مشکل باید کش را خالی کنید برای اینکار هم مطابق هر مرورگر عمل کنید و در کل در اکثر مرورگرها با کلید ترکیبی کنترل f5 کش پاک شده و مجددا از سایت دریافت می شود اگر در هاست پوشه کش وجود دارد و برای آن تاریخ انقضا قرار نگرفته است باید حتما در هاست هم این پوشه را خالی کنید .
پاک کردن cache در Internet Explorer :
برای انجام این کار شما باید shift را گرفته و بر روی refresh کلیک نمایید با این کار مشکل حل خواهد شد ولی اگر مایل بودید کش را به طور کامل پاک کنید باید مسیر زیر را طی کنید .
TOOLS > INTERNET OPTIONS > TEMPORARY FILES
سپس روی Delete Temporary Files کلیک کنید و یا بر روی چک باکس کلیک کنید تا فایل ها به طور کامل حذف شوند لازم به ذکر است این کار همه ی کوکی ها و پسورد ها را پاک خواهد کرد .
پاک کردن cache در Mozilla Firefox :
برای این کار کلید های ترکیبی CTRL+SHIFT+R را با یک دیگر بفشارید و اگر مشکل شما رفع نشده بود برای اطمینان از پاک شدن cache مسیر زیر رو طی کنید : Tools > Options > Privacy > Cache سپس روی clear کلیک کنید.
پاک کردن cache در Mozilla 1.x و بالاتر :
به مسیر Edit > Preferences > Advanced مراجعه کنید سپس روی cache کلیک کرده و بعد clear رو انتخاب کنید.
پاک کردن cache در Opera :
وارد مسیر Edit > File > Preferences > History شوید و سپس در بخش cache روی گزینه مربوط به cache کلیک کنید.
پاک کردن cache در Safari:
به مسیر Safari > Reset Safari و روی Reset کلیک کنید. سپس در جهت اطمینان از پاک شدن کش از مسیر Safari > Empty Cache هم تغییرات رو اعمال کنید.
پاک کردن cache در کروم
کلید های ترکیبی CTRL + F5 یا Cmd + R فشار دهید و باز هم این مشکل وجود داشت به قسمت: setting > history >clear history و کش آن را به طور کامل از بین ببرید.
پس شاید برای برخی این سوال پیش بیاید که با این تفاسیر چرا از کش شدن وب سایت برای افزایش سرعت استفاده میکنیم ؟ یعنی اینکه اگر چنین مشکلاتی را برای سایت ما پیش می آورد پرا باید از آن استفاده کرد ؟
پاسخ این سوال مشخص است سرعت سایت ، چرا که ماندگاری و حفظ کاربران در وب سایت برای ما اهمیت دارد در امروز کسی حاضر به صبر و انتظار برای لود یک وب سایت که از محتوای آن خبری ندارد و یا حتی دارد با توجه به فراوانی وب سایت های دیگر که به سادگی با جستجوی به آنها خواهد رسید نمیکند ، به این ترتیب لازم است وب سایت ما علاوه بر ظاهر مناسب و محتوای قوی از سرعت بالایی نیز برخوردار باشد و یکی از مهم ترین عوال اصلی افزایش سرعت وب سایت کش کردن فایل هایی است که نیاز به بازگداری هر باره ندارند اما خب چنین مشکلاتی نیز دارند که با استفاده از استاندارد کش میتوان آن را رفع کرد به طور صحیح تر از بروز چنین مشکلاتی پیشگیری کرد برای اینکار کافیست تا برای کش های خود تاریخ انقضا تعیین کنید اینکار باعث میشود تا در همان تاریخ ها ( تاریخ های کش به صورت بازه زمانی مشخص میشود مانند روز ، ماه ، سال و … ) فایل کش پاک شده و مجدد از کش سرور ذخیره میشود این حالت یعنی تایم انقضاء را با توجه به بروزرسانی های خود تعیین کنید.
برای اینکار میتوانید از کد زیر استفاده کنید توجه کنید که کد زیر هم کش و هم تاریخ آن را اضافه خواهد کرد.
این کد ها را درون فایل .htaccess
قرار دهید .
EXPIRES CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month" </IfModule> ## EXPIRES CACHING ##
با اضافه کردن این فایل ها میتوانید برای فایل های کش شده خود تاریخ تعیین کنید که دیگر چنین مشکلاتی پیش نیاید.
میتوان از کد دیگری نیز استفاده کرد که کامل تر می باشد به این ترتیب :
<IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 month" # CSS ExpiresByType text/css "access plus 1 year" # Data interchange ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType application/rdf+xml "access plus 1 hour" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/ld+json "access plus 0 seconds" ExpiresByType application/schema+json "access plus 0 seconds" ExpiresByType application/vnd.geo+json "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" # Favicon (cannot be renamed!) and cursor images ExpiresByType image/vnd.microsoft.icon "access plus 1 week" ExpiresByType image/x-icon "access plus 1 week" # HTML ExpiresByType text/html "access plus 0 seconds" # JavaScript ExpiresByType application/javascript "access plus 1 year" ExpiresByType application/x-javascript "access plus 1 year" ExpiresByType text/javascript "access plus 1 year" # Manifest files ExpiresByType application/manifest+json "access plus 1 week" ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" ExpiresByType text/cache-manifest "access plus 0 seconds" # Media files ExpiresByType audio/ogg "access plus 1 month" ExpiresByType image/bmp "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType image/webp "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType video/webm "access plus 1 month" # Web fonts # Embedded OpenType (EOT) ExpiresByType application/vnd.ms-fontobject "access plus 1 month" ExpiresByType font/eot "access plus 1 month" # OpenType ExpiresByType font/opentype "access plus 1 month" # TrueType ExpiresByType application/x-font-ttf "access plus 1 month" # Web Open Font Format (WOFF) 1.0 ExpiresByType application/font-woff "access plus 1 month" ExpiresByType application/x-font-woff "access plus 1 month" ExpiresByType font/woff "access plus 1 month" # Web Open Font Format (WOFF) 2.0 ExpiresByType application/font-woff2 "access plus 1 month" # Other ExpiresByType text/x-cross-domain-policy "access plus 1 week" </IfModule>
یک روش دیگر برای پاکسازی و زمانبندی برای پاکسازی کش در وردپرس استفاده از افزونه هایی است که برای اینکار طراحی شده اند مانند افزونه وردپرس WP Super Cache و W3 Total Cache با استفاده از این پلاگین ها میتوان برای کش های وردپرس برنامه ریزی کرد به طوری که در زمان های خاص پوشه کش را خالی کند.
بررسی تمپلیت ها
اگر تغییرات اعمالی شما مربوط به ویرایش تمپلیت ها باشد باید مطمئن شوید ، صفحه ای که در حال حاضر مشاهده می نمایید از تمپلیت ها ساخته شده است چرا که خیلی از تمپلیت ها متون مشابه ای را دارا هستند .
توجه کنید که در صورت استفاده از افزونه های افزایش سرعت در وردپرس مانند راکت ، توتال کش و … باید هاست خود را نیز چک کنید چرا که اطلاعات کش و دستورات آن در این پوشه ذخیره می شوند و هنگامی که کش را خالی کنید مشاهده تغییرات خواهید شد .
اگر چنانچه با انجام تمام این روش های بالا همچنان سایت شما دچار مشکل است باید له بررسی هایی که برای مشکل صفحه مرگ رخ میدهد بپردازید و برای رفع آن ابتدا پوشه قالب ها را تغییر نام دهید یا میتوانید از قالب پیشفرض وردپرس نیز استفاده کنید بعد چک کنید که آیا مشکلتان همچنان پابرجا است یا خیر در صورتی که مشکل رفع شد از قالب شما بوده است و باید آن را تعویض و یا با طراح آن تماس بگیرید که مشکل را برای شما برطرف کند در غیر این صورت به مرحله بعدی یعنی غیر فعال کردن افزونه های میرویم با این کار باز اگر مشکل رفع شد ابتدا به قسمت افزونه ها در پیشخوان میرویم که باید به ما پیغامی مبنی بر به علت عدم پوشه افزونه مورد نظر افزونه غیر فعال شد دهد این برای تمامی پلاگین ها باید انجام شود سپس مجدد به هاست رفته و پوشه پلاگین را به نام قبلی برمیگردانیم و مجدد همین صفحه را در پیشخوان باز میکنیم و حال افزونه ها به صورت غیر فعال موجود هستند تک به تک با فعال کردن و چک کردن میتوانیم به مشکل برسیم .
اگر چنانچه مشکل پابرجا بود باید وردپرس را به نسخه جدید یا قدیم آبدیت یا دانگرید کنیم برای انجام اینکار ابتدا نسخه جدید یا قدیم را دانلود کرده سپس آنرا از حالت فشرده خارج میکنیم و بعد به جز پوشه wp-content تمامی فایل و پوشه ها را زیپ کرده ، به هاست میرویم و به جز فایل wp-content و wp-config ما بقی فایل ها را پاک میکنیم سپس فایل زیپ شده خودمان را آپلود میکنیم و از حالت فشرده خارج میکنیم اگر از نسخه قدیمی تر استفاده کنید برای این کار وردپرس شما دانگرید شده است و اگر از نسخه جدید استفاده کنید به آن آپدیت میگویند.
من برگه را در وردپرس ذخیره میکنم و پیش نمایش را هم میزنم و تغییرات خود را میبینم ولی با خروج از برگه و ورود مجدد میبینم که تغییرات اعمال نشده اند! ولی بعضی از مواقع تغییرات اعمال میشوند. لطفا برای حل این مشکل راهنمایی کنید.
سلام
ابتدا چک بفرمایید نسخه php هاست شما حداقل برو روی 5.6 باشه (ترجیحا نسخه 7.0 )
احتمالا مشکل به دلیل تداخل افزونه هایی که نصب کردید.
برای اطمینان از این امر همه افزونه های فعال وب سایتتون به جز افزونه هایی که به صورت پیشفرض روی قالب نصب بوده رو غیرفعال و تست کنید. در صورت رفع مشکل باید افزونه ها رو تک تک فعال و تست کنید تا متوجه شوید مشکل از کدام افزونه هست. در مرحله بعد در صورتی که مشکل از افزونه ها نبود میتونید یکی از قالب های پیشفرض وردپرس رو نصب ، فعال و مجدد بررسی بفرمایید. با غیر فعال کردن افزونه یا قالب ها اطلاعات شما حذف نمیشود و پس فعال کردن مجدد به حالت قبل بر میگردد.
موفق باشید