لود آسان تصاویر از زیر دامنه در وردپرس

مطالب و بحثهای زیادی در مورد بارگزاری تصاویر از ساب دومین تو انجمن و سیاره وردپرس فارسی وجود داره که به شما امکان میدن با استفاده از افزونه‌های معرفی شده یا تغییرات تو دیتابیس، عکسها رو از زیردامنه لود و به افزایش سرعت سایت وردپرسیتون کمک کنین. این کار رو میشه با استفاده از ویژگی CDN پلاگین W3 Total Cache و با دردسر خیلی کمتر هم انجام داد!

اگر از cPanel استفاده می‌کنین از بخش Domains به Subdomains برین و زیر دامنه‌ی دلخواهتونو ایجاد کنین. نکته‌ی مهمی که باید رعایت کنین این هست که Document Root رو حتما public_html بذارین. با این کار دیگه نیازی به تغییر مسیر آپلود فایلها نیست!

بعد از اینکه ساب دامین ساخته شده از تمام نقاط قابل دسترس شد نوبت به تنظیم افزونه‌ی W3 Total Cache میرسه.

تو بخش General Settings گزینه‌ی CDN Type رو روی Generic Mirror قرار بدین و تنظیمات رو ذخیره کنین.

حالا به تنظیمات CDN برین و تو قسمت Configuration آدرس زیر دامنه رو به صورتی که تو این تصویر می‌بینین وارد کنین.

تو همین صفحه میتونین از بخش General تیک مربوط به فایلهایی که میخواین با آدرس جدید لود بشه (پوسته، پوشه‌ی wp-includes، ضمیمه‌ها و…) رو بذارین با بردارین.

اگر افزونه‌ای دارین که فایل css یا js بارگزاری میکنه و دوست دارین این فایلها از زیردامنه لود بشن باید آدرس پوشه‌ی پلاگین رو تو بخش Custom file list به این صورت وارد کنین:

