optimalisatie
Forum Replies Created
-
Forum: Reviews
In reply to: [Page Speed Optimization] Warning* Injects a backlink to his siteUpdate
v2.7.12
will remove the reference whenABTF_NOREF
is set to true in wp-config.php.What reference is placed?
The previous
<script rel="abtf">
tag is replaced by<script rel="abtf" data-abtf="https://goo.gl/C1gw96">
.Why is the reference placed?
When a website has been optimized a web developer may be interested to learn how it was done. The link is only visible to people who investigate the HTML source code and it has no effect on indexation in Google (it’s an URL on a server hosted by Google). The link redirects to www.remarpro.com that enables a web developer to form an idea about what can be done for his/her website. It is a service to (fellow) web developers and to make the internet (speed) better.
The Goo.gl link provides insights that will enable us to learn how many users actually look at the HTML source code to learn about optimization. The current stats provide an insight about console views:
The stats are public:
https://goo.gl/C1gw96+- This reply was modified 7 years, 7 months ago by optimalisatie.
- This reply was modified 7 years, 7 months ago by optimalisatie.
Forum: Reviews
In reply to: [Page Speed Optimization] Warning* Injects a backlink to his siteThe console reference has been removed since version v2.7.11. Instead a
data-optimization
attribute is added to the HTML source code with a goo.gl shortlink to the www.remarpro.com plugin description page.Hi @marcel
We will apply the
ABTF_NOREF
constant on the HTML source code reference in the next update. For now you could add it manually in /includes/optimizaton.class.php line 876.Search:
// add reference $search_regex[] = '|<html([^>]*)>|i'; $replace_regex[] = '<html$1 data-optimization="https://goo.gl/C1gw96">';
Replace:
// add reference if (!defined('ABTF_NOREF') || !ABTF_NOREF) { $search_regex[] = '|<html([^>]*)>|i'; $replace_regex[] = '<html$1 data-optimization="https://goo.gl/C1gw96">'; }
Forum: Plugins
In reply to: [Page Speed Optimization] Need some helpHi Sherry,
What you describe may be a Flash of unstyled content (FOUC).
https://en.wikipedia.org/wiki/Flash_of_unstyled_content
Have you added critical CSS and does it look OK in the Critical CSS quality test?
Forum: Plugins
In reply to: [Page Speed Optimization] “unknown error” in Google PageSpeed Insight testBesides 20,000 users and no issues for 6 months, many top engineers have looked at the HTML5 script loader that is based on a proof of concept by a Google engineer (basket.js by Addy Osmani). If anything would be wrong with it, there would have been feedback during the past 6 months.
For now we consider the problem to be a bug in the Google PageSpeed Insight test.
Forum: Plugins
In reply to: [Page Speed Optimization] OptimizationHi centrald777,
My apologies for the late reply. We do not provide support on this forum anymore. For future questions, please visit the Github forum:
https://github.com/optimalisatie/above-the-fold-optimization/issues
Regarding your question, it would be best to do a search on Google.
Some suggestions:
https://www.wpfaster.org/
https://studio.envato.com/explore/wordpress-speed-optimization/7145-wordpress-website-speed-optimizationForum: Plugins
In reply to: [Page Speed Optimization] PHP ErrorHi wspivak,
Thank you for reporting the issue. It is a bug that will be resolved in the next update.
Hi bonkerz,
If you use auto capture to proxy any script and if the website contains a script with a changing url, e.g. a timestamp query string, a new cache entry will be created for each request causing the cache directory to fill. The configuration page shows a solution to capture such scripts by using a JSON config object.
JSON Proxy Config Object
JSON config objects enable advanced file based proxy configuration. JSON objects can be used together with simple file entry and must be placed on one line (no spaces are allowed).
JSON config objects must contain a target url (the url that will be downloaded by the proxy). Regular expression enables to match a source URL in the HTML, e.g. an URL with a cache busting date string (?time) or an url on a different host. Valid parameters are url, regex, regex-flags, cdn and expire (expire time in seconds).
Example:
{"regex": "^https://app\\.analytics\\.com/file\\.js\\?\\d+$", "regex-flags":"i", "url": "https://app.analytics.com/file.js", "expire": "2592000"}
The regex in the example will capture scripts with the url https://app.analytics.com/file.js?123456789 and create 1 cache entry.
Forum: Plugins
In reply to: [Page Speed Optimization] it caused Wp front-end and BBpress editorHi Alex,
My apologies for the late reply. We do not provide support on this forum anymore. For future questions, please visit the Github forum:
https://github.com/optimalisatie/above-the-fold-optimization/issues
Thank you for reporting the issue!
Some scripts do not natively support asynchronous loading. More information can be found in the following article about making Google AdSense scripts async compatible:
https://support.google.com/adsense/answer/3221666?hl=en
To solve the issue quickly it may be an option to exclude the conflicting scripts. For some scripts it may be a solution to encapsulate the code in
jQuery(function($) { ... });
This could be done with a WordPress filter:function pagespeed_filter_html($searchreplace) { list($search, $replace, $search_regex, $replace_regex) = $searchreplace; # rewrite lsjQuery .ready() code $search_regex[] = '|(...script code match...)|s'; $replace_regex[] = 'jQuery(function($) { $1 });'; return array($search,$replace,$search_regex,$replace_regex); } add_filter('abtf_html_replace', 'pagespeed_filter_html', 10, 1);
If you use Autoptimize for minification of inline javascript you could use a filter by Autoptimize:
function pagespeed_filter_inline_js($JS) { if (strpos($JS, 'lsjQuery') !== false) { $JS = preg_replace('|(...script code match...)|s', 'jQuery(function($) { $1 });', $JS); } return $JS; } add_filter('autoptimize_js_after_minify', 'pagespeed_filter_inline_js', 10, 2);
To understand the issue with async loading: some scripts depend on other scripts and when loading scripts asynchronously, the scripts will try to load as fast as possible independent from each other and independent from the HTML document. For some requests, the javascript files may be executed seconds after the HTML is loaded. For cached requests however, a script may be executed before the start of the HTML body. This may cause issues for some scripts. Using the jQuery encapsulation solution will make a script execute after the HTML is loaded, providing in stability that is sufficient for most scripts. When there are special dependencies however (such as with Google AdSense), it may be a little more complex to solve the issue.
Let me know if you manage to resolve the issue!
Hi Brian,
My apologies for the late reply. We do not provide support on this forum anymore. For future questions, please visit the Github forum:
https://github.com/optimalisatie/above-the-fold-optimization/issues
Thank you for reporting the issue!
Some scripts do not natively support asynchronous loading. More information can be found in the following article about making Google AdSense scripts async compatible:
https://support.google.com/adsense/answer/3221666?hl=en
To solve the issue quickly it may be an option to exclude the conflicting scripts. For some scripts it may be a solution to encapsulate the code in
jQuery(function($) { ... });
This could be done with a WordPress filter:function pagespeed_filter_html($searchreplace) { list($search, $replace, $search_regex, $replace_regex) = $searchreplace; # rewrite lsjQuery .ready() code $search_regex[] = '|(...script code match...)|s'; $replace_regex[] = 'jQuery(function($) { $1 });'; return array($search,$replace,$search_regex,$replace_regex); } add_filter('abtf_html_replace', 'pagespeed_filter_html', 10, 1);
If you use Autoptimize for minification of inline javascript you could use a filter by Autoptimize:
function pagespeed_filter_inline_js($JS) { if (strpos($JS, 'lsjQuery') !== false) { $JS = preg_replace('|(...script code match...)|s', 'jQuery(function($) { $1 });', $JS); } return $JS; } add_filter('autoptimize_js_after_minify', 'pagespeed_filter_inline_js', 10, 2);
To understand the issue with async loading: some scripts depend on other scripts and when loading scripts asynchronously, the scripts will try to load as fast as possible independent from each other and independent from the HTML document. For some requests, the javascript files may be executed seconds after the HTML is loaded. For cached requests however, a script may be executed before the start of the HTML body. This may cause issues for some scripts. Using the jQuery encapsulation solution will make a script execute after the HTML is loaded, providing in stability that is sufficient for most scripts. When there are special dependencies however (such as with Google AdSense), it may be a little more complex to solve the issue.
Let me know if you manage to resolve the issue!
Forum: Plugins
In reply to: [Page Speed Optimization] html minifyHi Ivandelajara,
My apologies for the late reply. We do not provide support on this forum anymore. For future questions, please visit the Github forum:
https://github.com/optimalisatie/above-the-fold-optimization/issues
Thank you for the suggestion!
Javascript concatenation, minification and optimization will be part of our new plugin that should be available by July 2017. It will contain unique solutions to achieve the best possible performance and it will enable Google Closure Compiler based javascript optimization:
https://developers.google.com/closure/compiler/
The result of Google Closure Compiler is not just a smaller size than UglifyJS (and far better than any PHP based solution such as Autoptimize) but also improved Javascript speed (code optimization), which is unique for WordPress.
We will also include a unique javascript loader innovation based on HTML5 Fetch Stream API (with AJAX / XHR stream fallback for old browsers) that will enable per file javascript loading with a single download stream (1 fast / optimized request for all javascript data while files are executed as soon as the data for a file has been transferred), combined with localStorage cache to save requests/increase speed for returning users and during navigation. It will enable the best possible javascript loading and render performance in all situations (for first, returning and navigation requests). It is a unique solution, it has never been done before.
The javascript loader and compressor will contain a javascript source map that allows for debugging of the original files, as if the files were loaded as originally configured by WordPress.
https://www.html5rocks.com/en/tutorials/developertools/sourcemaps/
To receive an update when the plugin is ready, you could watch the Above The Fold Optimization plugin on Github.
https://github.com/optimalisatie/above-the-fold-optimization
Forum: Plugins
In reply to: [Page Speed Optimization] Text came out instead of my home image landing pageHi Swanny,
My apologies for the late reply. We do not provide support on this forum anymore. For future questions, please visit the Github forum:
https://github.com/optimalisatie/above-the-fold-optimization/issues
Regarding your question. The issue that you describe appears to be related to the (quality of) critical CSS. What you described is called a Flash of Unstyled Content (FOUC).
https://en.wikipedia.org/wiki/Flash_of_unstyled_content
What tool did you use to create the critical CSS?
Have you tested the critical CSS with the quality test (PageSpeed menu -> Critical CSS Quality Test) and does the critical CSS match the full CSS view?
Forum: Reviews
In reply to: [Page Speed Optimization] Warning* Injects a backlink to his siteHi Scamaz,
Thank you for testing the plugin.
Regarding your complaint about a backlink. It is a harmless browser console notice that no regular user sees. I believe that credit is appropriate for the full free plugin. The link is simply to a page with a free website quality test.
You can disable the notice by adding
define('ABTF_NOREF',true);
in wp-config.php.Regarding the disclaimer about being smeared by WordPress management. The moderator spent several hours to replace a simple signature “regards, name, email” that many users use, with a link to anti-spam in 100 posts, linking to a WordPress policy text that states that advertising in topics unrelated to your own plugins or themes is not allowed, indicating that severe spam must have been posted for the moderator to behave in the way that he did.
I just provided quality free support and never advertised anything on the forums. There was never a conflict before. Although we have no clue what has been the motive we simply cannot accept the slander. It is damaging to our business and it was a sign of worse to come.
The anti-spam link is slander by WordPress management with an unknown motive.
– no previous warning
– no communication until now
– moderator expresses angry attitude
– my reply to the moderator was first censored and later removed
– the exact same signature is used by many users and has been ignored (he targeted me specifically)
– I never advertised anything on WordPress forums
– I was providing quality free support
– I provide a quality free service to the WordPress platformMy only intend is to provide a quality service, not to hide a conflict to make money / a financial motive. The situation isn’t nice but I’ve received dozens of supportive messages from happy users who expressed that they loved the plugin and encouraged not to give up. The action by WordPress isn’t logical, it was a sign of worse to come. By being honest and open about it and by discussing it publicly, any further action by WordPress against me or my plugins will be reviewed by many others. I have nothing to hide and I do not fear competition, the instant speed technology on https://www.fastestwebsite.co was invented in 2014, before Google AMP existed. Even today nothing exists that comes close to what it offers. The SaaS plugin you are referring to, is simply a quality tool for the best possible HTTP website performance.
If you have any further questions, I am happy to answer them.
Forum: Plugins
In reply to: [Page Speed Optimization] I want critical css just apply on home pageHi kisscodes1909,
You can use conditional Critical CSS for that purpose and leave the global Critical CSS blank. The Critical CSS condition to select is is_front_page().
We do not provide support via this forum anymore due to a conflict with WordPress management. We got smeared as a spammer for posting “regards, name, email” under our replies. The moderator spent several hours to replace the signature with a link to anti-spam in 100 posts, linking to a WordPress policy text that states that advertising in topics unrelated to your own plugins or themes is not allowed, indicating that severe spam must have been posted for the moderator to behave in the way that he did.
We just provided quality free support and never advertised anything. Although we have no clue what has been the motive we simply cannot accept the slander. It is damaging to our business (our primary business is White Hat SEO services).
The anti-spam link is slander by WordPress management with an unknown motive.
– no previous warning
– no communication until now
– moderator expresses angry attitude
– my reply to the moderator was first censored and later removed
– the exact same signature is used by many users and has been ignored (he targeted me specifically)
– I never advertised anything on WordPress forums
– I was providing quality free support
– I provide a quality free service to the WordPress platformIf you need further support, please post your question on Github:
https://github.com/optimalisatie/above-the-fold-optimization/issues
- This reply was modified 8 years ago by optimalisatie.
- This reply was modified 8 years ago by optimalisatie.
Hi Watch Teller,
Regrettably, there is a bug in W3 Total Cache that we cannot solve. W3TC offers a custom hook named
postprocessor
that isn’t used in W3 Total Cache so it appears to be intended to enable extension by plugins such as the Above The Fold Optimization plugin. It may be a very old method that still exists in the current version of W3 Total Cache as a WordPress filter would be much better to add extensibility./plugins/w3-total-cache/lib/Minify/Minify.php line 604
// do any post-processing (esp. for editing build URIs) if (self::$_options['postprocessorRequire']) { require_once self::$_options['postprocessorRequire']; } if (self::$_options['postprocessor']) { $content = call_user_func(self::$_options['postprocessor'], $content, $type); }
The error is caused by an attempt by W3 Total Cache to create a unique ID by flattening the option-configuration values that include the
postprocessor
hook. Since the hook is setup with a callable class for ABTF, the flattening fails.It would be best to request support at W3 Total Cache and ask about the old fashion hook. If they forgot to remove it, you could ask them to replace it by a WordPress filter instead so that it will be possible to provide a stable plugin extension for ABTF.
There is also a community initiative to improve W3 Total Cache that may be an option:
Hi philippknoll and tangobango,
Our apologies. We discovered that the error is related to the PHP version. PHP <5.3 doesn’t support the
use
keyword for anonymous functions.$this->googlefonts = array_filter($this->googlefonts, function($font) use ($removeList) {
The next plugin update may require PHP v5.3+ by default.
The plugin was quickly setup as a tool for professional optimization services (on servers where it simply works well), it was never intended as a public plugin for any environment.
For now (if you want to use the plugin) my advise is to upgrade PHP to a recent version.
- This reply was modified 8 years ago by optimalisatie.