ExressionEngine Search Engine Optimization
Getting Started with Expression Engine
How to Use ImageSizer to Scale Lightbox Gallery Images in ExpressionEngine
Tips for optimizing ExpressionEngine website for better performance
1. Secure the file and folder permissions of the site
2. Change the administrator login web address
Concealing the administrator path to the ExpressionEngine which enables backend access to make changes to the website can help prevent intrusions. Easily guessed administrator login pages are much more likely to fall under brute force attacks. Changing the ExpressionEngine administrator web address or URL hides the login page to thwart unwanted access attempts. To do so, rename the admin.php file to one of your choosing, then edit the the line shown below in the system/expressionengine/config/config.php file to reflect the new name of the admin.php file.
3. Manage access points
You can access your site through SSH, FTP, or the SiteWorx control panel, and the choice depends on you and what you want to achieve. Each of these protocols should have different passwords and should follow your password policy. Always use secure methods of accessing your site and moving or modifying the content of the site. Finally, connection methods like SSH, SFTP, or SCP offer relatively easy ways to provide an additional layer of security.
4. Deploy changes responsibly
One of the major sources of site exploitation is vulnerable plugins. Extensions, themes, and other applications can create vulnerabilities. The best way to minimize this threat is to first implement all new changes in a development environment. Frequently referred to as a “dev site,” this environment is an exact copy of your live site, but changes made to it do not affect your actual website. We also recommend you backup both the site files and the database before making any changes, as these form the final line of defense against security breaches and data corruption.
5. Implement your own password policy
A password policy states requirements for passwords. Our recommendation for a strong password is:
ExressionEngine Search Engine Optimization
Getting Started with Expression Engine
How to Use ImageSizer to Scale Lightbox Gallery Images in ExpressionEngine
Tips for optimizing ExpressionEngine website for better performance
What are the Things You Can Do With ExpressionEngine?
6. Change or move the system folder
Obscuring the path of the ExpressionEngine system folder can help prevent intrusions. The system folder is the core of your ExpressionEngine install and contains sensitive information. To change the name of the system folder, edit the line below in both the index.php file and admin.php file.
$system_path = ‘../system’;
The above example moves the system folder up one directory.
$system_folder = 'system';
This isn’t iron clad security but it sure is better than an easily guessable /system folder. Now, let’s make it better.
$system_folder = '../sys';
7. Add CAPTCHAs to forms
CAPTCHAs offer additional validation to forms to prevent aggressive spamming. Before users may submit a form, they must read and enter a generated code for each post. Recent versions of ExpressionEngine include the CAPTCHA feature and require minimal effort to implement. CAPTCHAs can be implemented on comment forms, member registration forms, and contact or tell-a-friend forms
8. Secure Setup Paths
Here are the paths recommended for use for various parts of EE2 installation:
9. Get SSL set up on your server
Browser: Hey, can I have a connection to port 80?
Server: Yip, go ahead.
Browser: Ok, give me exp-resso.com, page /
Server: Sure, here you go!
With an SSL connection, the request goes like this:
Browser: Hey, can I have a secure connection to port 443?
Server: Yip, here’s my certificate.
(browser checks certificate)
Browser: Ok, give me exp-resso.com, page /
Server: Sure, here you go!
Notice that the certificate is validated before the browser sends the “host” header. The clever folk in charge of SSL realised this, and developed TLS (the replacement for SSL), which includes a technology called Server Name Indication. This allows the browser to specify a host name before the certificate is requested.
Once you have SSL set up and working on your server, you should be able to browse to https://www.example.com and see your website. If this doesn’t work, you probably need to get in touch with your web host to figure out why things that aren’t working
Securing specific sections of your web site
In some circumstances, you will want to secure your entire website, and only allow it to be served over HTTPS. If this is the case, then you’re nearly done. All you need to do is prevent access over regular HTTP. This can be accomplished using a couple of lines at the top of your .htaccess file:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
This tells your Apache server “If HTTPS is off, redirect to https://current-domain/current-page”. If you are running your entire site over HTTPS, you should also check that your Site URL and all other URLs in your ExpressionEngine settings use HTTPS. The easiest way to do this is to grab a copy of thr free REElocate find-and-replace module to update your settings all at once.
Putting all these recommendations together, you have a simple and secure way to run on your ExpressionEngine2 website. If you have issues, you can contact customer support