wp-content/plugins/lightbox-plus/js/*

در آخر از بخش General Settings منوی Performance تیک CDN رو بذارین تا Enable و آماده‌ی استفاده بشه. از این به بعد آدرس فایلهای آپلود شده (و بقیه‌ی فایلهایی که مشخص کردین) تو سایت شما به این صورت درمیاد:

www.siteshoma.com/file.jpg >>>>>> subdomain.siteshoma.com/file.jpg

چند نکته:

قبل از تنظیم کردن W3TC با استفاده از سایت Just Ping چک کنین که ساب دومین شما از همه جا در دسترسه.

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

اگر از سرویسی مثل Cloudflare استفاده نمی‌کنین بهتره تو بخش CDN تیک مربوط به Set cookie domain to رو بذارین.

فواید انتقال تصاویر به زیر دامنه و راهکاری که از تغییرات تو دیتابیس استفاده میکنه رو هم میتونین تو سایت تورتک مطالعه کنین.

هاستینگ وردپرس ماندگاروب
۴۱ دیدگاه
  1. باربری تهران

    سلام واقعا الان ۳ روزه پای این بودم که درستش کنم ولی بلاخره درستش کردم واقعا آموزشتون مفید و کاربردی بود

    پاسخ
  2. کامران

    با سلام و احترام
    از روشی که شما گفتید استفاده کردم. حالا با دو مورد برخوردم که به نظر اشتباه در کارم می باشد:
    مورد اول زمانی که به آمار YSlow مراجعه می کنم، CDN را صفر درصد نشان می دهد. این در حالی است که عکس ها، قالب و سایر موارد از ساب دامین گرفته می شوند.
    و مورد دوم این است که در انتهای تمامی آدرس ها یک عدد اضافه شده است. برای نمونه logo.png?956e40

    لطفاً راهنمایی نمایید که این موارد طبیعی است؟

    پاسخ
  3. مرتضی

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

    پاسخ
    • محسن غیاثی

      سلام. متاسفانه متوجه نمیشم دقیقا چه مشکلی دارین. در کل اگر مثل بنده از سرویس Cloudflare.com استفاده می‌کنین استفاده از این روش توجیه داره وگرنه تاثیر خاصی نمیذاره تو لود.

      پاسخ
  4. مدل لباس

    باسلام ممنون عالی ومفیدبود

    پاسخ
  5. reza

    با سلام
    من تازه شرو کردم
    وقتی عکس رو آپلود میکنم اینجوره
    http://www.domain.com/wp-content/uploads/2012/12/esme aks.jpg
    میخام اینجور باشه
    http://siteman.com/img/esmeaks.jpg
    کامل راهنماییم کنید
    ممنون

    پاسخ
    • محسن غیاثی

      سلام آقا رضا. با استفاده از این آموزش</strong> مسیر آپلود رو عوض کنین در ضمن از منوی تنظیمات به بخش رسانه برین و تیک گزینه‌ی آخر رو بردارین.

      پاسخ
  6. سجاد

    این پست کجا بود من تاحالا ندیده بودمش!!
    بیــــــ نهایتـــــ ــسپاسـ
    موفق باشید 🙂

    پاسخ
  7. ali

    ممنون

    پاسخ
  8. دانلود آهنگ جدید

    سلام محسن جان
    من از افزونه W3 Total Cache دیگه استفاده نمیکنم که cdn واسش بزارم اما افزونه cdn linker فکر کنم همین کار رو انجام بده.
    میشه یه توضیح مختصری درباره این افزونه بدی؟
    یا در قالب یک پست جدید یا همینجا .
    تشکر.

    پاسخ
    • محسن غیاثی

      سلام. CDN ربطی به W3 Total Cache یا افزونه‌های کش دیگه نداره. برای لود کردن تصاویر از CDN از پلاگین CDN Linker‌میتونین استفاده کنین. این مطلب رو هم بخونین.

      پاسخ
  9. aali

    آقا محسن من همه تنظیماتو انجام دادم ولی وقتی روی عکس راست کلیک می کنم و view رو می زنم آدرس رو اینطور میزنه:
    http://www.domain.com/wp-content/uploads/2012/12/1aa.jpg

    پاسخ
    • محسن غیاثی

      لینکی که دادین اشتباهه علی آقا. اگر مراحل رو درست انجام داده باشین نباید مشکلی باشه با این حال از پلاگین CDN Linker هم میتونین استفاده کنین.

      پاسخ
  10. aali

    آقا دستم به دامنت من همینه از تو general سی دی ان رو فعال می کنم بالای صفحه تو یه کادر قرمز مینویسه:
    “Content Delivery Network Error: The “Replace default hostname with” field must be populated.”
    مشکل از چیه؟

    پاسخ
  11. ali

    ممنون از توضیج کاملت محسن جان (Y)

    پاسخ
  12. ab2ullah

    در ضمن گزینه Performance رو که فرمودین در قسمت general فعال کنین تو این ورژن که من استفاده میکنم (آخرین ورژنه)نمیبینم

    پاسخ
  13. ab2ullah

    با سلام و خسته نباشید به خاطر مطالب مفیدتون و زحماتی که به شما میدیم.
    من کارهایی که فرمودین رو انجام دادم اما تصاویر اصلا باز نمیشه !!
    البته تیک تمام قسمت های General در گزینه CDN رو زدم.
    آیا گزینه های بالایی رو بزنم بعد این کارا منظورم گزینه importing attachments into the Media Library , modify attachment URLs که تو قسمت CDN وبالی General نشون میده
    ممنون میشم.

    پاسخ
    • محسن غیاثی

      سلام دوست عزیز. نیازی به کار خاصی نسیت اگر طبق مطلب عمل کرده باشین باید تصاویر باز بشن. زمان مشکل چک کنین ببینین آدرس تصاویر به چه صورت هست.

      پاسخ
  14. مهدی غیاثی

    سلام.

    بارگذاری عکس ها از زیر دامنه، اگه سرور دامنه اصلی و زیردامنه یکی باشن، مگه فرقی می‌کنه؟

    اگر بله، چه فرقی؟
    اگر نه هم، خوب زیردامنه رو بذاریم روی چه سروری؟!؟

    پاسخ
    • محسن غیاثی

      سلام. این کار فقط در صورتی جواب میده که تصاویر و بقیه فایلها رو از سابدومینهای متفاوت بصورت موازی لود کنیم.

      پاسخ
  15. یاسر

    سلام محسن جان
    می شه بگید تو plesk باید چیکار کنم؟ اینکه public_html نداره

    پاسخ
    • محسن غیاثی

      سلام آقا یاسر. پلسک کار نکردم اما باید ببینین تنظیماتی داره که Document Root رو برای Subdomain تعریف کنین یا نه. حتما قرار نیست public_html داشته باشه.

      پاسخ
      • یاسر

        بابا تو این plesk هم معلوم نیست چی به چیه! برای duc تنظیم پیدا نکردم فکر کنم باید به مدیر هاست بگم
        ممنون به خاطر وقتی که برای پاسخگویی صرف می کنید (F)

        پاسخ
    • مهدی غیاثی

      دوست عزیز اگه سرورتون ویندوزه، مال من اینجوریه:
      سلام. توی پلسک اگر که گزینه ی physical hosting رو برای زیردامنه (ساب دامین) انتخاب کنید، بعدش پوشه ی /httpdocs/ پوشه ی اصلی هست. (مثل public_html)

      ولی لینوکس نمی دونم

      پیروز باشید!

      پاسخ
  16. hos7ein

    درود
    محسن جان،من بعد از استفاده از سرویس Cloudflare به آخر عکسها چند تا عدد اضافه شده ولی آدرس عکس ها همونه.برای اینکه منظورم رو بهتر متوجه بشین یه سری به سایت بزنین متوجه میشین.
    حالا از اونجایی که شما هم از Cloudflare استفاده میکنن،خواستم ببینم برای شما هم اینطور بود و برای رفع این حالت از همین load کردن تصاویر از subdomain استفاده کردین؟؟
    سپاس از شما

    پاسخ
    • محسن غیاثی

      سلام حسین آقا. تصاویری که از سایب‌دومین وبلاگم من لود نمیشه هم چیزی به آخرشون اضافه نشده. اگر پلاگین W3 Total Cache نصبه تو بخش Browser cache تیک Set cache control header رو بردارین (بقیه گزینه‌ها رو هم چک کنین) بعد کش رو خالی کنین ببینین چی میشه.

      پاسخ
      • hos7ein

        محسن جان این کار رو انجام دادم ولی هیچ تغییری رخ نداد! لطفا میشه راهنمایی کنین؟؟

        راستی الان که تصاویر سایت شما از زیردامنه ی cdn نشون داده میشن که !

        سپاس

        پاسخ
        • محسن غیاثی

          بعضی از تصاویر مربوط به افزونه‌ها از خود www لود میشه و این مشکل رو نداره. اگر امکان داره اطلاعات ورود وردپرستونو برام ازسال کنین تا در خدمتتون باشم.

          پاسخ
  17. مهرداد

    سلام دوست عزیز خواهش مندم به این سوالم پاسخ بده
    من پیوند یکتارو تعغیر دادم یعنی اول رو postnam بود و لب عکس ها تو صفحه های دیگه لود نمیشه مثلا عکس هایی که برای تبلیغاته تو صفحه ادامه مطلب عکس ها محو میشن
    اگه میشه جوابو به ایمیلم ارسال کنید یه دنیا ممنون میشم
    یا حق

    پاسخ
  18. رضا کیانوش

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

    پاسخ
    • محسن غیاثی

      سلام آقا رضا. نه نیازی به هیچ تغییری نیست. تمام تصاویر به روال قبل آپلود میشن. آدرسی مثل cd.newbie.ir/image.jpg مجازیه و در واقع همون http://www.newbie.ir/image.jpg هست.

      پاسخ
  19. moresa

    خوبه فقط دو تا سوال:
    ۱. همه فایلهایی هم که قبلا آپلود کردیم از زیر دامنه لود میشه؟ یا فقط آپلودهای جدید؟
    ۲. در فایل برون بری که تهیه میکنیم آدرس فایلهای آپلود شده مثل عکس ها به آدرس جدید با زیر دامنه تغییر پیدا میکنه؟
    یعنی اگر هاستمان را عوض کردیم حتما بلافاصله باید هم افزونه را نصب کنیم هم زیر دامنه را بسازیم؟

    پاسخ
    • محسن غیاثی

      سلام دوست عزیز
      ۱- بله همه‌ی فایلا از زیر دامنه لود میشن
      ۲- با تغییر هاست تنظیمات DNS شما دست تخوردن باقی میمونه در نتیجه مشکلی برای آدرس فایلا پیش نمیاد.

      پاسخ
  20. علي‌رضاچ

    من پوشه‌ی wp-content رو با این فرمول کش کردم، به نظر جواب داد.
    بسی سپاس محسن خان، کارت عالی بود. (Y)

    پاسخ
  21. علي‌رضاچ

    من از افزونه‌ی WP Super Cache استفاده می‌کنم و بعد از خوندن این مقاله در حال تست کردن CDN با اون هستم.
    خدا بخیر کنه!! 🙂

    پاسخ
  22. مهدی

    سلام
    من قبلا از این روش استفاده میکردم
    ولی سرعت سایت وقتی که برای ۲ یا سومین بار سایت رو باز میکنی کم میشه
    زمانی که از این استفاده نمی کنیم سرعت سایت برای لود دوم به بعد بهتر میشه ولی تو این انگار
    فایلها کش نمی شن البته من وقتی پست شما رو خوندم تیک Set cookie domain to رو زدم
    کش نشدنش از این بوده؟

    پاسخ
    • محسن غیاثی

      سلام دوست عزیز. فایلهایی که به این روش لود میشن زمان کش شدنشون از رو htaccess اصلی سایت خونده میشه پس نباید تو لود دوم دوباره بارگذاری بشن.

      پاسخ
  23. مسعود

    واقعا کاربردی بود . ممنون

    پاسخ
  24. Mostafa

    بسیار مفید، ممنون

    پاسخ

Please Post Your Comments & Reviews

نشانی ایمیل شما منتشر نخواهد شد Required fields are marked *

*