در این پست خواهید خواند:
در شرایط عادی، نیازی به نگرانی در مورد ساختار فایل وردپرس وجود ندارد. وردپرس دارای یک رابط wp-admin عالی است که شما را قادر می سازد تا روی پیاده سازی سایت خود تمرکز کنید بدون اینکه بدانید موتور در پشت زمینه آن چگونه کار می کند.
با این حال، دانستن جزئیات سایت شما می تواند مفید باشد. این امر مخصوصاً زمانی صادق است که با یک مشکل غیرمنتظره مواجه میشوید.
شاید مشکلی را تجربه نکرده باشید اما وقتی در مورد پشتیبانگیری یا امنیت مطالعه میکنید، عباراتی مانند فایلهای اصلی و پایگاه داده یا wp-config.php و wp-uploads اغلب در متن مشاهده میشوند.
درک این اصطلاحات برای به دست آوردن درک دقیق از موضوع و ممکن است برای مدیریت سایت شما بسیار مفید است.
اگر تا به حال سوالاتی مانند سوالات زیر داشته اید:
• فایل های اصلی چیست؟
• پلاگین ها و تم ها کجا ذخیره می شوند؟
• پایگاه داده شامل چه چیزی است؟
• چرا پوشه wp-uploads یک نگرانی امنیتی است؟
• ساختار فایل و پوشه وردپرس چیست؟
شما در جای مناسب هستید در این مقاله، شما را به پشت صحنه سایت خود می بریم تا با اطمینان بگویید که ساختار فایل و پوشه وردپرس را درک می کنید.
TL;DR دو بخش برای یک سایت وردپرس وجود دارد: فایل ها و پایگاه داده. هر دوی اینها برای عملکرد سایت شما حیاتی هستند. اگر نحوه کار آنها را درک کنید، به یک کاربر قدرتمند تبدیل خواهید شد و در نتیجه قادر خواهید بود مشکلات را عیب یابی کنید و تصمیمات خوبی برای سایت خود بگیرید.
اغلب، ما میخواهیم تغییراتی در وبسایت خود ایجاد کنیم، و آموزشهای موجود به ما میگویند میدهند که در کدهای سایت خود جستجو کنیم. گاهی اتصال به هاست از طریق FTP یا File Manager برای نگاهی به فایل ها و پوشه های سایت شما می تواند بسیار گیج کننده به نظر برسد.
هر پوشه و فایل سایت مهم به نظر می رسد، و اغلب مهم است! هشدارهای مهمی که می گویند کوچکترین خطا می تواند منجر به خرابی سایت شود و این چندان دور از انتظار نیست.
همانطور که گفته شد، دانش قدرت است. درک ساختار فایل و دایرکتوری وردپرس کمک زیادی به ایجاد اطمینان در توانایی شما برای ایجاد تغییرات در وب سایت یا در واقع عیب یابی مشکلات کوچک خواهد کرد. در همه موارد، ما اکیداً توصیه می کنیم که همیشه از سایت خود قبل از دستکاری آن نسخه پشتیبان تهیه کنید.
آشنایی با ساختار فایل و دایرکتوری وردپرس
ساختار فایل و پوشه وردپرس موتور سایت شما است. فایل ها حاوی کدهایی هستند که سایت شما را تقویت می کند. از آنجایی که بیشتر آن ها غیر قابل مشاهده اند، درک آن کمی گیج کننده است و شبیه نگاه کردن به زیر کاپوت یک ماشین است.
دایرکتوری (root) ریشه وردپرس:
برای استفاده از وردپرس ابتدا باید آن را روی سرور خود نصب کنید. اکثر میزبانهای وب این کار را بهطور خودکار در هنگام ایجاد حساب میزبان وب برای شما انجام میدهند. همچنین می توانید وردپرس را دانلود کرده و خودتان آن را در سرور آپلود کنید.
نصب به این معنی است که یک نصب جدید از تمام فایل های اصلی وردپرس بر روی سرور شما قرار می گیرد. این پایه و اساس سایت شماست.
معمولاً نصب وردپرس به یک پوشه public_html یا عمومی می رود. این پوشه به عنوان دایرکتوری ریشه وردپرس یا به سادگی ریشه شناخته می شود و جایی است که فایل ها و پوشه های اصلی وردپرس را پیدا خواهید کرد. پوشه را می توان کاملاً چیز دیگری نام گذاری کرد، اما اغلب پوشه public_html خواهد بود. مهم است که بدانید کدام پوشه ریشه است، زیرا مکان مهمی برای چندین کار مدیریت سایت مانند مهاجرت یا پشتیبان گیری است.
دایرکتوری ریشه وردپرس حاوی فایل ها و پوشه های زیر است:
- wp-admin
- wp-content
- wp-includes
- .htaccess
- index.php
- license.txt
- readme.html
- wp-activate.php
- wp-blog-header.php
- wp-comments-post.php
- wp-config-sample.php
- wp-cron.php
- wp-links-opml.php
- wp-load.php
- wp-login.php
- wp-mail.php
- wp-settings.php
- wp-signup.php
- wp-trackback.php
- xmlrpc.php
- wp-feed.php
فایل ها و پوشه های اصلی وردپرس
فایل ها و پوشه های هسته وردپرس آنهایی هستند که در هنگام نصب وردپرس نصب می شوند. این فایلها همه چیز را از صفحه ورود و داشبورد مدیریت گرفته تا اتصال پایگاه داده و مدیریت کاربران را تامین میکنند. 2 پوشه اصلی وردپرس وجود دارد: wp-admin و wp-includes و چندین فایل اصلی.
فولدر wp-admin:
همانطور که از نام آن پیداست، این پوشه کل فایل های داشبورد wp-admin وردپرس شما را مدیریت می کند. در پوشه wp-admin هفت پوشه به شرح زیر وجود دارد:
- css
- images
- includes
- js
- maint
- network
- user
فایل های زیادی نیز وجود دارد که مهم ترین آنها عبارتند از:
admin.php – فایل اصلی که داشبورد wp-admin را مدیریت می کند
index.php - صفحات را در پاسخ به درخواست بازدیدکنندگان بارگیری می کند
install.php – وردپرس را نصب می کند
plugins.php - همه پلاگین ها، فعال یا غیر فعال را کنترل می کند
themes.php – تمام تم های نصب شده را کنترل می کند
users.php – کاربران و مجوزهای آنها را مدیریت می کند
اکثر فایل ها نسبت به عملکردشان کاملاً واضح هستند. اساساً، تمام پوشهها و فایلهای وردپرس در پوشه wp-admin در اطراف فایل admin.php قرار میگیرند، که داشبورد و تمام عملکردهای درون آن را کنترل میکند.
فولدر wp-includes:
wp-includes شامل تمامی نرم افزارهای اصلی سایت وردپرس شما می باشد. می بینید که به روش های مختلفی به آن اشاره می شود: بسته ها، کتابخانه های کد و کد منبع وردپرس. نامگذاری در اینجا مهم نیست، اما کد حیاتی است.
بنابراین، تغییر هر چیزی در دایرکتوری wp-includes توصیه نمی شود، زیرا می تواند سایت شما را خراب کند و از دسترس خارج کند. به علاوه، دلیل خوبی برای این کار وجود ندارد. به ندرت با آموزشی مواجه می شوید که به شما توصیه می کند کدهای موجود در پوشه wp-includes را تغییر دهید.
یک استثنای ممکن برای این قانون فایل functions.php است. فایل functions.php شامل تمامی کدهای تمامی توابع موجود در سایت شما می باشد. این یک مورد خاص است زیرا با فایل functions.php که در تم فعال شما نیز وجود دارد کار می کند. به طور معمول، مواردی مانند کد Google Analytics و سایر کدهای ردیاب به فایل functions.php تم اضافه میشوند، اما در صورت تغییر موضوع ممکن است از بین بروند. به همین دلیل است که ممکن است با توصیه هایی روبرو شوید که به جای آن کد رهگیری را به فایل اصلی functions.php اضافه کنید. با این حال، توصیه می کنیم از تغییر هر چیزی در فایل های اصلی خودداری کنید. شما همیشه می توانید کد را از یک تم قدیمی به یک موضوع جدید به راحتی کپی کنید، بدون اینکه کل سایت خود را به خطر بیندازید.
فایل های اصلی وردپرس:
در مسیر root هاست نیز چندین فایل را مشاهده خواهید کرد. در حالی که همه آنها مهم هستند، برخی از آنها ارزش توجه دارند.
index.php:
یک فایل index.php مسئول نمایش سایت شما در پاسخ به درخواست بازدیدکننده است. هنگامی که صفحه ای درخواست می شود، فایل های اصلی مناسب را راه اندازی و بارگذاری می کند. این مفهوم با دیدن اینکه چه اتفاقی می افتد وقتی یک فایل index وجود ندارد بهتر درک می شود.
اگر پوشه root شما فایل index نداشت، وقتی شخصی سعی می کند از سایت شما بازدید کند، محتویات پوشه root در مرورگر نمایش داده می شود. جدا از تجربه کاربری ناخواسته وحشتناک، این یک مشکل امنیتی نیز هست.
فایل index یک فایل در سطح دایرکتوری است و در اکثر پوشه ها و زیر پوشه ها قابل مشاهده خواهد بود. به عنوان مثال، در پوشه wp-content نیز وجود دارد. اگر آن فایل حذف شده بود، محتویات پوشه قابل مشاهده است.
فایل های پیکربندی وردپرس:
زیرمجموعه خاصی از فایل های اصلی وجود دارد که به فایل های پیکربندی معروف هستند. فایل های پیکربندی تنها فایل های اصلی هستند که می توانید به طور منطقی انتظار ویرایش آنها را داشته باشید. این بدان معنا نیست که آنها به اندازه سایر فایل های اصلی مهم نیستند، با این حال، عملکرد سایت خاصی وجود دارد که می توانید آنها را فقط از داخل یک فایل پیکربندی تغییر دهید.
در حالت ایدهآل، باید از یک پلاگین تا جایی که ممکن است برای ایجاد این تغییرات استفاده کنید. به عنوان مثال، استفاده از یک پلاگین برای پیاده سازی geo-blocking به جای اصلاح فایل htaccess بسیار بهتر و آسان تر است. با این حال، اگر در حال ایجاد یک چند سایت هستید، باید کد را به صورت دستی در طول راه اندازی شبکه به فایل های پیکربندی اضافه کنید.
wp-config.php:
فایل wp-config برای ذخیره اطلاعات اتصال پایگاه داده، کلیدهای امنیتی و پیشوند پایگاه داده استفاده میشود. به همین دلیل اغلب توسط هکرها هدف قرار می گیرد، زیرا اعتبار پایگاه داده در متن شفاف ذخیره می شود، همانطور که کلیدهای امنیتی ذخیره می شوند.
کلیدهای امنیتی یک مکانیسم رمزگذاری هستند که توسط وردپرس برای احراز هویت کاربران وارد شده به صورت امن استفاده میشود.
فایل wp-config همچنین حاوی ویژگی اشکال زدایی داخلی وردپرس است. به طور پیش فرض، ویژگی اشکال زدایی غیرفعال است. پس از فعال شدن از فایل wp-config، تمام خطاها، هشدارها و اخطارها را نشان می دهد. این با رفتار معمولی که ممکن است فقط خطاهای بحرانی یا خطاهای مهم را نشان دهد متفاوت است.
در بسیاری از مقالات امنیتی، توصیه هایی برای انتقال فایل wp-config به مکان دیگری، خارج از root، مشاهده خواهید کرد. اما این ارزش محدودی دارد، زیرا هر سایت وردپرسی یک فایل wp-config در جایی در نصب دارد و یک هکر مصمم با دسترسی لازم در نهایت آن را پیدا خواهد کرد. یک راه بهتر برای ایمن سازی سایت وردپرس خود نصب یک افزونه امنیتی است. ترجیحا استفاده از فایروال خوب...
فایل htaccess.
هر دو فایل htaccess و wp-config در هنگام نصب وردپرس ایجاد می شوند و بنابراین در بسته نصب دانلود شده قابل مشاهده نیستند. حتی پس از نصب، فایل htaccess مخفی می شود. برای اینکه بتوانید آن را ببینید، گزینه مشاهده فایل های مخفی در فایل منیجر هاست خود را فعال کنید.
فولدر wp-content:
فایل ها و پوشه های پلاگین و تم، همانطور که از نام ها پیداست، با پلاگین ها و تم ها نصب می شوند. به عنوان مثال، اگر یک افزونه فرم تماس را نصب کنید، کد آن افزونه در این فایل ها خواهد بود. به طور مشابه، با موضوع؛ کد نمایش تصاویر و فونت ها در این فایل ها وجود دارد.
همه پلاگین ها و تم ها به طور کلی در پوشه wp-content یافت می شوند، مگر در شرایط خاص. به عنوان مثال، یک افزونه فایروال در سطح root قرار گیرد، بنابراین قبل از بقیه سایت بارگیری می شود. این مفهوم به ترتیب بارگذاری معروف است که اغلب در رابطه با امنیت وردپرس دیده می شود.
هر پلاگین یا قالب اغلب دارای پوشه مخصوص به خود با فایل هایی است که برای عملکرد صحیح نیاز دارد. در واقع، فایلهای نصب افزونه و قالب را میتوان از طریق FTP مستقیماً در پوشه wp-content آپلود کرد و سپس در آنجا از حالت فشرده خارج کرد.
Themes:
پلاگین ها تنوع بسیار زیادی دارند، بنابراین به ندرت با یک الگو مطابقت دارند.
به عنوان مثال، هر قالب دارای یک فایل functions.php است. هنگامی که در مورد فایل functions.php در پوشه wp-includes صحبت می کنیم، به طور خلاصه به این موضوع اشاره کردیم. فایل theme functions.php شامل تمام کدهای مورد نیاز برای اجرای قالب است. همچنین اغلب دارای کد اضافی مورد نیاز برای اجرای تجزیه و تحلیل و ردیاب ها در سایت شما است. هنگام تغییر به یک قالب جدید، باید از فایل functions.php نسخه پشتیبان تهیه کنید تا مطمئن شوید که هیچ یک از آن سفارشی سازی را از دست نمی دهید.
wp-uploads:
پوشه wp-uploads محل ذخیره فایل هایی است که کاربران در سایت آپلود می کنند. این به طور مستقیم با هر چیزی که در کتابخانه رسانه سایت قابل مشاهده است مرتبط است. فایل ها در پوشه های سالانه و سپس ماهانه برای بازیابی ذخیره می شوند.
پوشه wp-uploads به طور پیش فرض در دسترس عموم است، بنابراین اغلب خطرات امنیتی را به همراه دارد. به همین دلیل است که پوشه هرگز نباید هیچ فایل اجرایی داشته باشد.
بسته به نحوه پیکربندی نصب، ممکن است برخی از فایل های موجود در پوشه ها را همانطور که در بالا توضیح داده شد مشاهده نکنید.
آشنایی با جداول پایگاه داده وردپرس:
پایگاه داده سیستمی است که برای ذخیره، سازماندهی و بازیابی داده ها برای اجرای وب سایت شما استفاده می شود. همراه با فایل ها، بخش مهم دیگر سایت شما را تشکیل می دهد. پایگاه داده وردپرس برای ذخیره محتوای تولید شده توسط کاربر مانند پست ها، صفحات، نظرات و غیره در جداول استفاده می شود.
توجه: این اغلب به این دلیل است که توصیه هایی در مورد نحوه پشتیبان گیری از سایت وردپرس خود اغلب به شما پیشنهاد می کند که فقط از پایگاه داده پشتیبان تهیه کنید، با این فرض که می توانید سایر موارد را دانلود کنید. این روش خوبی نیست، زیرا همیشه باید از کل سایت خود نسخه پشتیبان تهیه کنید.
وردپرس از پایگاه داده MySQL برای ذخیره اطلاعات سایت در جداول، دستورات SQL برای دستکاری داده ها و زبان برنامه نویسی PHP برای برقراری ارتباط بین فایل ها و پایگاه داده استفاده می کند. بنابراین، هنگامی که وردپرس را برای اولین بار نصب می کنید، در حین نصب باید یک کاربر MySQL برای پایگاه داده ایجاد کنید. و همانطور که بعدا خواهیم دید، می توانید از یک رابط مانند phpMyAdmin یا Adminer برای دسترسی به پایگاه داده سایت خود استفاده کنید.
هر سایت دارای یک پایگاه داده مرتبط است و هر پایگاه داده از چندین جدول تشکیل شده است. جداول اصلی وردپرس عبارتند از:
- wp_options
- wp_users
- wp_usermeta
- wp_posts
- wp_postmeta
- wp_terms
- wp_term_relationships
- wp_term_taxonomy
- wp_comments
- wp_commentmeta
- wp_links
این جداول با وردپرس نصب می شوند. در طول زمان، با رشد سایت و اضافه شدن افزونه ها، پایگاه داده با جداول بیشتر و در نتیجه داده های بیشتر رشد می کند.
نکته مهمی که باید به خاطر داشته باشید این است که جداول اغلب پشت سر هم با یکدیگر کار می کنند. یعنی داده ها را می توان از جداول مختلف استخراج کرد. به عنوان مثال، نظرات روی پست ها در جدول wp_comments ذخیره می شوند، اما wp_commentmeta نیز برای بازیابی مهم است. این امر به ویژه در مورد سایت های WooCommerce صادق است، جایی که اطلاعات سفارش و محصول در چندین جدول ذخیره می شود.
نحوه دسترسی به فایل ها، دایرکتوری ها و پایگاه داده وردپرس
سایت وردپرس شما بر روی یک سرور میزبان وب ذخیره می شود . برای دسترسی به ساختار فایل وردپرس و پایگاه داده، باید به این سرور یا کامپیوتر متصل شوید. هر چند راه های مختلفی برای انجام این کار وجود دارد. هر روشی مزایا و معایب خود را دارد، بنابراین ارزش خواندن همه روشها و تصمیمگیری بهترین روش برای شما را دارد.
Cpanel:
رایج ترین روشی که در آموزش های وردپرس در مورد آن صحبت می شود استفاده از cPanel است. cPanel یک نرم افزار کنترل پنل است که توسط اکثر هاست های وب ارائه می شود. ابزارهای متنوعی برای کارهای مختلف دارد. مواردی که برای مشاهده فایل های وردپرس و پایگاه داده بیشتر به آنها علاقه مندیم به ترتیب File Manager و phpMyAdmin هستند.
برای دسترسی به cPanel در سایت خود، yourdomain.com را در نوار URL وارد کنید و سپس /cpanel را وارد کنید.
در قسمت Files یک نماد برای File Manager پیدا خواهید کرد.
فایل منیجر کمی شبیه کاوشگر فایل کامپیوتر شما است. پوشه ها و فایل های وردپرس را در یک رابط مشابه خواهید دید.
برای دسترسی به پایگاه داده، به دنبال نماد phpMyAdmin در قسمت Databases در cPanel بگردید.
phpMyAdmin جدا از سی پنل است، بنابراین آیکون صرفاً یک میانبر برای دسترسی به آن است. اگر به صورت خودکار وارد نشده اید، می توانید اعتبار ورود به پایگاه داده را در فایل wp-config.php بیابید.
در زیر تب Databases یا از پنل سمت چپ، پایگاه داده ای را پیدا کنید که با سایت شما مرتبط است اگر بیش از یک پایگاه داده وجود دارد.
با کلیک بر روی پایگاه داده خود، آن را برای نمایش تمام جداول در داخل باز می کند. علاوه بر این، با کلیک بر روی نام جدول، ردیف ها و مقادیر نمایش داده می شوند.
برخی از میزبان های وب سی پنل را ارائه نمی دهند و ممکن است یک نرم افزار کنترل پنل جایگزین مانند Plesk یا Webmin داشته باشند. ممکن است دیگران اصلاً هیچ گزینه ای نداشته باشند، در این صورت باید از FTP برای دسترسی به فایل های سایت خود استفاده کنید.
FTP/SFTP:
پروتکل انتقال فایل یا FTP جایگزینی برای HTTP است. همه ما با HTTP آشنا هستیم، پروتکلی که برای انتقال اطلاعات از طریق اینترنت استفاده می شود. آنها به روش های مختلف کار می کنند و به جای یکدیگر برای دسترسی به داده های یک سرور استفاده می شوند.
FTP از یک جهت کلیدی با HTTP متفاوت است و آن این است که نیاز به احراز هویت دارد. این بدان معناست که شما باید اعتبار ورود به سیستم را برای دسترسی به سرور ارائه دهید.
برای استفاده از FTP یا SFTP که ایمن تر است، باید یک کلاینت مانند FileZilla را دانلود و نصب کنید.
ابتدا، اعتبار FTP خود را در داشبورد میزبان وب خود پیدا کنید.
چرا باید با ساختار فایل و دایرکتوری وردپرس آشنا شوید:
چندین دلیل خوب وجود دارد:
مشکلات جزئی را در سایت خود حل کنید، مانند غیرفعال کردن یک افزونه یا موضوعی که در حال اجراست.
در صورت مواجهه با یک موضوع ضروری، مهم است که بتوانید بین توصیه خوب و بد تشخیص دهید. کمی دانش می تواند به شما کمک کند در صورت نیاز سوالات درست را بپرسید و بلافاصله توصیه های ضعیف را کنار بگذارید.
درک ساختار فایل سایت شما را به یک کاربر قدرتمند تبدیل می کند. ممکن است بتوانید کارهای بسیار بیشتری نسبت به قبل انجام دهید. اگر اینقدر تمایل داشته باشید، این یک پله برای یادگیری توسعه وردپرس نیز هست. به عنوان مثال، فرض کنید نیاز به تغییر مسیرها به سایت خود دارید، می توانید این کار را با تغییر فایل htaccess. بدون نیاز به مداخله توسعه دهنده انجام دهید.
همچنین از حذف یا تغییر فایلهای حیاتی یا مقادیر پایگاه داده جلوگیری میکند، زیرا میدانید که این امر باعث از کار افتادن سایت شما میشود.
تنظیم مجوزهای فایل زمانی آسانتر میشود که از تعامل بین فایلهای مختلف و اینکه کدام کاربران نیاز به دسترسی به آنها دارند مطلع شوید. در نگاه اول، قوی ترین مجوزها و سخت ترین قوانین امنیتی بهترین گزینه به نظر می رسد. این اصلا درست نیست. به یاد داشته باشید که فایل ها باید با یکدیگر ارتباط برقرار کنند و بنابراین برای انجام این کار به مجوزهای مناسب نیاز دارند.
چگونه از فایل ها، پوشه ها و پایگاه داده وردپرس در برابر بدافزار محافظت کنیم:
اکنون که درک خوبی از ساختار وردپرس، چه در داخل و چه در خارج دارید، می توانید اقداماتی را برای محافظت از آن در برابر هکرها انجام دهید. در امنیت وردپرس، پیشگیری همیشه بهتر از درمان است و انجام موارد زیر از اکثر حملات بدافزار جلوگیری می کند.
• یک افزونه امنیتی درجه یک با فایروال یکپارچه را نصب کنید
• روی پشتیبان گیری سایت سرمایه گذاری کنید
• وردپرس، افزونه ها و تم ها را تا جایی که ممکن است به روز نگه دارید
• از رمزهای عبور قوی و مدیریت رمز عبور برای به خاطر سپردن آنها استفاده کنید
• یک سیاست کاربری خوب را اجرا کنید
• هرگز از نرم افزارهای نال شده استفاده نکنید
نتیجه گیری:
اکنون که دانش کاری از سایت خود دارید، عاقلانه است که هر بار که می خواهید چیزی را تغییر دهید، یک نسخه پشتیبان تهیه کنید.
در صورت داشتن هرگونه سوال یا پیشنهاد با استفاده از فرم زیر با ما در ارتباط باشید.