بایگانی برچسب: وردپرس

حل مشکل URL شامل کارکترهای یونیکد توی IIS 8

وقتی که از URL Rewrite استفاده می‌کنید، یک‌سری ملاحظات امنیتی باعث می‌شه که کارکترهای یونیکد از آدرس‌هایی که شامل کارکترهای یونیکد هستن حذف بشن. برای همین، مثلن این‌جا نمی‌تونید برید دیگه و وقتی برید این‌جا، وردپرس فکر می‌کنه که صفحه‌ی اصلی سایت باز شده.

ما سرورمون رو عوض کردیم. قبلن از IIS 7.5 استفاده می‌کردیم و اون‌جا، مشکل‌مون رو این‌جوری حل می‌کردیم که به سرور می‌گفتیم که آدرسی که به وردپرس تحویل می‌دی، آدرس unencoded باشه. این مساله، این مشکل امنیتی رو به وجود میاره که اگر مثلن به IIS بگیم که فقط کاربرهایی که هویت‌سنجی شدن می‌تونن به test.php دسترسی پیدا کنن، این محدودیت رو می‌شه با فرستادن ریکوئست به test%2ephp دور زد.

نمی‌دونم چرا ولی توی IIS 8 با همون web.config به مشکل خوردیم و باعث می‌شد کلن همه‌ی آدرس‌هامون internal server error بگیره. بنابراین پس از اندکی جست‌وجو، به این‌جواب رسیدم. برای حل مشکل، کافیه به وردپرس بگیم که به‌جای آدرسی که از سرور می‌گیری، آدرس unencodedش رو بگیر. برای این‌کار اول wp-config.php این کد رو اضافه می‌کنیم:

if ( isset($_SERVER['UNENCODED_URL']) ) {
$_SERVER['REQUEST_URI'] = $_SERVER['UNENCODED_URL'];}

 

لطفن فایل readme.html وردپرس خودتون رو پاک کنید!

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

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

تغییراتی که من روی پوسته دو هزار و چهارده اعمال می‌کنم قبل از استفاده‌ی نهایی ازش

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

  • پوسته دو هزار و چهارده با صفحات عریض مشکل داره (شاید مشکل نباشه چون این چیزی نیست که از چشم تیم وردپرس دور بمونه ولی چیز جالبی نیست از نظر من) و همون‌طور که این‌جا میبینید حتی توی صفحه‌ی ۱۳۶۶ در ۷۶۸ هم حتی گوشه‌ی سمت چپ‌ش (توی نسخه‌ی راست به چپ) خالیه. برای رفع این مشکل توی انجمن‌های وردپرس چند خط کد css هست که با اضافه‌کردن اون به فایل style.css پوسته یا پوسته‌ی کودک مشکل حل میشه. (البته کدی که توی گیت‌هاب وجود داره یه ذره بیش‌تره و من اون رو از سایت سازنده‌ی پوسته ورداشتم که خودش بر اساس کارهای یکی دیگست :) )
  • برای اضافه کردن تغییرات خودم به پوسته یکی از ساده‌ترین (و در عین حال بدترین!) راه‌ها ویرایش مستفیم فایل style.css پوسته‌ست. حداقل ضررش اینه که اگه پوسته آپدیت بشه اون تغییرات از بین میرن. برای همین هم وردپرس یه راه‌حل جایگزین پیشنهاد می‌کنه و اونم استفاده از پوسته‌ی کودکه. پوسته‌ی کودک تمام فایل‌هاش رو از پوسته‌ی پدر به ارث می‌بره جز فایل‌هایی که خودتون اضافه کنید. (در این مورد فقط فایل style.css) و البته نباید فراموش کنیم که اگه فایلی توی پوسته‌ی کودک وجود داشته باشه وردپرس دیگه اون فایل رو از پوسته‌ی والد اجرا نمی‌کنه. اگه بعدا وقت شد یه نوشته راجع بهش می‌نویسم.
  • توی صفحه‌ی اصلی به دلایلی تصمیم گرفتم که تصویرهای شاخص (یا همون تامبنیل) رو نشون ندم. و این نوشته کمک کرد. من از روش اول‌ش استفاده کردم. و بعدش مجبور شدم تغییراتی توی css بدم چون نوشته‌ها یا خیلی از هم فاصله گرفته بودن یا رفته بودن تو هم.
  • فونت عنوان‌های صفحه‌ی اصلی رو کردم ۲۵ واحد. (کوچیک‌شون کردم)
  • نمی‌دونم چرا ولی حتی توی فایل rtl.css پوسته هم یک‌سری از فونت‌ها تاهوما نبودن و از نظر من فونت پیش‌فرض فارسی (که ما فونت پیش‌فرض استاندارد و رسمی نداریم!) زشته و برای همین هم اون فونت‌هایی که تاهوما نبودن رو تاهوما کردم. از جمله فونت ویرایشگر وردپرس (توی پوشه‌ی /wp-content/themes/twentyfourteen/css/editor-style.css پیداش می‌کنید) و فونت عبارت «اضافه‌کردن دیدگاه».
  • نمی‌دونم کی توی تیم ترجمه‌ی فارسی به ذهن‌ش رسیده که «thought» توی بخش دیدگاه‌ها رو «فکر» ترجمه کنه ولی به نظرم «دیدگاه» واژه‌ی مناسب‌تری اومد برای همین فایل ترجمه‌ی پوسته رو هم ویرایش کردم.
  • آخرین تغییر هم یه ذره توضیح داره. اگه برید آخر صفحه‌ی اصلی می‌بینید که با نوشته‌های «پسین» و «پیشین» مواجه میشید که برای رفتن به صفحات بعد هستن و کنارشون هم یه پیکان وجود داره. توی نسخه‌ی انگلیسی برای رفتن به صفحه‌ی بعد از پیکان سمت چپ استفاده شده و توی فارسی هم (در واقع توی فایل ترجمه) پیکان رو به پیکان سمت راست ترجمه کردن. حدس می‌زنم موقعی که توی CSS جهت صفحه رو تغییر می‌دیم (با ویژگی direction) جهت پیکان ها هم برعکس می‌شه و برای همین هم توی ترجمه‌ی اصلی پوسته پیکان‌ها برعکس هستن. برای همین هم دوباره فایل ترجمه رو ویرایش کردم و جهت پیکان‌ها (پسین و پیشین) رو عوض کردم.

