<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dev4Press&#187; hosting companies Tag Archives, page 1 of 1 | Dev4Press</title>
	<atom:link href="http://www.dev4press.com/tag/hosting-companies/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dev4press.com</link>
	<description>Premium Plugins and Themes for WordPress</description>
	<lastBuildDate>Thu, 23 May 2013 09:33:41 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Measuring impact of plugins on WordPress loading</title>
		<link>http://www.dev4press.com/2011/blog/benchmark/measuring-impact-of-plugins-on-wordpress-loading/</link>
		<comments>http://www.dev4press.com/2011/blog/benchmark/measuring-impact-of-plugins-on-wordpress-loading/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 17:30:12 +0000</pubDate>
		<dc:creator>MillaN</dc:creator>
				<category><![CDATA[Benchmark]]></category>
		<category><![CDATA[active plugins]]></category>
		<category><![CDATA[different loading stages]]></category>
		<category><![CDATA[GD Affiliate Center]]></category>
		<category><![CDATA[GD Press Tools]]></category>
		<category><![CDATA[GD Star Rating]]></category>
		<category><![CDATA[GD Unit Converter]]></category>
		<category><![CDATA[hooks]]></category>
		<category><![CDATA[hosting companies]]></category>
		<category><![CDATA[impact]]></category>
		<category><![CDATA[loader]]></category>
		<category><![CDATA[loading impact]]></category>
		<category><![CDATA[loading optimization]]></category>
		<category><![CDATA[measurement]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[plugins snapshots]]></category>
		<category><![CDATA[shared hosting]]></category>
		<category><![CDATA[WooCommerce]]></category>
		<category><![CDATA[WordPress SEO]]></category>
		<category><![CDATA[worst loading stats]]></category>
		<category><![CDATA[YOURLS]]></category>

		<guid isPermaLink="false">http://www.dev4press.com/?p=11630</guid>
		<description><![CDATA[One of the best things about WordPress are plugins. With plugins you can expand WordPress and make it into anything you need it to be. But, each plugin requires time for loading and processing and it takes up additional resources. How much exactly one plugin need?]]></description>
				<content:encoded><![CDATA[<p>One of the best things about WordPress are plugins. With plugins you can expand WordPress and make it into anything you need it to be. But, each plugin requires time for loading and processing and it takes up additional resources. How much exactly one plugin need?</p>
<h3>Measurement Process</h3>
<p>For this article I have tested 35 plugins. This includes both free and commercial plugins, big and small plugins and all of them are tested on the admin side and on the website frontend. All tests are done with a single installation, and WordPress 3.3 RC1 was used. Tests are done on the local server with PHP 5.3.8.</p>
<p>Testing exact impact of plugins on WordPress is not easy, since there are two things that happen during the loading process. First part is WordPress loading the plugin (using PHP <strong>include</strong> function). Second part is done through actions and filters added by plugin to WordPress during loading stage. First part is not to complicated to measure and that is what you have in the table below. Second part is very complicated to measure because it would need tracking of each action or filter executed. This second part is even more complex if you take into account that different actions and filters are executed only on some of the pages or panels.</p>
<p>All measurements are done using <a title="GD Press Tools Pro" href="http://www.dev4press.com/plugins/gd-press-tools/" target="_blank">GD Press Tools Pro 4.3.1</a> plugin. Plugin has a tracker class that can be loaded from wp-config.php file to accurately capture snapshots of different loading stages (among other things). To allow capturing plugins snapshots, I made small change to WordPress core files: added snapshot call into loop that loads plugins.</p>
<h3>Measurement Results</h3>
<p>35 tested plugins are listed in the table below. You can see how much memory each plugin needs during loading, how many SQL queries are run and how many hooks attached to WordPress, as well as the total time needed for this loading stage. All this is done on the admin side (dashboard) and on the frontend (home page).</p>
<table class="d4ptable d4ppluginsbench">
<thead>
<tr>
<th></th>
<th colspan="4">Administration</th>
<th colspan="4">Frontend</th>
</tr>
<tr>
<th>Plugin</th>
<th>Mem.</th>
<th>SQL</th>
<th>Time</th>
<th>Hooks</th>
<th>Mem.</th>
<th>SQL</th>
<th>Time</th>
<th>Hooks</th>
</tr>
</thead>
<tbody>
<tr>
<th>After The Deadline</th>
<td>0.1M</td>
<td>0</td>
<td>0.004</td>
<td>10</td>
<td>0.1M</td>
<td>0</td>
<td>0.005</td>
<td>10</td>
</tr>
<tr>
<th>Akismet</th>
<td>0.2M</td>
<td>2</td>
<td>0.006</td>
<td>19</td>
<td>0.1M</td>
<td>1</td>
<td>0.004</td>
<td>7</td>
</tr>
<tr>
<th>All In One SEO Pack</th>
<td>0.7M</td>
<td>1</td>
<td>0.010</td>
<td>12</td>
<td>0.7M</td>
<td>1</td>
<td>0.012</td>
<td>12</td>
</tr>
<tr class="opt-plus-one">
<th>Antispam Bee</th>
<td>0.3M</td>
<td>1</td>
<td>0.004</td>
<td>2</td>
<td>0.2M</td>
<td>0</td>
<td>0.005</td>
<td>6</td>
</tr>
<tr class="opt-plus-one">
<th>BackupBuddy</th>
<td>1.0M</td>
<td>1</td>
<td>0.099</td>
<td>30</td>
<td>0.6M</td>
<td>0</td>
<td>0.009</td>
<td>9</td>
</tr>
<tr class="opt-minus-one">
<th>BackupWP</th>
<td>0.5M</td>
<td>0</td>
<td>0.007</td>
<td>9</td>
<td>0.5M</td>
<td>0</td>
<td>0.008</td>
<td>9</td>
</tr>
<tr class="opt-minus-two">
<th>bbPress</th>
<td>4.0M</td>
<td>0</td>
<td>0.047</td>
<td>216</td>
<td>3.8M</td>
<td>0</td>
<td>0.061</td>
<td>205</td>
</tr>
<tr>
<th>Better WordPress Google<br />
XML Sitemaps</th>
<td>0.6M</td>
<td>2</td>
<td>0.010</td>
<td>12</td>
<td>0.7M</td>
<td>2</td>
<td>0.013</td>
<td>12</td>
</tr>
<tr class="opt-zero">
<th>Contact Form 7</th>
<td>0.5M</td>
<td>0</td>
<td>0.007</td>
<td>16</td>
<td>0.4M</td>
<td>0</td>
<td>0.008</td>
<td>16</td>
</tr>
<tr>
<th>Dev4Press Updater</th>
<td>0.3M</td>
<td>2</td>
<td>0.007</td>
<td>5</td>
<td>0.3M</td>
<td>2</td>
<td>0.010</td>
<td>5</td>
</tr>
<tr class="opt-minus-one">
<th>Events Manager</th>
<td>4.2M</td>
<td>1</td>
<td>0.051</td>
<td>60</td>
<td>3.0M</td>
<td>1</td>
<td>0.042</td>
<td>54</td>
</tr>
<tr class="opt-minus-one">
<th>gdHeadSpace 4</th>
<td>0.7M</td>
<td>1</td>
<td>0.013</td>
<td>20</td>
<td>0.7M</td>
<td>1</td>
<td>0.013</td>
<td>8</td>
</tr>
<tr class="opt-plus-two">
<th>GD Affiliate Center Pro</th>
<td>1.1M</td>
<td>0</td>
<td>0.017</td>
<td>16</td>
<td>0.7M</td>
<td>0</td>
<td>0.013</td>
<td>9</td>
</tr>
<tr>
<th>GD bbPress Attachments</th>
<td>0.2M</td>
<td>0</td>
<td>0.003</td>
<td>1</td>
<td>0.2M</td>
<td>0</td>
<td>0.004</td>
<td>1</td>
</tr>
<tr>
<th>GD Pages Navigator</th>
<td>0.5M</td>
<td>0</td>
<td>0.008</td>
<td>3</td>
<td>0.5M</td>
<td>0</td>
<td>0.009</td>
<td>3</td>
</tr>
<tr class="opt-plus-two">
<th>GD Press Tools Pro</th>
<td>2.9M</td>
<td>0</td>
<td>0.032</td>
<td>78</td>
<td>2M</td>
<td>0</td>
<td>0.027</td>
<td>38</td>
</tr>
<tr class="opt-minus-one">
<th>GD Products Center Pro</th>
<td>2.4M</td>
<td>0</td>
<td>0.029</td>
<td>28</td>
<td>2.2M</td>
<td>0</td>
<td>0.032</td>
<td>17</td>
</tr>
<tr class="opt-minus-two">
<th>GD Star Rating</th>
<td>3.8M</td>
<td>0</td>
<td>0.043</td>
<td>12</td>
<td>3.8M</td>
<td>0</td>
<td>0.047</td>
<td>14</td>
</tr>
<tr class="opt-plus-two">
<th>GD Custom Posts And<br />
Taxonomies Tools Pro</th>
<td>2.8M</td>
<td>0</td>
<td>0.039</td>
<td>61</td>
<td>1.7M</td>
<td>0</td>
<td>0.027</td>
<td>23</td>
</tr>
<tr class="opt-minus-one">
<th>GD Unit Converter</th>
<td>0.5M</td>
<td>0</td>
<td>0.007</td>
<td>4</td>
<td>0.4M</td>
<td>0</td>
<td>0.010</td>
<td>4</td>
</tr>
<tr class="opt-minus-one">
<th>GravityForms</th>
<td>2.9M</td>
<td>0</td>
<td>0.025</td>
<td>4</td>
<td>2.8M</td>
<td>0</td>
<td>0.030</td>
<td>4</td>
</tr>
<tr>
<th>JetPack</th>
<td>0.7M</td>
<td>0</td>
<td>0.008</td>
<td>5</td>
<td>0.7M</td>
<td>0</td>
<td>0.009</td>
<td>5</td>
</tr>
<tr>
<th>Lightbox Plus</th>
<td>0.7M</td>
<td>0</td>
<td>0.011</td>
<td>8</td>
<td>0.7M</td>
<td>0</td>
<td>0.013</td>
<td>7</td>
</tr>
<tr>
<th>Regenerate Thumbnails</th>
<td>0.1M</td>
<td>0</td>
<td>0.002</td>
<td>1</td>
<td>0.1M</td>
<td>0</td>
<td>0.002</td>
<td>1</td>
</tr>
<tr class="opt-minus-two">
<th>Subscribe2</th>
<td>1.4M</td>
<td>0</td>
<td>0.013</td>
<td>5</td>
<td>1.4M</td>
<td>0</td>
<td>0.016</td>
<td>5</td>
</tr>
<tr>
<th>Subscribe to Comments Reloaded</th>
<td>0.3M</td>
<td>2</td>
<td>0.005</td>
<td>17</td>
<td>0.3M</td>
<td>2</td>
<td>0.006</td>
<td>3</td>
</tr>
<tr>
<th>SyntaxHighlighter Evolved</th>
<td>0.3M</td>
<td>0</td>
<td>0.004</td>
<td>1</td>
<td>0.3M</td>
<td>0</td>
<td>0.005</td>
<td>1</td>
</tr>
<tr class="opt-minus-two">
<th>The Google+ plugin</th>
<td>1.6M</td>
<td>1</td>
<td>0.032</td>
<td>10</td>
<td>1.6M</td>
<td>1</td>
<td>0.032</td>
<td>6</td>
</tr>
<tr>
<th>TinyMCE Advanced</th>
<td>0.1M</td>
<td>0</td>
<td>0.002</td>
<td>13</td>
<td>0.1M</td>
<td>0</td>
<td>0.002</td>
<td>13</td>
</tr>
<tr class="opt-plus-two">
<th>W3 Total Cache</th>
<td>1.4M</td>
<td>0</td>
<td>0.019</td>
<td>46</td>
<td>0.2M</td>
<td>0</td>
<td>0.008</td>
<td>19</td>
</tr>
<tr class="opt-minus-two">
<th>WooCommerce</th>
<td>3.9M</td>
<td>0</td>
<td>0.056</td>
<td>164</td>
<td>3.7M</td>
<td>0</td>
<td>0.059</td>
<td>148</td>
</tr>
<tr class="opt-plus-two">
<th>WordPress Download Monitor</th>
<td>1.5M</td>
<td>1</td>
<td>0.036</td>
<td>7</td>
<td>1M</td>
<td>1</td>
<td>0.033</td>
<td>7</td>
</tr>
<tr class="opt-plus-two">
<th>WordPress SEO by Yoast</th>
<td>1.2M</td>
<td>4</td>
<td>0.018</td>
<td>21</td>
<td>0.7M</td>
<td>4</td>
<td>0.014</td>
<td>16</td>
</tr>
<tr class="opt-zero">
<th>WP e-Commerce</th>
<td>0.8M</td>
<td>1</td>
<td>0.012</td>
<td>5</td>
<td>0.9M</td>
<td>1</td>
<td>0.011</td>
<td>5</td>
</tr>
<tr class="opt-minus-two">
<th>YOURLS WordPress to Twitter</th>
<td>1.7M</td>
<td>0</td>
<td>0.022</td>
<td>60</td>
<td>1.5M</td>
<td>0</td>
<td>0.025</td>
<td>53</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>Average</th>
<th>1.3M</th>
<th>0.57</th>
<th>0.020</th>
<th>28</th>
<th>1.1M</th>
<th>0.49</th>
<th>0.018</th>
<th>22</th>
</tr>
<tr>
<th>Total</th>
<th>45.9M</th>
<th>20</th>
<th>0.708</th>
<th>981</th>
<th>38.6</th>
<th>17</th>
<th>0.624</th>
<th>755</th>
</tr>
</tfoot>
</table>
<p>This data can change depending on the page used to do the testing since plugins can loading different things based on the page. But, these numbers are good reference point to see how the loading of plugins affect the WordPress. Also, you can see on average (and total) how much each plugin adds to the WordPress loading. What each row color means:</p>
<table class="d4ptable d4ppluginsbench" style="border-bottom: 1px solid #ffffff;">
<tbody>
<tr class="opt-zero">
<th style="font-weight: bold; font-size: 1.3em;" rowspan="5">Colors:</th>
<td style="width: auto;">Average optimization results</td>
</tr>
<tr class="opt-minus-two">
<td style="width: auto;">Bad optimization results, must be improved</td>
</tr>
<tr class="opt-minus-one">
<td style="width: auto;">Not good, should be improved</td>
</tr>
<tr class="opt-plus-one">
<td style="width: auto;">Good optimization, some space for improvement</td>
</tr>
<tr class="opt-plus-two">
<td style="width: auto;">Excellent optimization results</td>
</tr>
</tbody>
</table>
<p>I have mentioned the second part of loading that happens after all plugins are loaded, and WordPress runs actions and filters after that. Table below shows the difference between the WordPress with 35 plugins and WordPress with no plugins. Before plugins loader results are same for clean WordPress and WordPress with plugins.</p>
<p>Interesting thing is that you can have all 35 plugins active, and I had some WordPress setups with more than 70 active plugins. But, be ready for the WordPress using much more resources. The more plugins you have active, the more server power is needed. Plugins will have negative impact on website speed. To fix that you must use a caching plugin (W3 Total Cache for caching pages and minify the JS and CSS files) and some sort of server based optimization (eAccelerate or similar extension for PHP).</p>
<p>Clean WordPress will work with 32MB set for PHP to use. You can have less, but some internal operations might need a bit more, so 32MB is safe minimal value. If you have a couple of plugins, 32MB should be enough. If you have more than 10 plugins, at least 64MB is needed. As you can see from this test, for 35 plugins I had here, you need more, and 96MB or 128MB is safe value. Some shared hosting companies will not let you have more than 64MB or 80MB, so you might have issues with many plugins if you are on some restrictive hosting companies. Consult hosting support to make sure you will get enough resources. You can use average values above to get some orientation value for memory needed.</p>
<table class="d4ptable d4ppluginsbench">
<thead>
<tr>
<th></th>
<th colspan="4">Administration</th>
<th colspan="4">Frontend</th>
</tr>
<tr>
<th>Test</th>
<th>Mem.</th>
<th>SQL</th>
<th>Time</th>
<th>Hooks</th>
<th>Mem.</th>
<th>SQL</th>
<th>Time</th>
<th>Hooks</th>
</tr>
</thead>
<tbody>
<tr>
<th>Clean WP: Before plugins loader</th>
<td>13.2M</td>
<td>1</td>
<td>0.146</td>
<td>344</td>
<td>13.1M</td>
<td>1</td>
<td>0.172</td>
<td>307</td>
</tr>
<tr>
<th>Clean WP: After plugins loader</th>
<td>4.7M</td>
<td>32</td>
<td>0.236</td>
<td>137</td>
<td>1.0M</td>
<td>20</td>
<td>0.121</td>
<td>43</td>
</tr>
<tr>
<th>Clean WP: Total loading results</th>
<td>17.9M</td>
<td>32</td>
<td>0.381</td>
<td>481</td>
<td>14.1M</td>
<td>21</td>
<td>0.121</td>
<td>350</td>
</tr>
<tr>
<th>WP with plugins: After plugins loader</th>
<td>23.0M</td>
<td>235</td>
<td>1.206</td>
<td>893</td>
<td>9.7M</td>
<td>183</td>
<td>0.575</td>
<td>305</td>
</tr>
<tr>
<th>WP with plugins: Total loading results</th>
<td>81.3M</td>
<td>255</td>
<td>2.055</td>
<td>2221</td>
<td>60.2M</td>
<td>200</td>
<td>1.354</td>
<td>1364</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>Total 35 Plugins Impact</th>
<th>63.4M</th>
<th>223</th>
<th>1.674</th>
<th>1740</th>
<th>46.1M</th>
<th>179</th>
<th>1.233</th>
<th>1014</th>
</tr>
</tfoot>
</table>
<h3>Optimization Analysis</h3>
<p>As you can see in the plugins table on the top, some plugins results are in different colors. Green colors are for plugins with good optimization, red colors are for plugins with bad optimization. Badly optimized plugins are always loading everything on front-end and on admin side and they take a lot of memory. Smaller plugins with less than 0.8MB of memory used are not a big problem and they usually can&#8217;t be much optimized considering number of plugin files.</p>
<p>Since most plugins are behaving different on admin side and front-end, they should be taking care of what will be loaded in both cases. Only files that are actually needed should be loaded. This is not always possible, but with little extra work, code can be separated to allow for better loading optimization. Considering how much memory some of the plugins use, it is essential to try and lower required resources. Most WordPress users are on shared hosting servers, and they need plugins that are optimized.</p>
<h4>The Bad</h4>
<p>Plugins with worst loading stats and worst optimization from this test are: bbPress, GD Star Rating, Subscribe2, The Google+ Plugin, WooCommerce and YOURLS WordPress to Twitter. bbPress should be loading parts of the plugin only when needed, considering that forum is usually separated from normal WP pages. You can have some core parts always loaded, but most things are not needed on every page. My own GD Star Rating is old plugin, and I made some optimizations in some versions, but I need to do more, and GD Star Rating 2.0 will be highly optimized to use resources. The Google+ Plugin loads many libraries that are not needed for the most part, and for a simple plugin that this should be, it uses a lot of memory. I can&#8217;t judge quality of WooCommerce plugin, but I couldn&#8217;t believe how bad loading for this plugin is, and its main file loads 32 other files always. I have noticed some other things done bad in this plugin only from first few files, but loading is really bad.</p>
<p>Few plugins are a bit better than this, and they have lighter red color: BackupWP, Events Manager, gdHeadSpace4, GD Products Center Pro, GD Unit Converter, GravityForms. BackupWP doesn&#8217;t need anything on front end but it still loads things always. Events Manager has some loading optimizations, but I see potential to make it much better. I have modded plugin into gdHeadSpace4 and I didn&#8217;t make changes in loading. This plugin doesn&#8217;t have big memory footprint, but some changes can be done. My GD Products Center Pro is still in beta, and I plan to finish loading optimization before releasing 1.0 version. Another of my plugin GD Unit Converter is 100% admin side plugin, yet some things are loaded always, and I will improve this soon. GravityForms requires a lot of things on both admin and front end side, but there are some things that can be optimized much better that they are now.</p>
<h4>The Good</h4>
<p>Contact Form 7 and WP e-Commerce could benefit from some minor changes, but they are good as far as optimization goes. Light green and good optimization is done with: Antispam Bee and BackupBuddy. BackupBuddy would benefit greatly with better main loader file that is now too big. With fragmentation of this file, will help with optimization further.</p>
<p>Best optimized plugins, considering plugin size and features are: GD Affiliate Center Pro, GD Press Tools Pro, GD Custom Posts And Taxonomies Tools Pro, W3 Total Cache, WordPress Download Monitor, WordPress SEO. My 3 Pro plugins all have advanced loaders and modular structure to load things need for admin side or front end. Even the code used for Ajax or saving data is separated and loaded only when needed. W3TC does a great job in loading of different plugin modules and same goes for WordPress SEO by Yoast has loader that loads different files on both sides, minimizing the impact on WordPress.</p>
<p>My GD Press Tools Pro and GD Custom Posts And Taxonomies Tools Pro can replace great many other plugins, and that alone can save you a lot of resources. If you can have 10 plugins and if each one uses 1.3MB on average, that is 13MB, you can replace with GD Press Tools Pro only (and it can replace much more than just 10, maybe 60 or more plugins), that will use only 2.9MB.</p>
<h3>Loading used in my plugins</h3>
<p>Process of loading for my GD Press Tools Pro plugin is controlled by main plugin file. First, it loads parts of gdr2 shared library (used by all my plugins). Public functions and classes are loaded next (they are used on both admin and front end side). Some parts of internal code are loaded next. Main plugin class is loaded after that, and this class is used to initialize the plugin and load plugin settings. Than, loader checks if its loaded on admin side. If it is, admin core class is loaded as well as some extra functions. And if the plugin is loaded to save settings or through AJAX call, it loads separate settings saving or AJAX classes. This all improves loading on front end side by some 30%. This loading method is changed over time, and I think that it works great right now.</p>
<h3>Two plugins I ALWAYS use</h3>
<p>I can&#8217;t imagine running WordPress website without my GD Press Tools Pro. It is truly ultimate administration plugin, and it does so many things that you simply need on any website: backup, sitemaps, SEO, optimization and integration&#8230; Second plugin is W3 Total Cache. Page caching, external files minify and support for CDN are something each website should use to improve website speed.</p>
<h3>Cached Pages</h3>
<p>If you use W3 Total Cache or some other similar caching plugin, and you have page cache enabled, it is important to know that when cached page is served to a visitor, WordPress (and plugins) are not loaded at all. All these tests are made when there is no page caching active.</p>
<h3>Conclusion</h3>
<p>As you can see, plugins can have big impact on WordPress. While you can have as many plugins as you like, there are things to consider:</p>
<ul>
<li><strong>Compatibility</strong>: the more plugins you have, there is more chance to have some of them causing problems. Always test plugins when adding new plugin, it is rare, but it can happen. I always have local copies of all my websites, and when new things are added, I always test locally before moving to live server.</li>
<li><strong>Resources</strong>: the more plugins you have, the more server resources will be used. If you are on the shared hosting, I recommend that you review if you really need all plugins you might have already. Test different plugins you can use, because with too many of them active, you can easily hit the limits imposed by your hosting company. My <a title="GD Press Tools Pro" href="http://www.dev4press.com/plugins/gd-press-tools/" target="_blank">GD Press Tools Pro</a> can do many things, one of them is to measure data like this, and you can see exact impact of a new plugin added on memory, mySQL server or WordPress.</li>
<li><strong>Loading Speed</strong>: more plugins == less speed. It is very important to use cache plugins to optimize front end loading, to minify external files and use CDN to load external resources.</li>
</ul>
<p>I hope that other plugin developers will consider the results from this article, and my recommendations to improve loading for own plugins to optimize them so that end users get faster plugins that are not needing too much resources. Lets make plugins even better.</p>
<script src="http://feeds.feedburner.com/~s/adsense@gdragon.info?i=http://www.dev4press.com/2011/blog/benchmark/measuring-impact-of-plugins-on-wordpress-loading/" type="text/javascript" charset="utf-8"></script>]]></content:encoded>
			<wfw:commentRss>http://www.dev4press.com/2011/blog/benchmark/measuring-impact-of-plugins-on-wordpress-loading/feed/</wfw:commentRss>
		<slash:comments>87</slash:comments>
		</item>
		<item>
		<title>Increase PHP Memory Limit</title>
		<link>http://www.dev4press.com/2011/tutorials/wordpress/practical/increase-php-memory-limit/</link>
		<comments>http://www.dev4press.com/2011/tutorials/wordpress/practical/increase-php-memory-limit/#comments</comments>
		<pubDate>Sat, 23 Jul 2011 22:10:39 +0000</pubDate>
		<dc:creator>MillaN</dc:creator>
				<category><![CDATA[Practical]]></category>
		<category><![CDATA[apache servers]]></category>
		<category><![CDATA[fatal error allowed memory size]]></category>
		<category><![CDATA[hosting companies]]></category>
		<category><![CDATA[hosting servers]]></category>
		<category><![CDATA[hostings]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[increase memory]]></category>
		<category><![CDATA[memory directive]]></category>
		<category><![CDATA[memory limit]]></category>
		<category><![CDATA[memory requirements]]></category>
		<category><![CDATA[php ini]]></category>
		<category><![CDATA[root folder]]></category>
		<category><![CDATA[server settings]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.dev4press.com/?p=6208</guid>
		<description><![CDATA[Anyone working with WordPress (or any other PHP based system) had a chance to see one of the most common fatal errors PHP has to offer: Allowed memory exhausted. This is easy to fix, and depending on your host and personal preference, there are several methods to do it.]]></description>
				<content:encoded><![CDATA[<p>Anyone working with WordPress (or any other PHP based system) had a chance to see one of the most common fatal errors PHP has to offer: Allowed memory exhausted. This is easy to fix, and depending on your host and personal preference, there are several methods to do it.</p>
<p>Older WordPress versions (before 2.9) could work with 16M of PHP memory. Even later 3.x versions can work with so little memory if you don&#8217;t use any plugins. But, using plugins increases memory requirements, and using only 32M is at most times not enough. For latest WordPress with average of 20 plugins you will need 48M to 64M. Most hosting companies keep this value at 32M, so when you upgrade WordPress, upgrade plugin or add new plugins, you will run out of memory and you will see variation of this error (on screen or in log, depending on server settings):</p>
<blockquote><p><strong>Fatal error</strong>: Allowed memory size of 33554432 bytes exhausted (tried to allocate 345234 bytes) in /path/to/public_html/wp-content/plugins/plugin.php on line 56.</p></blockquote>
<p>To increase memory, you can uses different methods. Examples bellow are for 64MB of memory. You can set it lower and experiment with higher values. Setting this to 128M or 256M is fine also, PHP will really use as needed, this value is limit. Use only one of these methods, don&#8217;t use all of them in the same time!</p>
<h3><span style="text-decoration: underline; color: #800000;">Method 1:</span> Change PHP.ini</h3>
<p>On some shared hosting servers and on VPS or other dedicated hostings, you will have access to <strong>php.ini</strong> file with all main PHP settings. This file should have memory directive, so you need to find it and change it, if it is not there, you need to add it. Here is the directive you need to find/add and set different value for memory size:</p>
<pre class="brush: php; title: ; notranslate">memory_limit = 64M</pre>
<h3><span style="text-decoration: underline; color: #800000;">Method 2:</span> Use .htaccess</h3>
<p>If you don&#8217;t have access to <strong>php.ini</strong>, same thing can be done using .htaccess file. This file is in the root folder of your website, if it&#8217;s not there you can add it, but in most cases it is added by WordPress. This file is only available on Apache servers. Again, search for this in that file, if it is not there add it, and set memory value you need:</p>
<pre class="brush: php; title: ; notranslate">php_value memory_limit 64M</pre>
<h3><span style="text-decoration: underline; color: #800000;">Method 3:</span> Use WordPress wp-config.php</h3>
<p>WordPress way to do this is using almighty wp-config.php file. If this define is in the file, change it to memory value you want, if it&#8217;s not there add it before &#8220;That&#8217;s all, stop editing!&#8221; comment in that file. Here is the code to find and change or add if not there.</p>
<pre class="brush: php; title: ; notranslate">define('WP_MEMORY_LIMIT', '64M');</pre>
<h3><span style="text-decoration: underline; color: #800000;">Method 4:</span>  Contact your hosting company</h3>
<p>If you don&#8217;t want to do it on your own, you can always contact your hosting company support. Some hosting companies can impose limit to this value, so no method you can try can change it, and only hosting support can change it for you.</p>
<div id="attachment_6213" class="wp-caption alignright" style="width: 220px"><a title="GD Press Tools: PHP Status" href="http://cdn.dev4press.com/wp-content/uploads/2011/07/gdpt_phpstatus.png" rel="lightbox"><img class="size-medium wp-image-6213" title="GD Press Tools: PHP Status" src="http://cdn.dev4press.com/wp-content/uploads/2011/07/gdpt_phpstatus-300x214.png" alt="GD Press Tools: PHP Status" width="210" height="150" /></a><p class="wp-caption-text">GD Press Tools: PHP Status</p></div>
<h3>Check current memory limit and memory usage</h3>
<p>Simplest way is to use our <a href="http://d4p.me/gdpt" target="_blank">GD Press Tools</a> plugin (you can see this with both Lite or Pro version). On GD Press Tools main page you can see the PHP Status block, and there you can find Memory Limit item and value for it. How much memory is used, plugin can add into the footer, and image bellow shows you used memory during the page creation, footer value is most important, that is total memory used for the whole page.</p>
<div id="attachment_6214" class="wp-caption alignnone" style="width: 530px"><a title="GD Press Tools: Memory usage" href="http://cdn.dev4press.com/wp-content/uploads/2011/07/gdpt_footerstatus.png" rel="lightbox"><img class="size-large wp-image-6214" title="GD Press Tools: Memory usage" src="http://cdn.dev4press.com/wp-content/uploads/2011/07/gdpt_footerstatus-580x56.png" alt="GD Press Tools: Memory usage" width="520" height="49" /></a><p class="wp-caption-text">GD Press Tools: Memory usage</p></div>
<p>Admin side uses about twice as much memory then front end side.</p>
<script src="http://feeds.feedburner.com/~s/adsense@gdragon.info?i=http://www.dev4press.com/2011/tutorials/wordpress/practical/increase-php-memory-limit/" type="text/javascript" charset="utf-8"></script>]]></content:encoded>
			<wfw:commentRss>http://www.dev4press.com/2011/tutorials/wordpress/practical/increase-php-memory-limit/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Review of WordPress 3.2</title>
		<link>http://www.dev4press.com/2011/blog/reviews/review-of-wordpress-3-2/</link>
		<comments>http://www.dev4press.com/2011/blog/reviews/review-of-wordpress-3-2/#comments</comments>
		<pubDate>Sat, 02 Jul 2011 17:00:26 +0000</pubDate>
		<dc:creator>MillaN</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[browser window]]></category>
		<category><![CDATA[crossroads]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[distraction]]></category>
		<category><![CDATA[empty space]]></category>
		<category><![CDATA[execution]]></category>
		<category><![CDATA[footer]]></category>
		<category><![CDATA[header section]]></category>
		<category><![CDATA[hosting companies]]></category>
		<category><![CDATA[hosting company]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[ie7]]></category>
		<category><![CDATA[improvements]]></category>
		<category><![CDATA[interface changes]]></category>
		<category><![CDATA[modern browsers]]></category>
		<category><![CDATA[new features]]></category>
		<category><![CDATA[php4]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[press tools]]></category>
		<category><![CDATA[simplistic approach]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://www.dev4press.com/?p=5992</guid>
		<description><![CDATA[Brand new WordPress 3.2 is very important release, not so much because of the new features, but because it is a crossroads version that finally puts support for PHP4, mySQL 3/4 and MS IE6 (and IE7 will soon be gone) where they really belong: into history. Check your servers before upgrade!]]></description>
				<content:encoded><![CDATA[<p>Brand new WordPress 3.2 is very important release, not so much because of the new features, but because it is a crossroads version that finally puts support for PHP4, mySQL 3/4 and MS IE6 (and IE7 will soon be gone) where they really belong: into history. Check your servers before upgrade!</p>
<p>From now on, WordPress requires <strong>PHP 5.2.4</strong> and <strong>MySQL 5.0.15</strong>. All respectable hosting companies are already up to date with PHP and mySQL (some even running latest PHP 5.3), but you better check to make sure that your hosting company is upgraded, or you will be surprised when after upgrade you end up with broken website. All modern browsers will do fine, and from what I have seen IE7 will work for the most part with some minor problems, IE8 is also fine.</p>
<p>Image below shows the new WordPress admin dashboard. New interface uses space on the page a bit better and widgets and other elements are looking more compact and cleaner. For the most part I like the new look, with exception of the top header section, I think old one was better. On the image here you can see pretty much standard dashboard content with addition of <a title="GD Press Tools Pro" href="http://www.dev4press.com/gd-press-tools/" target="_blank">GD Press Tools Pro</a> widget and execution stats in the footer.</p>
<div id="attachment_6004" class="wp-caption aligncenter" style="width: 590px"><a title="WordPress 3.2: Dashboard" rel="lightbox" href="http://cdn.dev4press.com/wp-content/uploads/2011/07/wordpress_32_dashboard.png"><img class="size-large wp-image-6004" title="WordPress 3.2: Dashboard" src="http://cdn.dev4press.com/wp-content/uploads/2011/07/wordpress_32_dashboard-580x293.png" alt="WordPress 3.2: Dashboard" width="580" height="293" /></a><p class="wp-caption-text">WordPress 3.2: Dashboard</p></div>
<p>Interface changes also include improvements to post editor that now supports new full screen Just Write mode. Editor expands to the full browser window with toolbar on top. Once you start writing, all controls will be gone leaving only empty space with no distraction. I am not going to use it much, but I am sure that many users will welcome this clean and simple approach.</p>
<div id="attachment_6011" class="wp-caption alignright" style="width: 250px"><a title="WordPress 3.2: Just Write Editor" rel="lightbox" href="http://cdn.dev4press.com/wp-content/uploads/2011/07/wordpress_32_editor.png"><img class="size-medium wp-image-6011" title="WordPress 3.2: Just Write Editor" src="http://cdn.dev4press.com/wp-content/uploads/2011/07/wordpress_32_editor-300x230.png" alt="WordPress 3.2: Just Write Editor" width="240" height="184" /></a><p class="wp-caption-text">WordPress 3.2: Just Write Editor</p></div>
<p>New theme replaces TwentyTen, and its called TwentyEleven. Theme is HTML5/CSS3 based, and its faster than earlier one, but I don&#8217;t like it very much to be honest. I think that it would be better to improve on TwentyTen than go with new theme, but here it is.</p>
<p>Admin bar is improved with more options and menus added. It would be nice to have some extra control over what is in the admin bar, but plugins will take care of that. Next GD Press Tools Pro will have more options for admin bar control. Other changes are many minor visual improvements: login form changes, new links in the footer and more. jQuery is updated to 1.6.1 with jQueryUI to 1.8.2.</p>
<p>But, the most important change in this version is performance improvement. WP 3.2 is faster than previous versions (especially 3.1), and you will feel this difference as soon you upgrade. Better JavaScript code make loading of pages faster, and this is most noticeable if you use fast browsers like Opera or Chrome. All upgrades will be faster (especially if you use FTP for uploading upgrades, that was very slow before). Other optimizations include improved functions, partial cleanup of PHP4 specific code and more. During next week you can expect 2 posts with benchmarks of WordPress 3.0.4, 3.1.4 and 3.2 for both admin and front end side.</p>
<div id="attachment_6015" class="wp-caption alignleft" style="width: 222px"><a title="WordPress 3.2: Post Editor in blue" rel="lightbox" href="http://cdn.dev4press.com/wp-content/uploads/2011/07/wordpress_32_blueditor.png"><img class="size-medium wp-image-6015" title="WordPress 3.2: Post Editor in blue" src="http://cdn.dev4press.com/wp-content/uploads/2011/07/wordpress_32_blueditor-294x300.png" alt="WordPress 3.2: Post Editor in blue" width="212" height="216" /></a><p class="wp-caption-text">WordPress 3.2: Post Editor in blue</p></div>
<p>But, as with any new WordPress there are some downsides. Many of the updates will for sure break many plugins and themes that use jQuery due to changes in jQuery 1.6. I hope that plugin and theme developers are going to check everything and fix potential problems. I have tested my plugins and they are all OK, with some Lite versions coming next week to make sure everything is OK. Some users I talked to recently expressed their disapproval of new interface, but that is expected with any interface change. For me, I like the new WP look (for most part).</p>
<p>What&#8217;s next for WordPress? Now that requirements are sorted out, and interface improved, there are still several areas where WordPress is lacking. Most important problem is content management. I have said it before 2.9 and 3.0 and 3.1, and I am saying again, WordPress is not equipped to work with large amount of content. If you have few hundred posts and 20 categories, it&#8217;s not bad, but for large websites that use custom post types and custom taxonomies, this is a real problem. Changing taxonomies for large number of posts in the same time is slow using current batch approach, and still impractical. We need better, and easier to use drag and drop interface for handling posts and taxonomies with AJAX filters and pagination. I really hope that this will be one of the things we can expect in 3.3, and I will try to push the suggestions once the WP 3.3 gets in development.</p>
<p>For now, WP 3.2 is great upgrade to the platform, and I strongly recommend that you switch to it as soon it is released. Speed of the new WP alone is reason enough. Add better interface and other minor changes and WP 3.2 is the version to use. All core developers and contributors deserve big thanks from the growing WordPress community for all the work to make this new version.</p>
<script src="http://feeds.feedburner.com/~s/adsense@gdragon.info?i=http://www.dev4press.com/2011/blog/reviews/review-of-wordpress-3-2/" type="text/javascript" charset="utf-8"></script>]]></content:encoded>
			<wfw:commentRss>http://www.dev4press.com/2011/blog/reviews/review-of-wordpress-3-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress Security, Part 2: Files Protection</title>
		<link>http://www.dev4press.com/2010/tutorials/wordpress/practical/wordpress-security-part-2-files-protection/</link>
		<comments>http://www.dev4press.com/2010/tutorials/wordpress/practical/wordpress-security-part-2-files-protection/#comments</comments>
		<pubDate>Thu, 16 Dec 2010 13:00:21 +0000</pubDate>
		<dc:creator>MillaN</dc:creator>
				<category><![CDATA[Practical]]></category>
		<category><![CDATA[all files and folders]]></category>
		<category><![CDATA[CHMOD]]></category>
		<category><![CDATA[different ways]]></category>
		<category><![CDATA[file permissions]]></category>
		<category><![CDATA[files and folders]]></category>
		<category><![CDATA[GD Press Tools]]></category>
		<category><![CDATA[good job]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[hosting companies]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[owner group]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[server settings]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.dev4press.com/?p=4214</guid>
		<description><![CDATA[First step to ensure that your WordPress website is secure, is to set proper file permissions rights. Wrong file permissions can easily lead to hackers gaining access to your website. So, after you first install WordPress, no matter what method you used, you must check those rights and set them properly.]]></description>
				<content:encoded><![CDATA[<p>First step to ensure that your WordPress website is secure, is to set proper file permissions rights. Wrong file permissions can easily lead to hackers gaining access to your website. So, after you first install WordPress, no matter what method you used, you must check those rights and set them properly.</p>
<p>When you first install WordPress, you can do it manually or you can use some sort of install script that is usually offered by the shared hosting companies. In my experience, those scripts usually do a good job in setting at least initial file permissions to all files and folders. But, on the other hand that may not always be the case, and you can end up in problems.</p>
<p>Main issue is to allow WordPress to access files and folders it needs to be able to work properly, and in the same time not to set permissions too loose so that it can be exploited. To change the file permissions, Linux uses CHMOD command. Permissions for files and folders are represented by three values controlling access for file owner, for owner group and for everyone else (world). And each of these controls 3 rights: read, write and execute. There are different ways to display file permissions, and most common is to use 3 numbers: first for owner, second for group and third for world. File system and file permissions can be very complex, and more info on how all that is working can be found on URL&#8217;s at the bottom of this articles.</p>
<blockquote><p>Since we are talking about file system on your server, referring to users and groups has nothing to do with WordPress. User or owner is your account on the server not in WordPress.</p></blockquote>
<h3>Recommended permissions</h3>
<p>Before you check and set CHMOD for files and folders, it&#8217;s recommended that owner for all files and folder is your user account on the server. If, when you copy new files or add new files, this is not the case, and if server is setting someone else as an owner, then, there is something wrong with your server settings. In my experience, this usually happens if you are installing and setting server on your own (VPS hosting) and you missed configuring file system ownership, that depending on OS you use, can be set to Apache process or something else. <strong>Make sure that all files and folders in your WP installation are owned by your user.</strong> All other recommendations are based on this one, so make sure it&#8217;s set as it should be.</p>
<div id="attachment_4288" class="wp-caption alignright" style="width: 280px"><a href="http://cdn.dev4press.com/wp-content/uploads/2010/12/ftp_rights.png" rel="lightbox[4214]" title="FTP View of Permissions"><img class="size-medium wp-image-4288" title="FTP View of Permissions" src="http://cdn.dev4press.com/wp-content/uploads/2010/12/ftp_rights-300x136.png" alt="FTP View of Permissions" width="270" height="122" /></a><p class="wp-caption-text">FTP View of Permissions</p></div>
<p>For all folder in the WordPress installation, recommended permission is <strong>755</strong>. This means that owner (first number, 7) can read, write folder and execute content in it. Group and world can&#8217;t write. This makes folders safe from anyone beside your main user adding new files, or deleting existing files. Files should be set to <strong>644</strong>, the same as 755, but with no execute set. For folders you need owner, group and world to be able to at least read from the folders, or your website will not be publicly accessible, so that&#8217;s why 5 is set for group and world.</p>
<p>If you are using FTP or command line tools, you will usually see permissions displayed like on the image on the right with string with 10 characters. First is telling if it&#8217;s file or folder, and 9 are flags for all 3 groups, 3 rights each. Here you can also see owner and group. While they are named, here are codes representing the names on your server.</p>
<h3>Specific files permissions</h3>
<p>For some files and folders you can use different permissions to make sure that they are extra secure. So, for <strong>wp-config.php</strong>, recommended permissions is <strong>640</strong> or even <strong>600</strong>. Same goes for <strong>.htaccess</strong> files. In shared environments, you can also have <strong>PHP</strong> files present (php.ini and/or php.cgi). For these files you can set even more restrictive permissions: <strong>100</strong>, and only owner can execute these files, nothing else.</p>
<div id="attachment_4284" class="wp-caption alignright" style="width: 250px"><a title="File Permissions in GD Press Tools Pro" rel="lightbox" href="http://cdn.dev4press.com/wp-content/uploads/2010/12/gdpt_sec_files.png"><img class="size-medium wp-image-4284" title="File Permissions in GD Press Tools Pro" src="http://cdn.dev4press.com/wp-content/uploads/2010/12/gdpt_sec_files-300x150.png" alt="File Permissions in GD Press Tools Pro" width="240" height="120" /></a><p class="wp-caption-text">File Permissions in GD Press Tools Pro</p></div>
<h3>GD Press Tools Pro</h3>
<p>To do all this, you can use command line on your server, FTP access or file manager you have in the control panel for your hosting account. But, you can do it from WordPress also. <strong><a href="http://www.dev4press.com/gd-press-tools/">GD Press Tools Pro</a></strong> on the Security panel shows most important files and folders in your WP installation, their files permissions and options to change those that are not restrictive as recommended values are.</p>
<p>Also, on the Security panel, tab General you can set default CHMOD values WordPress can use to set on newly created files and folders (uploads mostly).</p>
<h3>Conclusion</h3>
<p>Permissions described in this article will be enough to make all critical areas of your website secure. But, you can take this further and experiment with more restrictive rules for some folders, or some more files.</p>
<h3>Resources</h3>
<ul>
<li>Changing File Permissions: <a href="http://codex.wordpress.org/Changing_File_Permissions">http://codex.wordpress.org/Changing_File_Permissions</a></li>
<li>CHMOD on Wikipedia: <a href="http://en.wikipedia.org/wiki/Chmod" target="_blank">http://en.wikipedia.org/wiki/Chmod</a></li>
</ul>
<script src="http://feeds.feedburner.com/~s/adsense@gdragon.info?i=http://www.dev4press.com/2010/tutorials/wordpress/practical/wordpress-security-part-2-files-protection/" type="text/javascript" charset="utf-8"></script>]]></content:encoded>
			<wfw:commentRss>http://www.dev4press.com/2010/tutorials/wordpress/practical/wordpress-security-part-2-files-protection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Security, Part 1: Hosting Environment</title>
		<link>http://www.dev4press.com/2010/tutorials/wordpress/practical/wordpress-security-part-1-hosting-environment/</link>
		<comments>http://www.dev4press.com/2010/tutorials/wordpress/practical/wordpress-security-part-1-hosting-environment/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 13:00:18 +0000</pubDate>
		<dc:creator>MillaN</dc:creator>
				<category><![CDATA[Practical]]></category>
		<category><![CDATA[apache server]]></category>
		<category><![CDATA[control panel]]></category>
		<category><![CDATA[current software]]></category>
		<category><![CDATA[distributions]]></category>
		<category><![CDATA[environment settings]]></category>
		<category><![CDATA[environments]]></category>
		<category><![CDATA[hosting companies]]></category>
		<category><![CDATA[hosting company]]></category>
		<category><![CDATA[hosting servers]]></category>
		<category><![CDATA[hosting websites]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[ini file]]></category>
		<category><![CDATA[limited]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql version]]></category>
		<category><![CDATA[php version]]></category>
		<category><![CDATA[shared hosting]]></category>
		<category><![CDATA[shared servers]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[web server]]></category>

		<guid isPermaLink="false">http://www.dev4press.com/?p=4185</guid>
		<description><![CDATA[First thing you need to take into consideration when security of the website is concerned is the server you host your website on. There are 3 main hosting type environments and depending on what you are using there are different security related concerns you must take into account.]]></description>
				<content:encoded><![CDATA[<p>First thing you need to take into consideration when security of the website is concerned is the server you host your website on. There are 3 main hosting type environments and depending on what you are using there are different security related concerns you must take into account.</p>
<p>Hosting companies are offering UNIX/Linux-based servers or Windows-based servers. Due to pricing of Windows licenses, they are not commonly used to host websites based on WordPress or other PHP based systems. Most servers will run on different distributions of Linux, and they commonly use Apache as web server. I will not write about Windows-based servers, since they are much different to set up and use, and also they are very rare for WordPress website, and not really relevant for this article.</p>
<h3>Shared Hosting</h3>
<p>Most websites, especially smaller websites are hosted on the shared hosting servers because they are cheap and they are powerful enough to run. Shared hosting means that a single server is used for many different users accounts. Server is not yours to use and modify as you need, you are limited by the shared environment settings that hosting company set for all accounts on a server. There are some things you can change and use.</p>
<blockquote><p>If you decide to choose shared hosting company, make sure that they are using latest (or at least current) software: Apache server (or something similar), PHP (version 5 is a must, with 5.2 or 5.3 being preferable) and MySQL (version 5 is most commonly used). They need to allow you to use HTaccess files (there are still many hosting companies that don&#8217;t) and preferably allow you to use own copy of PHP.INI file for some settings that can be changed for each account. Good support is always important, especially until you set everything and make sure that server is working right. Always require access to some sort of control panel: CPanel, ISPManager or Plesk (there are others, these are the best).</p></blockquote>
<p>Shared hosting is limited in what you can do with the server (again, it all depends on the hosting company), and you will not be able to install additional software: Firewall, PHP extensions, MemCache&#8230; Most shared hosting companies have decent security related setup, but again, make sure to check what are you getting into.</p>
<p>Sharing server by default means that all accounts and all domains on it will share single IP address. So, if that IP gets blacklisted for some reason because of some other user, you will be affected also. Most shared hosting companies offer purchase of separate IP for your account only.</p>
<h3>Virtual Private Servers Hosting</h3>
<p>Or VPS for short is becoming very popular in the recent years, mostly due to much better performance you get and much affordable prices caused by many more emerging companies offering this kind of service. VPS is basically a whole server only for one user, this server is not actual physical machine, but a virtual machine-made through process of <a href="http://en.wikipedia.org/wiki/Hardware_virtualization" target="_blank">virtualization</a> and sharing of hardware resources. There are many different methods for this used today with nodes distribution and clouds getting more in popularity. You are only user of your VPS, and you can have full control over installing the server and setting it up. VPS can be unmanaged (you need to do everything by yourself), or is managed where hosting company is still in control of installing the server and helping you run it.</p>
<blockquote><p>If you decide on VPS hosting, be prepared to work more on the server setup and maintenance (depends on managed or unmanaged VPS configuration). If you need to use mail server on your VPS (and in most cases you will need that), make sure to set mail server properly: reverse DNS (usually you need to ask for this from the hosting company), set up limits, SPF records&#8230; Be sure to run latest version of OS you have decided on, updated kernel, updated web server, PHP and mySQL. Also, I strongly recommend installing some firewall software (LFD is really good one with a lot of options to set). Make sure to use strong passwords for everything and to change them often. If you run personal server (no outside users), there is a less chance of intrusion because you will be only one that has access to it.</p></blockquote>
<p>PHP also can be improved and expanded to include Suhosin security extension. Some Linux distribution (like Ubuntu 10.04), will install PHP with built-in Suhosin. To be honest, I don&#8217;t like it and I don&#8217;t use it. I find it hard to set up, and it was always causing more problems than I was prepared to deal with. But, if you have patience and time to test it, I recommend trying it. As for the mySQL, usually server is set to allow only local access to it, so no one can access it from outside your server.</p>
<p>VPS is the best solution for hosting: not very expensive, full control over the server, great potential for setting it up exactly as you need and in most cases very easy to expand to use more hardware resources when your website(s) starts to grow and to get more visitors.</p>
<h3>Dedicated Hosting</h3>
<p>What I said about VPS can be said for dedicated hosting. But, in this case you actually have use of full physical machine. This is usually very expensive solution, but most powerful one. If you don&#8217;t care about spending more money, this is the best solution and the most complex from maintenance standpoint and work you need to invest also..</p>
<h3>Useful Resources</h3>
<p>Here are some online tools and resources that can help you with the server and hosting environment.</p>
<ul>
<li><strong>UCEProtect</strong>: <a href="http://www.uceprotect.net/en/rblcheck.php" target="_blank">http://www.uceprotect.net/en/rblcheck.php</a></li>
<li><strong>MXToolbox</strong>: <a href="http://www.mxtoolbox.com/SuperTool.aspx" target="_blank">http://www.mxtoolbox.com/SuperTool.aspx</a></li>
<li><strong>CFS / LFD</strong>: <a href="http://www.configserver.com/cp/csf.html" target="_blank">http://www.configserver.com/cp/csf.html</a></li>
<li><strong>PHP Security</strong>: <a href="http://phpsec.org/projects/guide/" target="_blank">http://phpsec.org/projects/guide/</a></li>
</ul>
<script src="http://feeds.feedburner.com/~s/adsense@gdragon.info?i=http://www.dev4press.com/2010/tutorials/wordpress/practical/wordpress-security-part-1-hosting-environment/" type="text/javascript" charset="utf-8"></script>]]></content:encoded>
			<wfw:commentRss>http://www.dev4press.com/2010/tutorials/wordpress/practical/wordpress-security-part-1-hosting-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress System Requirements</title>
		<link>http://www.dev4press.com/2010/blog/general/wordpress-system-requirements/</link>
		<comments>http://www.dev4press.com/2010/blog/general/wordpress-system-requirements/#comments</comments>
		<pubDate>Thu, 13 May 2010 14:52:00 +0000</pubDate>
		<dc:creator>MillaN</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[hidden truth]]></category>
		<category><![CDATA[hosting companies]]></category>
		<category><![CDATA[hosting company]]></category>
		<category><![CDATA[illusion]]></category>
		<category><![CDATA[mysql 4]]></category>
		<category><![CDATA[old software]]></category>
		<category><![CDATA[php4]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[platforms]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[statistical data]]></category>
		<category><![CDATA[system requirements]]></category>
		<category><![CDATA[timezone]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.dev4press.com/?p=2133</guid>
		<description><![CDATA[Every few months, about the time new WordPress is to be released, system requirements are again on the line and despite all discussions and facts presented by users, WordPress still maintains (the illusion) of support for PHP4, when that is far from the truth.]]></description>
				<content:encoded><![CDATA[<p>Every few months, about the time new WordPress is to be released, system requirements are again on the line and despite all discussions and facts presented by users, WordPress still maintains (the illusion) of support for PHP4, when that is far from the truth.</p>
<p>If you check official <a href="http://wordpress.org/about/requirements/" target="_blank">requirement page</a>, you will see that you need PHP 4.3 and mySQL 4.1.2 at a very least. You need mod_rewrite installed on Apache if you want to use pretty permalinks (or some equivalent for Windows or other servers). But, it&#8217;s not that simple as they make it look like.</p>
<h3>PHP</h3>
<p>Hidden truth is that some WordPress features even now require PHP5 (timezone and oEmbed are most important). So, claiming that WordPress will work on PHP4 is false, because you will not be able to use everything WordPress has to offer. To make things worse, many plugins require PHP5 to work, and that include many popular plugins.</p>
<p>So even if you use PHP4 for your bare WordPress installation, as soon as you start adding plugins you are likely to get at least few that will not work with PHP4. Let&#8217;s face it PHP4 is dead for over two years now, not supported by PHP anymore (support ended on february 5 2008) and all major CMS platforms are either dropped support for it or will do in the near future. Except for WordPress. And as it looks right now, even next WordPress 3.1 will maintain the illusion that WordPress will work fine on PHP4.</p>
<p>Only the fact that some features are not working on PHP4 is enough to finally admit that supporting PHP4 still, is pointless. Main reason behind the idea is that some 10% of websites using WordPress run on PHP4. I don&#8217;t have access to that statistical data, and I imagine that is old at least a year because we got same number from Matt when WP 2.8 was released. Situation now is different, because I tried for the past week to find reputable hosting company that only offer PHP4 with no PHP5. And I couldn&#8217;t find any.</p>
<p>Several hosting companies are running both versions of PHP to support some old software and websites but users can switch using control panel option or simple command in HTACCESS. All this is for shared hosting, because on VPS or dedicated servers users install latest software anyway. Newer server versions like Ubuntu 8.04 or newer can&#8217;t even install PHP4 anymore (I tried on my VPS.NET server) and I don&#8217;t see anyone manually compiling it from source on new server. WordPress recommends several hosting companies and even they offer only PHP5. So, where are those 10% PHP4 WordPress websites hosted?</p>
<p>I had several clients that had problems with WordPress  running on PHP4.4 and in only one instance I managed to fix things to make WordPress works. Problem with PHP4 settings, security issues and many other things can prove impossible to solve in many cases. One of the clients used PHP4 because he had some old server he didn&#8217;t want to reinstall or update and he was under the impression that everything was OK, and he had a hard time understanding why WordPress is claiming something that simply can&#8217;t be achieved in practical usage. And the user experience and practical side of using any system is what should count in the end, and that is clearly against PHP4.</p>
<p>Even if you in the end manage to install WordPress on PHP4, you will be able to run it only without plugins (or with only few plugins).</p>
<h3>mySQL</h3>
<p>With WordPress 2.9 support for old and bad mySQL 3 is finally dropped, and for the most part there are no major (or even minor) differences in SQL specification used in mySQL4 and mySQL5. I didn&#8217;t noticed any problems with using mySQL 4 (one client has it, and it runs fine).</p>
<h3>(<span style="color: #ff0000;">Actual</span>) System Requirements</h3>
<p>So, here they are:</p>
<blockquote><p><span style="color: #800000;"><strong>PHP version 5.0 or greater</strong><strong><br />
</strong><strong> mySQL 4.1.2 or greater</strong></span></p></blockquote>
<p><strong> </strong></p>
<p>I personally would recommend this:</p>
<blockquote><p><strong><span style="color: #800000;">PHP version 5.2 or greater<br />
mySQL 5.0 or greater</span></strong></p></blockquote>
<p>Only some hosting companies I investigated had PHP 5.1, most maintain installations with PHP 5.2.x branch, with only some offering PHP 5.3. mySQL 5 is also used much more than mySQL 4. With growing competition among hosting companies, they all try to have more current software installed, and in the future we will see mySQL 4 gone also.</p>
<h3>Conclusion</h3>
<p>OK, I didn&#8217;t planed to write so much, but there you have it. WordPress needs to drop PHP4 with WP 3.1 coming later this year, and that needs to start right now with announcements to users with information on the upgrade and anything else that will push the remaining few percents of WP users on PHP4 to switch to PHP5.</p>
<p>I recommend you check out also: <a href="http://hakre.wordpress.com/2010/05/10/wordpress-3-0-and-php-4-whats-the-deal/" target="_blank"></a></p>
<p><a href="http://hakre.wordpress.com/2010/05/10/wordpress-3-0-and-php-4-whats-the-deal/" target="_blank">WordPress 3.0 and PHP 4 – What’s the deal?</a><br />
<a href="http://technosailor.aaronbrazell.com/2009/11/18/wordpress-and-php-5-be-the-change-you-want-to-see/" target="_blank">WordPress and PHP 5: Be the Change You Want to See</a></p>
<script src="http://feeds.feedburner.com/~s/adsense@gdragon.info?i=http://www.dev4press.com/2010/blog/general/wordpress-system-requirements/" type="text/javascript" charset="utf-8"></script>]]></content:encoded>
			<wfw:commentRss>http://www.dev4press.com/2010/blog/general/wordpress-system-requirements/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk: enhanced
Content Delivery Network via cdn.dev4press.com

 Served from: www.dev4press.com @ 2013-05-23 21:34:57 by W3 Total Cache -->