اگر شما هم به فکر راهاندازی وبسایتی با سیستم تولید محتوای وردپرس هستید، باید حتما برخی از قواعد و قوانین را جهت حفظ وبسایت خود رعایت نمایید و از انجام برخی فعالیتهایی که شما را دچار مشکل خواهد نمود، به شدت دوری کنید. در ادامه با 5 خطای رایج وردپرس که ممکن است رخ دهد، آشنا میشویم.
در حال توسعه وردپرس هستید؟ از 5 خطای رایج وردپرس اجتناب کنید.
بعنوان یکی از توسعهدهندگان، ممکن است با انواع مختلفی از خطاها در مسیر راهاندازی و توسعهی کسبوکار خود روبرو شوید و بطور خاص در مسیر توسعهWordPress . جهت آشنایی بیشتر با وردپرس، امکان دارد انواع مختلفی از خطاها و اشتباهات را رخ دهد. اما مهم اینست که اشتباهات و خطاها را دوباره تکرار نکنیم، لذا افراد باهوش از اشتباهات خود درس میگیرند و باهوشترینها از اشتباهات دیگران تجربه کسب میکنند. بنابراین در عین اینکه همه اشتباه میکنند، افرادی هستند که این اشتباهات را به اشتراک میگذارند تا دیگران دچار آن اشتباهات و مشکلات نشوند. با 5 خطای رایج وردپرس همراه هستیم.
عدم تهیهی نسخهی پشتیبان از وبسایت وردپرسی
از دست دادن دادهها و اطلاعات، تجربهای بسیار دردناک است. اما چگونه میتوان از وقوع آن جلوگیری نمود و یا در صورت وقوع کمترین خسارت را متحمل شد؟
وبسایتهای وردپرسی نسبت به سایر وبسایتها، بیشتر در معرض حملات هکرها قرار میگیرند و این امر باعث میشود تا تمامیدادهها و اطلاعات وبسایتتان بطور کامل پاک شوند. در برخی موارد نیز بخاطر ویروسی شدن وبسایت، به دلیل ویروسی بودن افزونه یا قالب وبسایت نیز، ویروسها به سایت نفوذ کرده و در نتیجه باعث حذف شدن تمامیدادهها و اطلاعات وبسایت شما خواهد شد.
در صورتیکه در بازههای زمانی مشخص شده و بطور منظم، از وبسایت خود بکآپ یا نسخهی پشتیبان تهیه نمایید، در صورت از بین رفتن اطلاعات و دادههای وبسایتتان، دوباره میتوانید اطلاعات مربوطه را بازیابی نمایید.
البته بعضی از شرکتهای میزبانی وهاستینگ نیز قادرند تا اطلاعات وبسایتتان را دوباره بازگردانند، ولی بخاطر این کار ممکن است هزینهی هنگفتی از شما درخواست کنند.
توجه داشته باشید که افزونههای متعددی از جمله افزونهی UpdraftPlus در وردپرس وجود دارند که در مدت زمانی مشخص، میتوانند فایل پشتیبان و بکآپ از وبسایتتان تهیه کنند.
WP Engine یکی از شرکتهای برتر ارائهدهندهی خدماتهاست وردپرس مدیریت شده است و از اولین شرکتهایی است که جهت ایجاد و ارائهی بهترینهاست وردپرس اقدام نمودهاند. WP Engine به کاربرانی که برای وبسایت پرترافیکشان نیازمندهاست وردپرس مدیریت شده هستند، توصیه میشود.
از مزایای WP Engine میتوان به:
- ویژگی امنیتی بیشتر
- پشتیبانی 24 ساعته و هفت روز هفته
- قابلیت نصب افزونههایی جدید جهت آزمایش قبل از اجرای آن در وبسایت اصلی، اشاره نمود.
و معایبWP Engine شامل موارد زیر است:
- پلنهای گرانقیمت برای وبسایتهای کوچک
- امکان دارد بعضی از تمها و افزونهها قابل استفاده نباشند.
- هزینههایی اضافی جهت فضای ذخیرهسازی بیشتر و همچنین افزایش بازدیدکنندگان
زمانیکه کل پلتفرم را در دایرکتوری همنیای آن درگ کردم.
کار جدیدم را در یک فروشگاه مک آغاز کردم. در حالیکه در این محل کار حرفهای، نسبتاً تازه کار بودم اما همیشه سعی میکردم با مسائل جدید خوب و سریع کنار بیایم. اما خب، تقریباً کار با “ماوس جادویی” برای من دردسرهای زیادی داشت و هروقت اتصال بلوتوث خود را از دست میدادم و دوباره متصل میشدم، این امر به اقدامات تصادفی و اغلب ترسناک drag-and-drop برای من منجر میشد.
وقتی که متوجه شدیم کل پلتفرم از بین رفته است، مدیرسیستم تصور میکرد که نوعی حمله DDoS یا چیزی شبیه به آن رخ داده است. اما خیلی زود دلیل مشخص و مشکل حل شد. مدیر طرحهای فنی از من خواست که به اتاق کنفرانس بیایم. مدیرسیستم مشکل را شناسایی کرده بود. باتوجه به لاگهای مربوط به FTP مشاهده کردیم که من، کل پلتفرم را به یک دایرکتوری همنیا انتقال دادهام. این بود که wp-content تحت شاخهی wp-includes شده بود.
من خیلی ناراحت بودم، اما مدیر طرحهای فنی مرا راهنمایی کرد تا دوباره دچار چنین مشکلی نشوم و به دنبال راههایی برای جلوگیری از این اتفاق باشم.
اولین اقدام امنیتی که در این خصوص انجام دادم، قراردادن یک دستور CLI (رابط خط فرمان) برای جلوگیری Cyberduck از اجازه حرکت فایلها از راه دور بود.
مورد دوم این بود که چون علاقه زیادی به استقرار Git (گیت نوعی سیستم کنترل ورژن است که از طریق آن میتوانید تغییرات اعمال شده در فایلها را راحتتر پیگیری نمایید) داشتم، سیستم کنترل ورژنBitBucket را راهاندازی نمودیم. (BitBucket جهت کنترل نسخهی پروژههای شما ازGit استفاده میکند.)
استفاده از Xdebug و PHPUnit
هیچوقت زمانی را که بخاطر یک اشتباه کدنویسی و ناخواسته تمام محتوای front-end را از طریق ()add_filter حذف کردم، فراموش نمیکنم.
لذا هنگامیکه تصمیم به توسعه برنامهای دارید باید به فاکتورهای مختلفی توجه نمایید تا محصول نهایی از کیفیت خوبی برخوردار باشد و در حقیقت توسعهدهندگان با تجربه همیشه از بهترین قراردادها و روشها جهت کدنویسی استفاده میکنند. براین اساس لازم است تا کدها را قبل از پیادهسازی برروی سرور دیباگ نمایید تا از اینکه با هیچ خطایی روبرو نیستید، مطمئن شوید. به همین خاطر به ابزاری جهت دیباگ نیاز دارید. یکی از ابزارها جهت این کار Xdebug است.
فرض کنید که کدهای برنامه را نوشتهاید و حال قصد دارید آن را کامپایل نمایید اما خطایی رخ میدهد، لذا کد متوقف میشود. یکی از بدترین مشکلات در این شرایط این است که نمیدانیم چه خطایی رخ داده است و یا اصلا مشکل از کجاست. اینجاست که Xdebug موردنیاز است، Xdebug با قابلیتهای خوب خود به توسعهدهندگان این امکان را میدهد تا کدهای خود را بدون خطا بنویسند. Xdebug به شما کمک میکند تا breakpointها یا نقاطی را در برنامهتان تعریف کنید و روند اجرای کد را در هر مرحله متوقف کنید تا مشخص شود که مشکل اجرایی مربوط به کدام بخش است.
افزودنbreakpointها در Xdebug هیچ محدودیتی ندارد و شما میتوانید به هر تعدادbreakpoint به آن اضافه نمایید.breakpointها چه در کدهای عادی شما قرار بگیرند و چه در یک تابع، اطلاعات بسیار کاملی را ارائه خواهند داد.
PHPUnit یک کتابخانه مستقل برای تست واحد PHP است. unit testing روشی است که به وسیلهی آن واحدهای کوچک کد در برابر نتایج مورد انتظار، تست میشوند. با تست واحد، هر مؤلفه کد را بصورت مجزا تست میکنیم. مهمترین مزیت این رویکرد در آسانتر شدن تشخیص زودهنگام اشکالات است.
امروزه بیشتر فریمورکهای مدرن PHP نظیرLaravel ، CakePHP وSymfony از phpunit بهره میبرند. سیستمهای مدیریت محتوا شامل وردپرس و دروپال نیز از آن جهت تست، استفاده میکنند .
استفاده از نرمافزارهای جیرا و ترلو جهت کنترل پروژه
در ابتدا JIRA جهت ردیابی مشکلات تیمهای برنامهنویسی طراحی شد. اما در طی زمان توانست ویژگیهای خود را بطور چشمگیری توسعه دهد، تا آنجا که اکنون مبدل به ابزاری بسیار کارآمد در زمینههای توسعه نرمافزاری، کنترل پروژه و چندین کاربرد دیگر شده است.
لذا جیرا (Jira) با هزاران ابزار و ویژگیهایی خاص، نرمافزاری فوق العاده کاربردی با کاربری آسان جهت انجام امور توسعه نرمافزاری، کنترل پروژه و بسیاری کاربردهای گوناگون دیگر میباشد.
همچنین Jira نرمافزاری با قابلیت شخصیسازی بسیار بالاست که تمام سطوح آن از پایینترین سطح یعنی فیلد گرفته تا پروژهها، issueها، مجوزها، کاربران، نمودار گردش کار و اعلانها را میتوان برطبق نیاز نهادی که از آن استفاده میکند، شخصیسازی نمود.
به کمک ترلو (Trello) یک شخص، مجموعه یا تیم قادر است تا تمام یا بخش قابلتوجهی از برنامهها و پروژه را در آن قرار داده و مدیریت نماید. به بیانی سادهتر، ترلو ابزاری جهت مدیریت و راهبرد پروژه و یا برنامههای عمومیو شخصی بصورتی کاملا هماهنگ است. در اینصورت برنامه و یا پروژه بصورت برد (Board) تعریف شده و موارد بصورت Card در آن قرار داده میشوند. در جزئیات Card نیز اقدامات بسیاری مانند یادداشت، برچسبگذاری، پیوست فایل، توضیح و … را میتوان انجام داد. علاوه براین در هر مرحله از کار میتوانیم افرادی را به Board اضافه کنیم تا کار به شکل تیمیانجام شود. بطور معمول هر عضو از تیم، هر برنامه یا اقدامیرا بصورت Card در Trello تعریف میکند، اینکار تا بالاترین سطح برنامه و پروژه به شکلی هماهنگ قابل اجرا خواهد بود.
اسکنهای زمانبندی شده جهت جلوگیری از ورود بدافزارها
با کمک اسکنهای برنامهریزی شده، قادرید وبسایتتان را از خرابکاریهای احتمالی بدافزارها محافظت نمایید. اغلب این سرویسها، مثل اسکن بدافزارها در افزونهiThemes Security Pro ، گزارشی از وضعیت بدافزار بر روی وبسایتتان، بهمراه چندین وضعیت لیست سیاه دیگر را ارائه میدهند.
کلام آخر
برید جلو و از اشتباهات دیگران درس بگیرید.
این اشتباهه که اشتباهات دیگران و یا خودتان را دوباره تکرار کنید. آنچه مهم است این است که چگونه از این اشتباهات درس بگیرید و در جهت پیشرفت و رشد خود از آنها استفاده نمایید. علاوه بر این سعی کنید بعنوان یک توسعهدهنده، هنگام اشتباه دیگران با آنها با مهربانی و شفقت رفتار کنید، همانطور که دوست دارید دیگران با شما رفتار کنند. در برابر اشتباهات کنجکاو و پاسخگو باشید تا به نوآوریهای جدید دست یابید و همیشه سعی کنید تا از تجربیات دیگران نهایت استفاده را ببرید و همچنین تجارب کاریتان را در اختیار دیگران قرار دهید.