اینا تغییراتی بود که من اعمال کردم و فایل‌های تغییر یافته به صورت جداگانه توی گیت‌هاب موجوده. به دلیل مشکلات افزونه‌ای نتونستم کدها رو این‌جا بزارم ولی فایل‌های گیت‌هاب توضیحات دارن. خوشحال می‌شم اگه مشکل دیگه‌ای توی سایت پیدا کردید در قالب دیدگاه یا ایمیل به info در 2barnamenevis.com به ما اطلاع بدید.

پی‌نوشت: این نوشته و پروژه‌ی گیت‌هاب با هر تغییر به‌روزرسانی می‌شه.

به‌روزرسانی ۱: خط زیر لینک‌ها رو هم حذف کردم.

افزونه‌های برتر وردپرس در زمینه‌ی سئو

(نویسنده‌ی مهمان) امروزه سئو یک فاکتور اساسی در رتبه‌بندی وبگاه شماست. اگر سئوی سایت شما خوب باشد، وبگاه شما در نتایج جستجو بیشتر دیده خواهد شد و این یعنی بازدید یا درآمد بیشتر. در این نوشته ۵ افزونه‌ی وردپرس که به شما در بهینه سازی سئوی وبگاه خود کمک می‌کنند معرفی خواهد شد.

۱- All in One SEO Pack

معروفترین و مهم ترین افزونه‌ی سئوی وردپرس! ویژگی های متعددی دارد که توضیح آنها در این نوشته نمی‌گنجد. از مهم ترین ویژگی‌های این افزونه این است که از آنالیزور گوگل پشتیبانی می‌کند، نوشته‌های مشابه را اضافه می کند ، متا تگ ها را طبقه بندی می کند ، عنوان نوشته های شما را برای موتور های جستجو  تنظیم می کند.

۲- Google XML Sitemaps

یک از راه های ساده اما مهم برای حضور بیشتر در نتیاج جستجو، داشتن یک نقشه سایت خوب و کامل است. این  پلاگین فوق العاده نقشه سایت را برای شما ایجاد می کند. نقشه ای که این پلاگین ایجاد می کند ، سایت شما را به صورت کامل شامل می شود، و برای تمام نسخه های وردپرس قابل نصب است. البته باید پس از این‌که این افزونه را راه اندازی کردید، از طریق Google Webmaster Tools، نقشه‌ی سایت خود را Submit کنید. همچنین می‌توانید آن‌را در robots.txt نیز قرار دهید. (به robots.txt وبگاه دو برنامه‌نویس نگاه کنید!)

۳- SEO Friendly Images

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

۴- Redirection

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

۵- SEO Smart Links

این پلاگین واژه های کلیدی داخل پست و کامنت های شما را با پست ها ، صفحات و موضوعات دیگر لینک می کند. این پلاگین همچنین با ارائه ویژگی «دنبال نکردن» لینک های خروجی (nofollow)، جلوی خروج موتورهای جستجو را از سایت شما می‌گیرد.

آیا افزونه یا ترفند دیگری برای بهبود سئوی وبگاه‌های وردپرسی می‌شناسید؟ بد نیست در دیدگاه‌ها آن‌ها را با سایر بازدیدکنندگان در میان بگذارید!