Easily Insert Header and Footer Code

Insert Headers and Footers is a simple plugin that lets you insert code like Google Analytics, custom CSS, Facebook Pixel, and more to your WordPress site header and footer. No need to edit your theme files!

The simple interface of the Insert Headers and Footers plugin gives you one place where you can insert scripts, rather than dealing with dozens of different plugins.

This plugin will create a submenu page under Appearance with the title Import demo data.

If the theme you are using does not have any predefined import files, then you will be presented with three file upload inputs. First one is required and you will have to upload a demo content XML file, for the actual demo import. The second one is optional and will ask you for a WIE or JSON file for widgets import. You create that file using the Widget Importer & Exporter plugin. The third one is also optional and will import the customizer settings, select the DAT file which you can generate from Customizer Export/Import plugin (the customizer settings will be imported only if the export file was created from the same theme). The final one is optional as well and will import your Redux framework settings. You can generate the export json file with the Redux framework plugin.

This plugin is using the improved WP import 2.0 that is still in development and can be found here: https://github.com/humanmade/WordPress-Importer.

All progress of this plugin’s work is logged in a log file in the default WP upload directory, together with the demo import files used in the importing process.

NOTE: There is no setting to “connect” authors from the demo import file to the existing users in your WP site (like there is in the original WP Importer plugin). All demo content will be imported under the current user.

You can set content import, widgets, customizer and Redux framework import files. You can also define a preview image, which will be used only when multiple demo imports are defined, so that the user will see the difference between imports. Categories can be assigned to each demo import, so that they can be filtered easily. The preview URL will display the “Preview” button in the predefined demo item, which will open this URL in a new tab and user can view how the demo site looks like.

How to automatically assign “Front page”, “Posts page” and menu locations after the importer is done?

You can do that, with the pt-ocdi/after_import action hook. The code would look something like this:

You have to use the same filter as in above example, but with a slightly different array keys: local_*. The values have to be absolute paths (not URLs) to your import files. To use local import files, that reside in your theme folder, please use the below code. Note: make sure your import files are readable!

How to handle different “after import setups” depending on which predefined import was selected?

This question might be asked by a theme author wanting to implement different after import setups for multiple predefined demo imports. Lets say we have predefined two demo imports with the following names: ‘Demo Import 1’ and ‘Demo Import 2’, the code for after import setup would be (using the pt-ocdi/after_import filter):

Of course you can, use the pt-ocdi/before_widgets_import action. You can also target different predefined demo imports like in the example above. Here is a simple example code of the pt-ocdi/before_widgets_import action:

wp ocdi import – which has a few options that you can use to import the things you want (content/widgets/customizer/predefined demos). Let’s look at these options below.

wp ocdi import options:

wp ocdi import [–content=] [–widgets=] [–customizer=] [–predefined=]

--content=<file> – will run the content import with the WP import file specified in the <file> parameter,

--widgets=<file> – will run the widgets import with the widgets import file specified in the <file> parameter,

--customizer=<file> – will run the customizer settings import with the customizer import file specified in the <file> parameter,

--predefined=<index> – will run the theme predefined import with the index of the predefined import in the <index> parameter (you can use the wp ocdi list command to check which index is used for each predefined demo import)

The content, widgets and customizer options can be mixed and used at the same time. If the predefined option is set, then it will ignore all other options and import the predefined demo data.

I’m a theme author and I want to change the plugin intro text, how can I do that?

You can change the plugin intro text by using the pt-ocdi/plugin_intro_text filter:

To add some text in a separate “box”, you should wrap your text in a div with a class of ‘ocdi__intro-text’, like in the code example above.

How to disable generation of smaller images (thumbnails) during the content import

This will greatly improve the time needed to import the content (images), but only the original sized images will be imported. You can disable it with a filter, so just add this code to your theme function.php file:

How to change the location, title and other parameters of the plugin page?

As a theme author you do not like the location of the “Import Demo Data” plugin page in Appearance -> Import Demo Data? You can change that with the filter below. Apart from the location, you can also change the title or the page/menu and some other parameters as well.

How can I disable the ProteusThemes branding notice after successful demo import?

You can disable the branding notice with a WP filter. All you need to do is add this bit of code to your theme:

add_filter( 'pt-ocdi/disable_pt_branding', '__return_true' );

and the notice will not be displayed.

I can’t activate the plugin, because of a fatal error, what can I do?

Update: since version 1.2.0, there is now a admin error notice, stating that the minimal PHP version required for this plugin is 5.3.2.

You want to activate the plugin, but this error shows up:

Plugin could not be activated because it triggered a fatal error

This happens, because your hosting server is using a very old version of PHP. This plugin requires PHP version of at least 5.3.x, but we recommend version 5.6.x or better yet 7.x. Please contact your hosting company and ask them to update the PHP version for your site.

Issues with the import, that we can’t fix in the plugin

Please visit this docs page, for more answers to issues with importing data.

2.4.0

Release Date – 23 August 2017

Add WP-CLI commands for importing with this plugin,

Fix conflict with WooCommerce importer

2.3.0

Release Date – 28 May 2017

Add preview button option to the predefined demo import items,

Add custom JS event trigger when the import process is completed,

Add custom filter for plugin page title,

Remove content import as a required import. Now you can make separate imports for customizer, widgets or redux options.

Cornerstone makes WordPress practical for any type of site by enhancing its content management capabilities. Too long have we had to resort to hacks like using categories in menus to build a pseudo site structure (you know what I’m talking about).

Cornerstone enhances your WordPress site in several ways. One of the most useful features is one that allows WordPress to be used for sites that go beyond just blogging– Posts in Sections. Create a section, add posts to it, they show up when visitors navigate to that section. Simple as that. It really is, but because you’re awesome here’s a tutorial on how to do it.

Thanks for the Support!

The support from the users that love Cornerstone is huge. You can support Cornerstone’s future development and help to make it even better by donating or even just by sending me a nice message

A short version of a post that is usually displayed wherever the whole post would be too much (eg. search results, news feeds, archives). You can write them yourself, but if you don’t, WordPress will make a very basic one instead.

Why do I need this plugin?

The default excerpt created by WordPress removes all HTML. If your theme uses the_excerpt() or the_content() to view excerpts, they might look weird because of this (smilies are removed, lists are flattened, etc.) This plugin fixes that and also gives you more control over excerpts.

Does it work for WordPress version x.x.x?

During development, the plugin is tested with the most recent version(s) of WordPress. It might work on older versions, but it’s better to just keep your installation up-to-date.

Is this plugin available in my language? / How do I translate this plugin?

Advanced Excerpt is internationalization (i18n) friendly. If you’d like to contribute a translation for your language please do so by opening a pull request.

Does this plugin support multibyte characters, such as Chinese?

Before 4.1, multibyte characters were supported directly by this plugin. This feature has been removed because it added irrelevant code for a ‘problem’ that isn’t actually specific to the plugin.

The plugin automatically hooks on the_excerpt() and the_content() functions and uses the parameters specified in the options panel.

If you want to call the filter with different options, you can use the_advanced_excerpt() template tag provided by this plugin. This tag accepts query-string-style parameters (theme developers will be familiar with this notation).

The following parameters can be set:

length, an integer that determines the length of the excerpt

length_type, enumeration, if set to words the excerpt length will be in words; if set to characters the excerpt length will be in characters

no_custom, if set to 1, an excerpt will be generated even if the post has a custom excerpt; if set to 0, the custom excerpt will be used

no_shortcode, if set to 1, shortcodes are removed from the excerpt; if set to 0, shortcodes will be parsed

finish, enumeration, if set to exact the excerpt will be the exact lenth as defined by the “Excerpt Length” option. If set to word the last word in the excerpt will be completed. If set to sentence the last sentence in the excerpt will be completed.

ellipsis, the string that will substitute the omitted part of the post; if you want to use HTML entities in the string, use %26 instead of the & prefix to avoid breaking the query

read_more, the text used in the read-more link

add_link, if set to 1, the read-more link will be appended; if 0, no link will be added

allowed_tags, a comma-separated list of HTML tags that are allowed in the excerpt. Entering _all will preserve all tags.

exclude_tags, a comma-separated list of HTML tags that must be removed from the excerpt. Using this setting in combination with allowed_tags makes no sense

WP-Members™ is the original membership plugin for WordPress®. Perfect for newsletters, premium content sites, clubs/associations, and more!

The plugin restricts selected WordPress® content to registered site members. WP-Members™ puts the registration process on the site front end so it is inline with your content rather than the native WP login page. WP-Members™ requires no modifications to your theme while remainging scalable for users who want to customize the look and feel, or want to restrict only some content. It is a great tool for sites offering premium content to subscribers, and is adaptable to a variety of applications.

Simple to install and configure – yet customizable and scalable!

Features:

Block posts, pages, both, or none by default

Block individual posts/pages

User login, registration, and profile integrated into your theme

Sidebar login widget

Create custom registration and profile fields

Set which fields display and which are required

Notify admin of new user registrations

Hold new registrations for admin approval

Setting to automatically create post excerpts

More than 100 action and filter hooks for extensibility

By default, WordPress® allows all content to be “open” and viewable by anyone and allows the site owner to restrict specific content if desired by setting a password for the post. WP-Members™ operates with the reverse assumption. It restricts all posts by default but allows the site owner to “unblock” content as desired. WP-Members™ also offers the ability to change these default plugin settings. For those that simply want to utilize the member management features and possibly restrict some content, the default setting can easily be toggled to block or unblock pages and/or posts by default. No matter what the default setting, individual posts or pages can be set to be blocked or unblocked at the article level, overriding the default setting.

The plugin installs with additional registration fields including name, address, phone, and email. Using the WP-Members™ admin panel, you can also create your own custom registration fields and delete existing ones. Changing the field order is simple with a drag-and-drop interface. All of the registration process is inline with your theme and content rather than using the WordPress® login page. This offers you a premium content site with a professional and branded look and feel. It also provides an opportunity for the user to register without leaving the page to do so – less clicks = more conversions.

There are also some special pages that can be created with simple shortcodes:

A User Profile page where registered members can edit their information and change/reset their password: [wpmem_profile]

A Registration page available for those that need a specific URL for registrations (such as email marketing or banner ad landing pages). Note: this is strictly optional as a registration form can also be included by default on blocked content pages: [wpmem_form register]

A Login page. This is also an optional page as the login form is included by default on blocked content. But if you need a specific login page, this can be created with a simple shortcode: [wpmem_form login]

The plugin runs on a framework with over 100 action and filter hooks so you can fully customize your implementation.

In addition to all of the features above, the plugin can be extended with premium add-on modules available from the support site rocketgeek.com. Members of rocketgeek.com have access to support, examples, tutorials, and code snippets that will help you extend and customize the base plugin using the plugin’s framework. Some of the add-ons have their own hooks and shortcodes to further extend the plugin’s extensibility. Visit the site for more info.

What the plugin does not do

WP-Members does not automatically hide absolutely everything from view. The default install of the plugin is designed to use “teaser” content to drive users to want to register. If you want certain content or menu elements completely hidden, there are ways to do that with some customization between your theme and the plugin, but it is not automatic.

Statement regarding the name WP-Members™

WP-Members™ is a trademark of butlerblog.com.

There are a number of commercial vendors offering products called WP-Members™ or a derivative thereof. Most of these products are neither free, nor are all of them open source. The original plugin hosted here has been publicly available since 2006 and in no way associated with any of these vendors. Tagging your support request in the wordpress.org forums attaches it to this plugin. If you are seeking support for one of these commercial products, you should seek support from the vendor. If you got it from a site other than here then it isn’t WP-Members™.

Regarding RocketGeek.com

Premium priority support is available at the plugin’s site RocketGeek.com. A site membership includes priority support, members-only forum access, plugin extensions, and a custom code snippet library. RocketGeek.com is the only site officially managed for this plugin’s support.

WP-Members™ is designed to run “out-of-the-box” with no modifications to your WP installation necessary. Please follow the installation instructions below. Most of the support issues that arise are a result of improper installation or simply not reading/following directions.

Basic Install:

Upload the /wp-members/ directory and its contents to the /wp-content/plugins/ directory

Activate the plugin through the ‘Plugins’ menu in WordPress®

You are ready to begin using WP-Members™. Now follow the instructions titled “Locking down your site” below.

NOTE: Please follow instructions for installation. The vast majority of people that have marked the plugin as “broken” in the plugin compatibility form simply did not read/follow installation instructions. If something is unclear, ask for assistance.

Locking down your site:

To begin restricting posts, you will need to be using the <!--more--> link in your posts. Content above to the “more” split will display on summary pages (home, archive, category) but the user will be required to login to view the entire post. You may also use the plugin’s auto excerpt setting to create post excerpts automatically. If you do not use the “more” tag or the auto excerpt setting, full post content is going to show on archive templates.

To begin restricting pages, change the plugin default setting for pages to be blocked. Unlike posts, the <!--more--> link is not necessary in the blocking of pages, but must be used if you have the “show excerpts” setting turned on.

To protect comments, we recommend setting “Users must be registered and logged in to comment” under Settings > Discussion

Also on the page Settings > General, we recommend making sure “Anyone can register” is unchecked. While not required, this will prevent WP’s native registration from colliding with WP-Members™, especially if you are using any of the WP-Members™ additional registration fields.

Under Settings > Reading, we recommend that “For each article in a feed, show” is set to “Summary.” WordPress® installs with full feed settings by default. If you don’t change this, your feeds will show full content.

Additional Settings and Information

A full Users Guide is available here. The guide outlines the installation process, and also documents how to use all of the settings.

Plugin Extensibility

WP-Members™ is designed to be an out-of-the-box usable plugin, but also have an extensible framework for maximum flexibility and customization. For this purpose, there are a number of shortcodes, filters, and actions that can be used.

The plugin has 80 filter and action hooks. For a list of hooks and a description of their use, see this page

The plugin’s premium support site has loads of tips, tricks, and sample code for you to make maximum use out of the plugin. Get more information here. Members of the premium support site also have access to premium add-on modules.

The FAQs are maintained at http://rocketgeek.com/plugins/wp-members/users-guide/faqs/

Installation Instructions

WP-Members™ is designed to run “out-of-the-box” with no modifications to your WP installation necessary. Please follow the installation instructions below. Most of the support issues that arise are a result of improper installation or simply not reading/following directions.

Basic Install:

Upload the /wp-members/ directory and its contents to the /wp-content/plugins/ directory

Activate the plugin through the ‘Plugins’ menu in WordPress®

You are ready to begin using WP-Members™. Now follow the instructions titled “Locking down your site” below.

NOTE: Please follow instructions for installation. The vast majority of people that have marked the plugin as “broken” in the plugin compatibility form simply did not read/follow installation instructions. If something is unclear, ask for assistance.

Locking down your site:

To begin restricting posts, you will need to be using the <!--more--> link in your posts. Content above to the “more” split will display on summary pages (home, archive, category) but the user will be required to login to view the entire post. You may also use the plugin’s auto excerpt setting to create post excerpts automatically. If you do not use the “more” tag or the auto excerpt setting, full post content is going to show on archive templates.

To begin restricting pages, change the plugin default setting for pages to be blocked. Unlike posts, the <!--more--> link is not necessary in the blocking of pages, but must be used if you have the “show excerpts” setting turned on.

To protect comments, we recommend setting “Users must be registered and logged in to comment” under Settings > Discussion

Also on the page Settings > General, we recommend making sure “Anyone can register” is unchecked. While not required, this will prevent WP’s native registration from colliding with WP-Members™, especially if you are using any of the WP-Members™ additional registration fields.

Under Settings > Reading, we recommend that “For each article in a feed, show” is set to “Summary.” WordPress® installs with full feed settings by default. If you don’t change this, your feeds will show full content.

Additional Settings and Information

A full Users Guide is available here. The guide outlines the installation process, and also documents how to use all of the settings.

Plugin Extensibility

WP-Members™ is designed to be an out-of-the-box usable plugin, but also have an extensible framework for maximum flexibility and customization. For this purpose, there are a number of shortcodes, filters, and actions that can be used.

The plugin has 80 filter and action hooks. For a list of hooks and a description of their use, see this page

The plugin’s premium support site has loads of tips, tricks, and sample code for you to make maximum use out of the plugin. Get more information here. Members of the premium support site also have access to premium add-on modules.

3.1.9.3

Security update for 3.1.9.

Fix for multiple checkbox and multiple select field types if “comma” was selected as the delimiter (previously, this would break the field settings array option assembly).

Improvements on field manager add/edit field screen.

Improvements to multiple checkbox and radio groups: better handling of non-value selections and span wrapper for group separators.

3.1.9.2

Fix for Users > All Users user search if no search meta have been selected in Fields tab.

Added User ID as an optional column to add to Users > All Users.

3.1.9.1

Added missing (new) files.

3.1.9

Improved user search in Users > All Users.

Fully deprecated obsolete reCAPTCHA v1. If v1 is selected as a setting, it will be automatically changed to v2. (v1 users check your API keys for compatibility.)

This wp plugin protect the posts content from being copied by any other web site author , you dont want your content to spread without your permission!!
The plugin will keep your posts and home page protected by multiple techniques (JavaScript + CSS), this techniques does not found in any other wordpress plugin and you will own it for free with this plugin

Easy to Install:
Read the installation steps to find that this plugin does not need any coding or theme editing, just use your mouse..

Basic Information

Using the Plugin

Basic Installation

This section describes how to install the plugin and get it working.

Using default WordPress installer trought the ‘Plugins’ menu, or using your FTP credentials upload this plugin content to the default WordPress (‘your-site/wp-content/plugins/’) plugins directory. We recommend you to use the default folder name ‘advanced-wp-columns’ for this plugin.

Activate the plugin through the ‘Plugins’ menu in WordPress

You can also check the plugin settings to modify default plugin behaviours.

Main features of advanced iframe

By entering the shortcode ‘[advanced_iframe securitykey=””]’ you can include any webpage to any page or article.
The following cool features compared to a normal iframe are implemented:

Security code: You can only insert the shortcode with a valid security code from the administration.

Hide areas of the layout to give the iframe more space (see screenshot)

Show only specific areas of the iframe when the iframe is on a same domain (The Pro version supports this on different domains) or include parts directly by jQuery

Modify css styles in the parent and the iframe to e.g. change the width of the content area (see screenshot)

Forward parameters to the iframe

Resize the iframe to the content height or width on loading, AJAX or click

Scroll the parent to the top when the iframe is loaded

Hide the content until it is fully loaded

Add a css and js file to the parent page

Many additional cool features are available the pro version – see http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-comparison-chart

Please note: Modification inside the iframe are only possible if you are on the same domain or use a workaround like described in the settings.

So please check first if the iframe page and the parent page are one the same domain. www.example.com and text.example.com are different domains! Please check in the documentation if you can use the feature you like

A free iframe checker is available at
http://www.tinywebgallery.com/blog/advanced-iframe/free-iframe-checker.
This tool does check if a page is allowed to be included!

All settings can be set with shortcode attributes as well. If you only use one iframe please use the settings in the administration because there each parameter is explained in detail and also the defaults are set there.

Upgrading to Advanced IFrame Pro

It’s quick and painless to get Advanced iFrame Pro. Simply Get Advanced iFrame Pro on CodeCanyon.net (http://codecanyon.net/item/advanced-iframe-pro/5344999?ref=mdempfle) and install your new plugin! You can than use the plugin on commercial, business, and professional sites and blogs. You furthermore get:

Show only specific areas of the iframe even when the iframe is on different domain

In the free version you can enable the pro administration. So you can see which settings are available there.

You can find the comparison chart here: http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-comparison-chart
See the pro demo here:
http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo

Administration

Go to Settings -> Advanced iFrame

Quick start guide

The quickstart guide is also available as video: http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-video-tutorials

To include a webpage to your page please check the following things first:

Check if your page page is allowed to be included http://www.tinywebgallery.com/blog/advanced-iframe/free-iframe-checker!

Check if the iframe page and the parent page are one the same domain. www.example.com and text.example.com are different domains!

Can you modify the page that should be included?

Most likely you have one of the following setups:

iframe cannot be included: You cannot include the content because the owner does not allow this.

iframe can be included and you are on a different domain: See the feature comparison chart: http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-comparison-chart and the feature overview http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-features-availability-overview. To resize the content to the height/width or modify css you need to modify the remote iframe page by adding one line of Javascript to enable the provided workaround.

iframe can be included and you are on the same domain: All features of the plugin can be used.

If you mix http and https read http://www.tinywebgallery.com/blog/iframe-do-not-mix-http-and-https. Parent https and iframe http does not work on all mayor browsers!

Advanced iframe attributes

Below you find all possible shortcode attributes. If you only use one iframe please use the settings in the administration because there each parameter is explained in detail and also the defaults are set there.

Setting an attribute does overwrite the setting in the administration.

Place ‘[advanced_iframe securitykey=””]’ in your pages or posts. the security key can be found at Settings -> Advanced iframe

Using FTP

Upload ‘advanced-iframe’ to the ‘/wp-content/plugins/’ directory

Activate the plugin through the ‘Plugins’ menu in WordPress

Place ‘[advanced_iframe securitykey=””]’ in your pages or posts. the security key can be found at Settings -> Advanced iframe

Demo

See the pro demo here:
http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo

See the free demo here:
http://www.tinywebgallery.com/blog/advanced-iframe/demo-advanced-iframe-2-0

7.5.1

New: $onload_scroll_top does now support “iframe” as setting. The page does then scroll to the top of the iframe and not of the page.

New: The delay of the resize of the external workaround does now also delay the modification of the css as most of the time the elements that should be modified also are then also loaded dynamically (Pro)

New: Improved the documentation of change link targets that also forms can be changed!

Fix: Not all IE versions (<= 11) do support default method values. So e.g. even auto height does fail! This was introduced in version 7.5. So please update if you use 7.5! Now the code is rewritten to support older IE versions as well.

Fix: The resize delay in the external workaround does not try to measure height and width before the delay anymore which can lead to wrong messages in the js console. (Pro)

Fix: The resize delay in the external workaround is now added to the first resize on element resize call. (Pro)

Fix: AUTH_KEY is now set to AUTH_KEY_MISSING if it is not set in wp-config

Fix: In the standalone version the browser detection a wordpress function was used that was not mapped. Now the normal php function Worppress also uses is used. (Pro)

7.5

New: Added nice icons to the menu and the editor button

New: The editor button does now support ALL settings. By default this is now securitykey,src,width,height.

New: Show iframe in layer can now unload the iframe when closed. So e.g.music does stop then. If not unloaded it is now not loaded again! Before it was nut unloaded but on reopen loaded again! See show_iframe_as_layer_keep_content. Default is true (Pro)

New: Show iframe as layer does now support the loading icon (Pro)

New: Show iframe as layer does now support “hide content until loaded” (Pro)

New: Show iframe as layer background has now a pointer to make clear that the layer closes if clicked.

New: parent_content_css was added for the pro version. This gives you additional options when you modify the parent and you don’t want to create an external css file for this!

New: If element_to_measure cannot be found we show an error message in the console log.

New: If resize_on_element_resize cannot be found we show an error message in the console log.

New: The shortcode generator is now available for the free version also.

New: standalone version js was upgraded to 7.5 as well. (Pro)

New: Browscap version 6023 lite 04 May 2017 is now included. (Pro)

New: A modified version of php-browser-detection 3.2 is now used which does now also auto update browsecap.ini. Also os (operating system) can now be used. Like Linux, Android, Win7, Win8, WIN10 ….

New: “Show part of an iframe” also supports media queries for the basic setup. Demo 55 shows how this works.

New: Added an additional hint to use the external workaround if auto height with the same domain does not work.

New: Unique class for each viewport. This also enables to e.g. enable scrollbars, media queries… to other viewports. See example 3 http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/show-only-a-part-of-the-iframe#e3

New: Improved the add_iframe_url_as_param_prefix setting. Additional checks was added for https. So switching from http to https and using the old bookmarks without the s| still works.

New: Add to docu that inactive for the editor is o.k. and if is does not work create/edit the files manually

New: include_scripts_in_content=true. This is only needed in the special case if you use the page with content only (like using the plugin “Show Content Only” with “Content + Styles” mode). Then ai.js is directly rendered before the iframe. See demo wrapped auto height

New: Support for WordPress 4.8.1

Fix: Chrome is now detected by the browser detection again.

Fix: Viewports in “Show only a part of the iframe” where not working because of a change in 7.4.1. Now it works fine again.

Fix: resize_on_ajax_jquery was set to false as default if disabled and not to true. This causes that in the shortcode generator was always showing resize_on_ajax_jquery=”false”

Fix: The resize script was included in 7.4.2 to ai_external.js directly. The dead code that was adding the script dynamically to ai_external.js was removed.

Fix: In expert mode the src is now also hidden completely.

Fix: Invalid settings for dataPostMessage are now detected and printed to the log.

7.4.3

Fix: iframe_redirect_url was brocken in 7.4.2 because of a missing ).

7.4.2

New: The resize script is now direclty added to the ai_external.js. Chrome does show a warning now if js files are loaded internaly with document.write and this is now not done anymore. Also make sure you load jQuery manually in your pages as ai_external.js does also load jQery this way!

New: iframe_redirect_url does now support that only in case no ? is found in the iframe_redirect_url the parameters of the iframe are added again.

New: Enhanced the documentation for iframe_redirect_url

New: Support for WordPress 4.7.4

Fix: window.location.search was addd with a ? too much to iframe_redirect_url

Fix: a couple of settings where not enabled/disabled properly when main elements where toggled. Now also the defaults are set properly everywhere.

7.4.1

New: Documentation for ai_config_switcher_template was added to the “external workaround” tab.

New: Resize on element resize does also trigger the modification of the iframe again. This makes is possible that stuff loaded by e.g. ajax can also be changed!

New: “Show only a part of the iframe” css settings for the iframe do now use !important at the styles for the iframe to make sure that iframe settings e.g. from the theme like iframe { width:100%; } or other plugins that try to resize iframes dynamically will not kill this feature

New: z-index for iframe in a layer was increased to 100001-100003 to stay over the wp-admin bar!

New: iframe in layer background layer is now inserted at a different location in the dom to support more themes.

New: Support for WordPress 4.7.3

New: Standalone version was updated to the lastest version + postMessage is now default there too.

Fix: Edit/view of files in the custom folder was not working anymore because of a WP change. Now this works again. The editor shows (inactive) as this files are in a folder with no active plugin directly.

Fix: Added missing px settings at a css style for “Show only a part of the iframe”

Fix: iframe in a layer backgroud div is now added to a diffent position in the dom to be more flexible with other themes tha also defines z-indexes.

7.4

New: New installations get postMessage communication as default as only 0.2% of all used browsers (IE <= 8) do not support this! When the project was started this was almost 20%!

New: Improved documentation of the external workaround tab.

New: “Hide part of an iframe” is now also included to the area selector.

New: “Hide part of an iframe” has now an extra section in the config.

New: If we have a wrapper div we set this as default element to measure. This avoids problems if dynamically other elements are added by other scripts!

New: default element can be set on the external workaround tab and not only before the ai_external.js

New: Warning is shown in the log if the element cannot be measured

New: Add better support for element to measure -> getbyid -> jQuery…

New: Warning is shown when id starts with a number

New: Seems some seo tools do render the shortcode in the administration. This can cause that the whole administration is hidden if hide_content_until_iframe_color is set. Therefore if wp-admin is found in the url the following parameters are disabled: hide_page_until_loaded, hide_page_until_loaded_external=,hide_content_until_iframe_color to avoid this problem.

New: New help section postMessage comunication vs. iframe

Fix: The reserved words link in URL forward parameters is now working

Fix: add a ; automatically after the style to avoid configuration errors

7.4.3

Fix: iframe_redirect_url was brocken in 7.4.2 because of a missing ).

7.3.3

New: Support for WordPress 4.7.4

7.3.2

New: Support for WordPress 4.7.3

Fix: Edit/view of files in the custom folder was not working anymore because of a WP change. Now this works again. The editor shows (inactive) as this files are in a folder with no active plugin directly.

7.3.1

New: Support for WordPress 4.7

7.3

New: The external workaround post message solution is now using a json structure to transfer the data. This is needed to enable the next feature

New: You can define elements in the external workaround post message solution that are read from the remote iframe and added a element in the page. This enables you to include content directly if you simply hide the iframe! This is like include content directly with even more power then the one for the same domain! See the examples how cool this works: http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/external-workaround-with-post-message#e52 (Pro)

New: Support of the external workaround when you include https pages into http pages! See http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/external-workaround-with-post-message#e53 (Pro)

New: postMessages from non advanced iframe sources can now be used and converted. See ai_post_message_converter_template.js how this works. Enable use_post_message=”debug” to check if a remote page does send messages you can use! (Pro)

New: show_iframe_as_layer_full has a new option: “original”. Than the max size of the layer is the given size of the iframe. See http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/show-the-iframe-as-layer#e54 (Pro)

New: The layer is now closed also if you click anywhere outside the iframe. See http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/show-the-iframe-as-layer#e54

New: Documentation was improved for many settings.

New: The accordeon menu is now only on the advanced tab.

New: Help topics where all moved to the help tab.

New: jQuery help is available for everyone.

New: php 7 compatible

New: Placeholders are removed if not resolved. (Pro)

New: At many placeholders your can now define default values if the value can not be resolved. See http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/url-features#h49 (Pro)

New: Load a config file depending on a given parameter in the url. see js/ai_config_switcher_template.js and the documentation inside – makes it possible to use one page with different configurations! (Pro)

New: enable_external_height_workaround has a new state: External. This is now the default as in the ai_external.js auto height is now set to true as most people who use the external workaround use this as default. true does still enable this setting in the ai_external.js but also disables all settings which do not work on the same domain. So if you use several iframes with the external workaround and the same domain you should set this setting to External and set enable_external_height_workaround=”true” in the short code for full flexibility.

New: A warning is now shown if you use the external workaround without post communication and an https iframe is used in a http page. (Pro)

New: hide part of the iframe element has now an id. This makes it possible to add e.g. an additional stylesheet with media queries to change the size depending on the browser solution. See: http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/hide-a-part-of-the-iframe#e50 (Pro)

New: postMessage is now in a small extra box to make this setting more visual. (Pro)

New: Browscap version 6017 lite September 22, 2016 is now included. (Pro)

New: Support for WordPress 4.6.1

Fix: Search was always hiding elements on the external tab in the sub domain section.

7.2.2

New: Support for WordPress 4.5.3

Fix: show_iframe_loader, hide_part_of_iframe and hide_page_until_loaded are now working properly. hide_part_of_iframe elements are now hidden until the iframe is loaded. (Pro)

Fix: Accordeon menu does now work again. In the next version this will change anyway. I only use this than for the advanced tab as default as this page is simply too big.

7.2.1

Fix: sandbox attribute was not use as one file was not commited to the latest build. Now it works fine agian.

Fix: Zoom and php < 5.3 does not define a needed variable. Now this is defined for older php versions. (Pro)

7.2

New: {timestamp} can be used in the src. It adds a timestamp which can be used to avoid caching of iframes. (Pro)

New: element_to_measure is now available on the external workaround tab directly-> Additional height (Pro)

New: With post message you can now mix https and http in the external workaround. (Pro)

Fix: Resize later on the external workaround is now working again. (Pro)

Fix: Some themes have iframe hidden with opacity:0 and visibility:hidden. I now set this for the given iframe that the iframe is visible.

Fix: Additional height fields are only allowing numbers without a unit.

Fix: Improved documentation

7.1

New: “Show only a part of an iframe” does now also support zoom and scrollbars. See http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/show-only-a-part-of-the-iframe/show-only-a-part-of-an-iframe-zoom#e43 for a working example. (Pro)

New: “Show only a part of an iframe” does now also support zoom and the loading indicator. See http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/show-only-a-part-of-the-iframe/show-only-a-part-of-an-iframe-zoom#e43 for a working example. (Pro)

New: “Hide part of an iframe” supports now a bottom/right option e.g. hide_part_of_iframe=”b34,r9,100%,85,#ffffff”. See www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/hide-a-part-of-the-iframe#e44 for a working example (Pro)

New: “Hide part of an iframe” supports now the include of html and in there also the support of shortcodes. See www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/hide-a-part-of-the-iframe#e44 for a working example (Pro)

New: Support for vw and vh for width and height.

New: window.postMessage is now also supported as communication channel to send the needed data from the iframe to the parent for the external workaround. (Pro)

New: Support for WP multi sites if only the domain does differ between the sites. Check the “Support WP multisite” parameter on the “External workaround” tab. (Pro)

New: Check the shortcode! You can now enable on the introduction tab that the shortcode is showing an error message if unknown attributes are used.

New: Layer files have now the placeholder {src}. This can be used to e.g. create a “Go to the page” link. (Pro)

New: The orientationchange event is now triggering a recalculate of the iframe. So e.g. auto height is done again if you rotate your ipad.

Fix: The external workaround config with ?config_id=example was looking in the old place of the main plugin directory for the config files. But they moved to the advanced-iframe-custom folder and now the ai_external.js is loading the files from there. Please save the config once that the path is updated.

Fix: The hardcoded px was removed at “show only a part of the iframe” show_part_of_iframe_width and show_part_of_iframe_height. If you now specify % e.g. 100% and not 100%px is rendered (but browsers treated 100%px as 100% anyway)

7.0.3

New: Improved the documentation of the external workaround and added 2 new FAQs.

Fix: printError was not defined for the site. If the ai_external.js can not be saved the plugin fails. Now a message is shown properly.

7.0.2

New: Support of document.domain. Sub domains can than be configured like local domains. See the new section in the external workaround section.

New: The documentation of the external workaround was improved. A new step how to use the external workaround was added.

Fix: When creating/removing files the correct tab is now selected again.

Fix: The marker of the top tabs when a filtering was done was marking the wrong tabs when the introduction tab is the last tab.

Fix: External file list where not hidden during filtering

Fix: Resize by element resize could not be saved to the external workaround file if resize for the same domain was not enabled. Now the text field is not readonly in this case anymore. (Pro)

Fix: The whitelist for parameters do not contain ? and & anymore. Parameters are now encoded if they exist.

7.0.1

New: New section “Open iframe in layer” (Pro)

New: Search filter does now highlight the tab headers where findings are.

Fix: Create and remove of layer files where creating still the older header_.html files. Now layer_.html files are created/removed how they should. (Pro)

7.0

New: ‘Show only a part of the iframe’ does now also support zoom (Pro). See http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/show-only-a-part-of-the-iframe/show-only-a-part-of-an-iframe-zoom

New: Header support for “Show the iframe as layer”. Headers can be created inside the administration and height and position (top/bottom) can be specified. See http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/scrolling-on-ipad-and-iphone

New: “Change link targets and show the iframe as layer” has now the option 100% and 96% for the layer size.

New: “Change link targets and show the iframe as layer” does now evaluate shortcodes in the header file.

New: “Change link targets and show the iframe as layer” has now the option to use {id} inside the header file to use the same header file several times. {id} will be replaced with the id of the iframe.

New: {href} is added as placeholder for the src attribute. There you get the full url that you see in the address bar url encoded.

New: ai_external.js is now generated if it does not exist. So even after an update without saving the administration will not break the external workaround anymore.

New: Scrolling support on ipad and iphone for normal iframes with loader icon and lazy loading (Pro). See http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/scrolling-on-ipad-and-iphone

New: Scrolling support on ipad and iphone for “Show only a part of the iframe” with scrollbars (Pro). See http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/show-only-a-part-of-the-iframe#e5 with an ipad!

New: Scrolling support on ipad and iphone for “Change link targets and show the iframe as layer” (Pro). See http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/change-links-targets#e34 on an ipad

New: Auto height for wrapped iframes. Inner iframes can now delegate a height change to the outer iframes. Works on the same domain and if you use the external workaround. See http://www.tinywebgallery.com/blog/advanced-iframe/demo-advanced-iframe-2-0/same-domain-wrapped-auto-height

New: resize_delay can now be set in the administration for the external workaround also.

New: The free version can now show the pro administration settings.

New: In the administration not possible items in the auto height section are grayed out.

New: Scrolling default is now “none” and not “auto” anymore as this makes more sense.

New: If you enable responsive iframes in the external workaround auto height is enabled internally as this is needed!

New: Scripts are not loaded anymore if you include content directly.

New: Several code optimzations and extraction of the main logic to several files.

New: ‘ in the url is now decoded internaly properly because WordPress does encode this value with values what kills the src of the iframe.

Fix: px where added again for the loader container if px where specified as width already. Now only px is added if it does not exist.

Fix: “Reserve iframe space” was not grayed out when main parameter was disabled.

Fix: include_html was printed directly and not returnd from the function it should have been. Now the text is shown at the right place (Pro).

Fix: When removing custom files the correct tab is now preseleted!

Fix: removed overflow:auto; at the wrapper div. You can add this if needed at the parameter additional_styles_wrapper_div

6.5.6

New: WordPress 4.4 is supported

Fix: Icons where not aligned anymore because of changes in the css of WordPress.

6.5.5

Fix: Some spaces at the end of advanced-iframe-main-read-config.php gave a “headers already sent by” warning on some setups.

6.5.4

Fix: include_url was brocken. Now it works fine again.

6.5.3

Fix: https iframe on https did show an error message which is wrong. Now the message only is shown if http pages are included to https pages.

6.5.2

Fix: WordPress updates where not shown because of a missing return value. Now only the ones for advanced iframe are blocked as it should be.

6.5.1

New: WordPress 4.2.4 is supported

Fix: An anonymous function was used which is supported since php 5.3. But older php versions failed in the administration. Now the “old” way is used and the plugin is now compatible with older php versions again.

6.5

New: Tab navigation in the administration.

New: The browser detection is now supporting “browser” and “desktop” also.

New: include_html was added which does write the given string directly instead an iframe. This is helpful e.g. for a fallback text/link when the browser detection is used and a device is detected where your content does not work or should not be shown. Now you can print a message or display an image there.

New: Browscap version 6005 lite 7th June 2016 is now included. It is much smaller than the previous version which had a lot of overhead which where not needed here. (Pro)

New: A button for full screen iframes was added it does set all the required styles and settings for a fullscreen iframe (Pro).

New: hide_content_until_iframe_color was added. This hides the parent content with the given color until the iframe is loaded. This is very usefull if you want to use a fullscreen iframe and the parent content should never be shown (Pro).

New: css calc() support for width and height. This makes it possible to do calcuations like 100%-200px at the height and the width. See http://caniuse.com/#feat=calc for browser support (Pro).

New: Added a few new sections for better usability of the administation: “Zoom”, “Lazy load” and “Url parameters”

New: Above the editor a button next to the media button was added to include a basic iframe shortcode. For later versions it is planned that the attributes for the button can be specified in the config.

New: When zoom is used the browser detection is needed. This does need a lot of memory. A temp file is now created before the check and removed after the check. So if the check does now fail because of a memory crash this file is not deleted and the script does not do the check. You only loose the IE8 support for zoom. The temp file is advanced-iframe-custom/browser-check-failed.txt and if you get mory memory you can remove this file to enable the check again (Pro).

New: A message is shown if you include a http iframe to a https page as many major browsers do block this. Therefore it does not make sense to use this setup.

New: The ai_external.js has now a timestamp. There you can then see if you use the latest version or maybe see a cached one!

New: The resize on element resize script is overwritten if jQuery is loaded after the ai_external.js script again. Now a warning is shown (Pro)

New: user info and user meta of the src attribute have now an additional help which settings are available (Pro)

New: The generate shortcode button does now only generate the include_* values if they are set as the other settings are ignored than.

Fix: show_part_of_iframe_x and show_part_of_iframe_y are now always added to the generated iframe code if show_part_of_iframe is enabled (Pro).

Fix: Added overflow:auto to the wrapper div. This fixed the problem returning a height of 0 of the wrapper element in chrome if the elements inside are floating: http://webdesignerwall.com/tutorials/css-clearing-floats-with-overflow

Fix: The % info text of the area selector was improved.

Fix: [ and ] in the security error message where not html encoded. This lead to a strange error message if another plugin is wrapped around and calling do_shortcode.

Fix: The max-width for the sourounding div when responsive iframes are enabled where missing a ; which leads to a invalid css value.

Fix: Added missing links in the documentation at the responsive iframe settings.

Fix: auto_zoom_by_ratio was missing in the generated shortcode.

Fix: position:absolute is now optional (use_zoom_absolute_fix = “true”) as it seems is also causes problems at other layouts.

6.4

New: The first video tutorial is avilable: http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-video-tutorials

New: Links to external pages can be opened in a simple fullscreen lightbox (Pro). See example 32 on http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/change-links-targets

New: The iframe url can be returned back to parent and added to the url (Pro). This url does than also load this iframe content again. Supported on the same domain and with the external workaround (Pro). See: http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/add-iframe-url-to-parent

New: hide_part_of_iframe does now support links (Pro)! Therefore it is now possible to add areas with custom links. See the updated demo 8 on http://www.tinywebgallery.com/blog/advanced-iframe/advanced-iframe-pro-demo/hide-a-part-of-the-iframe

New: hide_part_of_iframe elements are hidden until the page is loaded to avoid that this blocks are shown without the iframe. this is only enabled if hide until loaded is enabled!

New: Support for pdfs inside the iframe (Pro). If you include a pdf google doc is used to include the pdf. This solution looks the same on all browsers. If you want to use the native pdf renderer of the browser/your system add NATIVE: before the url. Like NATIVE:http://www.example.com/pdf.pdf DEMO NEEDED

New: All attributes from the user info and the user meta are available as replace parameters in the src attribute (Pro).

New: Extract parts from the parent url and adds it to the iframe url (Pro). See urlpath at the description of “Url”

New: Extract parts from the parent query and add it to the iframe url (Pro). See query at the description of “Url”

New: Parameters from POST requests are alse extracted. If GET and POST are given the GET parameter is used.

New: Add css directly to an iframe on the same domain (Pro). This does than support !important also.

New: Add css and js files to the iframe for the same domain or with the external workaround (Pro)

New: Custom css and js files can be created/viewed/edited/removed in the administration.

New: Marker css classes are added to the body and the first level of the elements in the iframe: add_css_class_iframe (Pro). It is than now possible to apply different changes to different pages in the iframe.

New: You can now reload the iframe in a certain interval: reload_interval (Pro)

New: A filter for the settings does now exist. Simply type for a search term and only the matching settings are shown.

New: An icon is now shown which settings are saved to the ai_external.js

New: An icon is now shown where a special demo does exist.

New: The dependeny to jQuery is now optional. This avoids double loading of jQuery if e.g. your theme does load jQuery not the wordpress way.

New: ai.js is only loaded if the advanced_iframe shortcode is on the page. “Include ai.js in the footer” has to be set to true to enable this.

New: Auto zoom by ratio if the height cannot be measured but the ratio is known (Pro).

New allowfullscreen is now also available in the free version as this is a default html element.

New: Width in the external workaround is now first checking if a width style is set and only if not found the measuring is done. This can solve problems with hidden elements! Also if you hide elements you should also set the width to 0 to avoid such issues.If you use the internal hide function hidden elements are set to a height and width of 0.

New: Tested up to WordPress 4.2.2

Fix: The plugin does now work fine with the royal theme from codecanyon again! The theme and the plugin where using the same variable for the options. Now a unique variable name is used.

Fix: Changed && in the Javascript to two if statements to avoid problems with wptexturize and other page optimizing plugins

Fix: Browser detection for mobile and android was not working because in the detection file e.g. isMobileDevice was changed to ismobiledevice. Now this works fine again ;). (Pro)

Fix: Show one element on the local domain was fixed.

Fix: aiResizeIframeHeightById has now a a try catch to detect configuration errors.

Fix: position:absolute is added to the iframe at zoom to fix issues on some pages.

6.3.7

Testet with 4.2.3

6.3.6

Testet with 4.2.2

6.3.5

Testet with 4.1.2

Fix: Layout fix in the administration of the free version only.

6.3.4

Fix: Advanced iframe was not working together with the Royal theme as they where using a same variable name. Now they work fine together.

6.3.3

Fix: Measuring of width does now check if it is > 1 as some full responsive sites do return such a value that is not valid.

6.3.2

Fix: Show one element on the local domain was fixed.

Fix: Measuring of width does now check if it is > as some full responsive sites do return such a value that is not valid.

6.3.1

New: index.htm files where added to all directories to prevent directory listings if you server does allow this.

Fix: Standalone version was working fine in the standalone folder. The internal path handling was improved to make is easier to include it anywhere. (Pro)

Fix: !important was removed for hide elements because this was is not supported in jQuery.

Fix: All iframe attributes are trimmed now. This avoids errors because of spaces e.g. at the beginning of the src.

Fix: Better error message if the security key was not found because of wrong quotes.

Fix: > could not be used in the shortcode for jQuery patterns. You can now use ## which internaly converted to >

Fix: Save button was jumping when you try to click it on some browser. The css is fixed now.

Fix: Menu anchor fixed

Fix: Save caused a php warning when normal save buttons where used.

6.3

New: Standalone version. See standalone/readme.html for details (Pro)

New: Config files for the external workaround. See example 7 (Pro)

New: Create, view, edit and remove of config files added (Pro)

New: hide elements does now set !important when settings display:none as some themes have display:block !important somewhere.

New: Internal version check as WordPress only checks the free version. (Pro)

New: Help for Advanced iFrame Pro Widget added. (Pro)

New: Reset to default settings was added. (Pro)

New: Settings are shown in the main menu now also. Can be turned off in the config.

New: Element_to_measure is now also supported when resized later or the width is used. (Pro)

New: “Hide until loaded” does now use css instead of jQuery to hide the iframe.

New: strtolower was added when css styles are applyed on the same domain. This fixes problems if e.g. important is written Important which is invalid!

New: Improved documentation

New: Hide elements is now used with !important because depending on your css the elements are not hidden otherwise. Make sure to save the config as this is also implemented for the external workaround.

New: Automatic resize 500 ms later in the external workaround if the measured height is > 10.000 as this is either an error or a huge page where the delay does not matter. (Pro)

Fix: Resize is only done if the detected height is > 10. Everything below is expected that the height is not measured correctly. (Pro)

Fix: Many typos fixed

Fix: show_one_element_only has # already set on the same domain. The # was removed as in the external workaround the # was not set.

Fix: hide_page_until_loaded_external is now not connected to hide_page_until_loaded anymore. Now hide_page_until_loaded has be set to false if hide_page_until_loaded_external is used. But the old way has caused that misconfguration was showing a blank page.

6.2

New: {adminemail} is available as replace parameters in the src attribute (Pro).

Fix: modifyOnLoad… was not always rendered because show_part_of_iframe_next_viewports_hide was not checked properly

Fix: The browser detection is now only used when the browser detection or zoom is used. browser detection needs quite some memory. So this reduces the memory usage of the plugin if these features are not used (Pro).

6.1

New: {userid}, {username}, {useremail} are available as replace parameters in the src attribute (Pro).

Fix: {} in the src field could not be saved in the administration because of WordPress esc_url. Now this works there too. It was always working in the shortcode attribute src.

Fix: In the external workaround the resizeLater function had a hardcoded id (advanced_iframe). When using a different one the callback with the size failed.

Fix: Browser detection needs at least php 5.3. Now a warning is shown when you don’t have at least php 5.3 (Pro).

Fix: Plugin needed at least php 5.3 because the browser detection was used always to detect IE8. Now this check is only done if php 5.3 is available (Pro).

Fix: ?version= it attached to js and css of the administration like in the site.

6.0

New: Auto zoom. This feature does automatically calculates the needed zoom factor to fit the iframe page into the parent page. Works on the same and with the external workaround. Shortcode auto_zoom. See example 29-31 (Pro).

New: Lazy load with hidden elements. So this is a very good alternative for hidden tabs. See example 28 (Pro).

New: You can define the element that should trigger manual lazy load. See example 25 (Pro).

New: Static save button in a transparent footer (Pro).

New: Support for an alternative shortcode. So you can use e.g. “iframe” also if you want to switch/upgrade from iframe to advanced iframe pro. Please note: If you enable this, the security key is NOT checked anymore (Pro).

New: Support for the BBCode [iframe]url[/iframe] (Pro).

New: Automatic resize 500 ms later in the external workaround if the measured height is < 10 (Pro)

New: You can define the element you want to measure + a offset for fix content. This is sometimes needed for some themes where e.g. chrome returns 0 as height (Pro).

New: You can set additional styles to the wrapper div like overflow:auto with additional_styles_wrapper_div in the external workaround (Pro).

New: Show only one element does now also clones attached event listeners (Pro).

Fix: transparent border of the wrapper div removed as it is not needed anymore.

Fix: Improved documentation for hide_part_of_iframe how to make a read only iframe (Pro).

Fix: $include_scripts_in_footer and $add_css_class_parent or store_height_in_cookie could cause a config error. You need to set include_scripts_in_footer to false if you want to use add_css_class_parent or store_height_in_cookie. Now this is added to the documentation and also the script does not fail anymore if you do set this wrong.

Fix: Added stripcslashes() when reading parameters when magic_quotes_gpc is on.

Fix: Removed the detection at resize if the iframe width has changed because at auto zoom the detection was wrong (Pro).

5.10

New: Resize on element resize is now supported. This enables you to resize the iframe if e.g. the content of the iframe changes because of div which expands. This feature is more powerfull and easier to configure than the “Resize on click/Ajax” setting and is also supported for the external workaround (Pro)

New: Trigger loading manually (enable_lazy_load_manual) added. Now lazy loaded iframes can be shown manually. See the lazy load demo for an example. (Pro)

New: Write css as script directly to the header. See the description (Write css directly) of the external workaround for details. (Pro)

New: Add a css style to each parent element of the iframe (add_css_class_parent) to be able to find and modify the parent even when no styles exist or classes are not used exclusively. (Pro)

New: Support of shortcodes in the src attribute. Please note. Needed encodings have to be done in the shortcode! (Pro)

New: Dynamic src parameters. You can define placeholders for the site, host and port. This is useful if you e.g. have a multidomain install where the host is dynamic (Pro)

New: Add the id to the url of the iframe (pass_id_by_url). This feature adds the id of the iframe to the iframe url. The id is than extracted on the iframe and used as value for the callback to find the right iframe on the parent side.add_css_class_parent (Pro)

New: additional_js_iframe – The ai_external.js can also write additional Javscript. This is loaded at the end of ai_external.js. The advantage using this is that the Javascript is only loaded if the page is inside the iframe and is not loaded when accessed directly. (Pro)

New: additional_js_file_iframe – The ai_external.js can also load an additional Javascript file. This is loaded at the end of ai_external.js. The advantage using this is that the file is only loaded if the page is inside the iframe and is not loaded when accessed directly. Please note that the file is loaded asynchronously. (Pro)

New: URL forward parameters (url_forward_parameter) does now also support ALL as setting. This does simply add all incoming parameters to the iframe url.

New: Scripts can now be loaded to the footer (include_scripts_in_footer). This is now default.

New: Height is only sent by the external workaround when the height does change and not everytime a configured event is triggered.

New: Browscap version 5030 lite 17th June 2014 is now included. (Pro)

Fix: All css/Javascript are now loaded to header/footer for all WordPress versions the wordpress way

Fix: Improved documentation.

5.9

New: Lazy load of iframes with treshold and fadein. Iframes can be loaded after the parent is done or the iframe is shown in the viewport! (Pro)

New: Better input validation. Avoids configuration errors.

New: WordPress 3.9.1 is supported

New: An alternative to the eval function is now used in Javascript to improve security and speed.

New: Browscap version 5029 lite 8th May 2014 is now included. (Pro)

Fix: Code improvements found with the plugin checker plugin

Fix: Hidden tabs was not working because of the responsive iframe feature. Now both do work independant again. (Pro)

Fix: Improved shortcode generator (Pro)

Fix: Width is now measured without the extra space (which was 0 by default anyway ;))

Fix: Whitelist for params was extended by :,? and &

Fix: Wrong default for Set Iframe height by ratio (iframe_height_ratio) was fixed (Pro)

Fix: loader icon and responsive iframe do now work together! (Pro)

5.8

New: Shortcode generator! In the administration you can now generate a default independent shortcode from the current settings.(Pro)

New: Set Iframe height by ratio (iframe_height_ratio). This can be used to make resonsive iframes where the content has a certain ratio like swf’s, videos… (Pro)

New: WordPress 3.9 is supported

New: map_parameter_to_url does now also support that an url can be passed to the iframe directly. So show=http%3A%2F%2Fwww.tinywebgallery.com would open http://wwww.tinywebgallery.com inside the iframe. (Pro)

New: Browscap version 5027 lite 24th Apr 2014 is now included. (Pro)

Fix: Documentation improvements.

5.7

New: html attribute allowfullscreen is now supported.

New: Zoom and auto height with the external workaround with several iframes on the same page is now supported.

New: Tested with WordPress 3.8.2

Fix: Advanced iframe pro can now be used together with php-browser-detection. Before using both where leading to a function redeclaration.

Fix: Functions of the old and new workaround had the same name with different parameters. Now this functions have different names and also work properly with several iframes on the same page.

5.6

New: Support that the height of responsive iframes is automatically set to the new content height. This means that if you resize the parent page and the iframe width changes, the height of the iframe is adopted automatically like when loaded the first time! Please note that both pages (parent and iframe page) needs to be responsive. Please also read the blog entry about responsive iframes. (Pro)

New: Read-only iframes: hide_part_of_iframe does now support also %. This means together with color “transparent” you can create read-only iframes! See the pro demo. (Pro)

New: No output (except conguration errors) is done in the script function anymore. Everything is returned as return value.

Fix: additional_css and additional_js are now again supported as shortcode attribute if WordPress >= 3.3. Before WP 3.3 you can only set this feature in the administration.

5.5

New: Support to resize to content height for iframes on hidden tabs (Pro). Works with e.g. Tabby Responsive Tabs and Post UI Tabs. This can also be used for simple hidden divs which opens e.g. on a mouse click or accordeon menus. Please read the documentation in the settings for details.

New: Loading of css and Javascript in the admin section is it only loaded when needed.

New: Loading of the additional css and Javascript in the page are also only loaded when you use WordPress >= 3.3. Before the files are always included to all pages because wordpress api does not allow this differently.

New: Added updated browsecap.ini: 5023 (2nd Feb 2014)

Fix: Loader css was always written even if not configured. Now only when this feature is enabled.

Fix: renamed internally is_browser to ai_is_browser to avoid problems when e.g. a theme does define is_ie()…

Fix: Area selector does now look good again.

5.4

New: The default security key is now based on the AUTH_KEY of WordPress and the current time. Please change the default key to your own to increase security.

New: Zoom of iframe content: This feature is supported for the following browsers: IE8-11, Firefox, Chrome, Safari, Opera. Older versions of IE are not supported. Please test all the browsers you want to support with your page because not all pages do look good in a zoomed mode! This feature is also part of the demo. So you can test your browsers there! (Pro)

New: iframe loading icon. You can now show a loding icon while the iframe is loaded. If you use the “hide until loaded feature” your users does see that something is happening. You can use your own image (loader.gif) with a size of 66×66 px by replacing the one in the img folder (Pro).

New: Accordeon menu (Pro).

New: Map parameter/value pairs to urls. You can specify parameter/value/url tripples which are used the following way. If the parent has ?parameter=value than the url of the setting is used as src for the iframe (Pro).

New: Reading of browser detection file is cached (Pro).

New: Improved padding and better handling in expert mode (Pro)

New: Input text fields have now dynamic sizes. So if you enlage the screen they should always fit. Textfields with numbers only are now much shorter as the numbers there never get longer.

Fix: Administration was not shown properly on MAC.

Fix: Expert mode description fixed (Pro)

Fix: Error message when saving a special setting was fixed

5.3

New: Browser detection added. You can now specify browser specific iframes. This is important especially for the “Show only part of the iframe” where browser differences of a few pixels can matter. Also mobile, iphone, ipad can be detected. A modified version of php-browser-detection is used which uses browscap.org as data! Important: Read the documentation at “Browser detection” in the plugin how to use this! (Pro)

New: Change link targets on the parent that they open inside the iframe. Shortcode: change_parent_links_target (Pro)

New: Change link targets inside the iframe if the iframe page is on the same domain or if you can use the external workaround. Shortcodes: change_iframe_links, change_iframe_links_target (Pro)

New: Redirect direct access of the iframe page to the parent page. Does also add existing parameter to the parent url (Pro)

New: url forward parameter mapping. WordPress has many reserved word in the url so they cannot be used. Now parameters can be mapped to a different one in the confiuration. so e.g. name is e.g. a reserved word an cannot be used. using ainame|name in the configuration will forward ‘ainame=hallo’ as ‘name=hallo’ to the iframe (Pro).

New: “Show only a part of an iframe” has now a new setting $show_part_of_iframe_style where a style can be set for e.g. a border (Pro).

New: Integrated jQuery help (Pro)

New: Improved error messages

Fix: Area selector does now select ‘Yes’ at the “Show only part of the iframe” when data is chosen (Pro).

Fix: Area selector does now enable all disabled radio elements when data is chosen (Pro).

5.2

New: New feature “Hide a part of the iframe”. Extra layers can be placed over the iframe. This enables you to e.g. hide a logo or even place your own logo on an iframe. See the pro demo for examples (Pro)

New: Try catch is now used at features which could fail when features for the same domain are used on external domains. Now the exceptions are catched and logged to the console.

New: A dynamic auto id is now only generated if several iframes are detected on one page.

New: Tested with WordPress 3.8

New: Improved documentation

Fix: At grayed out radios only the first radio box was grayed out – now all are disabled

5.1

New: vertical and/or horizontal scrollbars in the pro feature “Show only part of the iframe” solution are possible. This makes it possible to include e.g. a whole inner content with scrollbars but without showing e.g. the header of the external page. See the pro version for a working example.

New: Resize can now be delayed. This helps if the onload event is fired but the page is not completely build. This feature is also possible in the external workaround of the pro version.

New: Administration options are grayed out if not available because of another setting.

New: Expert mode. If you enable this the description is only shown if you click on the setting. You see more settings at once but only one description at once. Use this if you are common with the settings.

New: id is now set automatically if a src is set in the shortcode but no id is set. This avoids problems if people forgets to set the id ;).

Fix: The external workaround does now hide the html element until all modifications are done. Before only the body was hidden which was showing the background in some browsers. If you still see a background for a very short time please look into ai_external.template.js – line 53

5.0.1

New: Support of the external height workaround when the iframe is already in an iframe. Now the correct iframe is used and not the top one anymore.

Removed not used file.

5.0

New: ‘Show only a part of the iframe’ has now a graphical area selector where yu can simply select the area you want to show with the mouse! (Pro)

New: Improved external workaround: It can now be configured to work with different settings for different iframes

New: Improved documentation of the external workaround

New: Improved external workaround: “Modify the content of the iframe if the iframe page is on the same domain” is now supported in the workaround and can be configured for different domains (Pro).

New: Improved external workaround: The iframe can be hidden until al external modifications are done!

New: Improved external workaround: The same page can now be included into different wordpress installations. Only one configration is allowed here. For multiple configurations you need the onclude the different scripts depending on the parent with php.

New: Tested with WordPress 3.7.1

New: Fully compatible with php >= 5.3

New: “Scroll to top” does now not need a workaround anymore and the setting was moved to a different section where it makes more sense.

New: Whitelist for url foreward parameters. If the value does only contain parameters on the whitelist than the value is not encoded anymore. Whitelist: @a-zA-Z0-9Ŕ-ÖŘ-öř-˙|)( minus and space.

New: When the external workaround is set to true settings which only work on the same domain are disabled.

New: Improved handling of the show_part_of_iframe_… feature. Not needed dependencies at configuration where removed. This enables more flexibility here! (Pro)

Fix: show_part_of_iframe_x and show_part_of_iframe_y where switched. now show_part_of_iframe_x = left and show_part_of_iframe_y = top (Pro)

Fix: \n where removed from the code because some other plugins converted them to br which where adding unwanted empty lines.

Fix: Hide elements until loaded is now again the last step of the onload values.

Fix: em tags where replaced by p tags in the administration. Copying em tags where copying the em tags to the editor as well which could cause invalid shortcodes

Fix: “Restart the viewports from the beginning after the last step”: old shortcode was in the description show_part_of_iframe_do_update -> show_part_of_iframe_next_viewports_loop (Pro)

4.2

New: Improved external workaround. The body in the wrapper is not copied as simple string anymore (This removes e.g jQuery stuff that is attached in the DOM) but a div object is created where the child notes of the body are attached to. Thanks to Jason.

New: Improved external workaround. The wrapper div is now only rendered if needed.

4.1.1

Fix: Hidden administration fields caused a notice when saving.

4.1

New: New attribute use_shortcode_attributes_only. Enables not to use any of the defaults and only the settings specified as attributes.

New: Fields could only be made empty by entering a space. Now simply removing the text does work again.

Fix: minor fixes

Fix: Code and documentation improvements

4.0.1

Fix: Fixed a copy and paste error where wrong shortcodes where used in the documentation

4.0

New: Pro version on codecanyon.net.

New: Show only a part of an iframe – works on different domains! (Pro)

New: Change the visible part of the iframe after each onload event (Pro)

New: Open a new url after the last step (Pro)

New: Open the iframe in a new tab or as parent after the last step (Pro)

New: Widget. You can now include the shortcode also as widget (Pro)

New: New attribute ‘style’. You can now set any style directly at the iframe. The recommended way is to use a css file and the attribute class.

3.6

New: Tested with WordPress 3.6

New: Updated example file.

3.5

New: The external workaround was rewritten. It does now work by only including a script to the iframe page.

New: The resize of the external workaround does now also make the iframe smaller.

New: The Javascript on the external page does only modifies the page if it is included in an iframe.

New: advanced-iframe is now also possible instead of advanced_iframe as shortcode

New: If you set scrolling to ‘Not rendered’ the attribute scrolling is not rendered to the iframe. This makes it possible to set this with css and make the scrollbar responsive as well.

3.4.3

New: Added a section in the FAQ how to use the advanced iframe multiple times on one installation

3.4.2

New: the style for the site is now inline because it was only one style. Now no extra css is loaded anymore.

3.4.1

Fix: Url of the support page was not starting with http and therefore not working

Fix: Url where checked with the sanizize functions of WordPress. This was too strict. Now esc_url() is used and stuff like %E5 does work as well in the url.

3.4

New: Basic support for multiple advanced iframes on one page. All generated public Javascript functions have now the id included in the name. Cookies and additional_height are not supported yet because they are used as global variables in the external js file.

New: additional_height has to be a number. px or % are now automatically removed to avoid Javascript errors.

Fix: forewarded parameters are now urlencoded. e.g. keyword=gr%E5%E5sen is now passed properly.

3.3

Fix: the height was not detected properly with firefox and some doctypes. Now a more advanced way to determine the height is used which works now fine for Firefox as well.

3.2

New: Paid support. Because some settings are quite advenced I now also offer paid support.

New: Iframe checker: Checks the headers if a page can be included into an iframe.

New: Javascript onload solution hiding the iframe until the content is loaded.

Fix: some shortcodes in the administration where not correct because of copy and paste.

3.1

New: Javascript onload solution for resizing the iframe dynamically to the width of the content.

New: Resize on AJAX events. Works for jQuery and direct XMLHttpRequest on the same domain.

New: Resize on click. You can specify the elements and a timeout when the resize should happen.

New: Scroll position is now saved and restored after the resize.

Fix: iFrames are now also made smaller at content resize in all browsers

3.0

A page or part of a page can now be embedded directly to the page with jQuery if the page is on the same domain. See the new section ‘Include content directly’.

Tested with WordPress 3.5.1

2.1

Show only a specifiy part of the page in the iframe if the pages are on the same domain.

2.0.2

Tested with WordPress 3.5

2.0.1

Fix: The included footer was causing an Javascript error on non advanced iframe pages. Now I check if the function does exist.

2.0

New: onload attribute added

New: Javascript onload solution for scolling the parent page to the top.

New: Javascript onload solution for resizing the iframe dynamically to the height of the content.

New: Javascript solution for the scrolling and resizing that works cross domain as well.

New: Hide elements/modify css modify speed was dramatically improved. The function is now not called only in the ready event of JQuery but also directly before the footer. This causes that you don’t see the changes most of the time anymore!

New: An additional css file can be added to the parent page.

New: An additional Javascript file can be added to the parent page.

New: Hide areas inside iframe if the pages are on the same domain.

New: Modify css styles inside iframe if the pages are on the same domain to e.g. change the width of the content area.

1.5

Support for src values that are hotlinked by the editor.
Fixed the typo in the doumentation. in securitykey sometimes the r was missing

1.4

Documentation updated
New: id and name attribute added

1.3.2

Improved the help
Fix: css was not loaded because old css name was used

1.3.1

Fix: Improved error message if a is in the shortcode instead of a normal space.

1.3

Fix: content_id,content_styles,hide_elements was always used from the config even when a shortcode was given. Now the shortcode is used as well.

1.2

Fix: The src was not working in the shortcode. I missed to rename this parameter when making this plugin more generic.

1.1

Fix: The iframe was always printed first. Now it is printed exacly where the shortcode is inserted.

A WordPress plugin that converts all URL formats to root-relative URLs to enable seamless transitioning between staging/production host environments and debugging/testing from mobile devices, without the use of hackish tactics like textual find-replace strategies or risky hosts/NAT spoofing strategies.

With Root Relative URLs you can browse your development site from http://localhost/ or http://127.0.0.1/ or from a named network resource like http://mycomputername/ without worrying about links redirecting you back to your site’s URL.

This plugin also modifies the tinyMCE hooks so links and media embedded with built-in tools will only insert URLs from the first forward slash after the domain (i.e. the root of your site.) This means when you push content changes to a staging or production environment they are guaranteed to reference the correct target instead of accidentally referencing a production resource in development or, worse-yet, a development-exclusive resource in production.

It supports path-based MU Installations, but does not support domain-based MU sites due to architectural deficiencies in the WordPress core.

Version 1.5 fixes an infinite redirect problem that is a result of a core bug in WordPress. If you have problems with the <!–more–> tag or permalinks for custom post types, please read the FAQ or new Install Steps for support.

Version 2.2 allows for adding certain URL’s or partial URL’s to a blacklist, meaning I won’t use root relative urls, but dynamic absolute URLs instead for displaying content. This will fix problems with 3rd party plugins, and can be configured on the General Settings page.

Arbitrary section

Upload the plugin to the /wp-content/plugins/ directory

Add the following entries to your wp-config.php file before the “That’s all, stop editing!” comment:

You’re done! Now you can happily browse and manage your site from any URL, including an IP address if you wish.

Infinite 301 Redirects, Custom Post Type Content and –More– links

There was a long outstanding support issue regarding these problems that I think is resolved from my plugin perspective.

The core issue (https://core.trac.wordpress.org/ticket/21824) is still not fixed, and the temporary workaround for that problem is to go into Admin > Settings > Permalinks, and click “Save Changes” twice in a row, letting the page reload between each save.

This should fix the rewrite rules used internally to WordPress to route URLs to custom post content, more links.

What is a Root-Relative URL?

A root-relative URL is a special type of relative URL that always starts with a forward-slash (/)

Aren’t relative URLs bad?

Traditional relative URLs are bad because any change to your directory structure can change where the content is relative to.
But Root-Relative URLs are good because you’ll always know where they start, and search engines support their usage so you’ll have no problems with SEO.
In fact, over 93% of the top 100 websites (according to Alexa) use root relative urls. Including Wordpres.org, WordPress.com, Facebook.com, Twitter.com, Google.com, Wikipedia.org, Yahoo.com, Youtube.com, Amazon.com, Fickr.com etc.
Most RSS Feed readers handle them appropriately (notable exceptions include FeedBurner and FeedBlitz) but my plugin takes into account their lack of HTML specification adherence.

In fact, root relative URL support was established in the very first HTML specification (where it remains today) by Tim Berners-Lee (the real inventor of the World Wide Web) way back in 1993:

“Where the base address is not specified, the reader will use the
URL it used to access the document to resolve any relative URLs.”

Some WordPress core developers think this is “doing it wrong” and “may not be supported in future content platforms like books.” But I can assure you they are a core & valued aspect of the web and are not likely to go away. (I’m currently trying to explain to FeedBurner & FeedBlitz how it’s their responsibility to improve their support for the RSS format and not that of others to adhere to an archaic practice like absolute urls.)

Why doesn’t WordPress use root-relative URLs to begin with?

Good question. There are a number of core developers who think the design decision makes an end-user’s life easier. But that’s only for those who maintain
one site and make all of their edits on that public site. Professional web developers would never consider making changes on a production site because if a mistake
were made (yes even professionals make mistakes) then you have an immediate problem in production. Instead changes should be made on a development or staging
server first, thoroughly tested, and then migrated to production as a best practice.

With root-relative URLs you can make and test your changes on a staging server and then, when the changes are completely vetted, move your changes to your production
server. You could do this with absolute URLs as well, but that adds an extra step of doing a search / replace of all http://staging.com/ links to http://production.com/.
This extra step is not required in most content management systems. And a step that can potentially break your site depending on what widgets and plugins you are using (http://www.interconnectit.com/719/migrating-a-wordpresswpmubuddypress-website/)

Additionally, unless you are a network administrator, testing your staging URL on an iPhone or other mobile device is really difficult because the recommendation for
staging environments by WordPress core members is to edit your hosts file. Only you cannot edit hosts files on a mobile device, so you’d have to resort to complex
router configurations that many people don’t have at their disposal on typical WIFI networks.

Will this plugin correct URLs that are already embedded in my site’s content?

Unfortunately no, this plugin is designed to correct new content as it is entered via the administration panel. It will still work with your current site,
but it will not alter links you have already embedded.

Should I use this plugin if I only have one production site and I make all of my changes in production?

Absolutely! Just because you have only one site now doesn’t mean you won’t have a staging site in the future. If you ever decide to contract out professional
development services you’ll want to work with someone who does follow this process. And at that point in time it will be a nice time-saver if you have already
developed content that works with root-relative links.

Will this plugin work with MU sites (Multi-user installations)?

Sort of. It will work for path-based MU sites, but not for domain-based sites due to an architectural flaw in the WordPress core. However, for it to work with path-based installs you
will need to patch a WordPress core file – or wait until the WordPress core team implements this fix – https://core.trac.wordpress.org/attachment/ticket/18910/ms-blogs.php.patch

Until then this plugin will not work out of the box for MU installs. I have discovered an approach for resolving this problem without a core hack but I will need to research it before implementing the update. It will be a big ol nasty hack but it will work.

2.3

Minor text edits

2.2

Feature: Added blacklist entry for disabling root relative urls are specific pages. This is to help with third party plugins

1.4

1.3

Bug fix: Thanks to Kéri Norbert for noticing that ‘get_comment_author_url’ should not have been relativized

1.2

Investigated issue with wp-cron… discovered it was an issue with a different plugin altogether, testing showed no problems with root relative urls.

Updated plugin to massage rss content urls back to absolute site urls. This shouldn’t need to even happen but unfortunately feedburner and feedblitz don’t follow the html spec Google Reader and a bunch of others do however, so there is hope of fixing this problem on feedburner & feedblitz’s end.

Despite this ticket being not yet patched: https://core.trac.wordpress.org/ticket/19210 I have fixed the previous bugs related to comments_link_feed() or comment_link() functions.

Found an interesting post from way back in 2003, when a woman by the name of Shirley Kaiser went through a similar pursuit to change MovableType from absolute only urls to root relative urls. 2003!!! Almost a decade ago someone else had to show an entire platform the power and flexibility of root relative urls! – (http://brainstormsandraves.com/archives/2003/09/07/relative_vs_absolute_urls/)

1.1

Converted plugin to be < php5.3 compatible by removing usage of function references

You start by typing the topic you want to write about.Â Based on your keyword, the interface will light up green while you’re editing your text, so that you know you’ve done something right.

When all the lights are green, you can publish your page, because your text has excellent SEO and it’s 100% optimized.

Different customers, from areas such as e-commerce, law firms, digital agencies, online magazines, movie review sites, etc. have reported +285% increase in the number of readers, by optimizing their content and fine tuning their SEO settings with thisÂ search engine optimizationÂ plugin. They did it by measuring their actions and improving as advised by our tool.

All-In-All: Squirrly SEO will help you get a tool that acts as an Expert Consultant, sitting right next to you, advising on SEO, and telling you where you need to improve.

From the On-page Optimization to the Content Audit tool, it offers you all the information you need to become an SEO star.

The best things is: YOU DON’T have to be anÂ search engine optimizationÂ expert to use it. WAIT, you don’t even need to know about all that.

Squirrly will help you write great content, will show you where your WordPress needs improvements and it will even help you learn all about content marketing and SEO strategies through email training and access to the Knowledge Base.

It also works well with many other plugins and themes that you might already have in your site.Â It even works well in WordPress sites that already have Yoast and All In One SEO. You can even opt-in to keep your SEO settings, so no need to start over again

Squirrly SEO is a Freemium software, like MailChimp.

Youâll start with the free version of Squirrly SEO. It will help you if you have small content marketing needs, such asÂ 5 articles published / month, 5 keyword analysis and a weekly SEO audit tool report. When you’ll require more, you can pay for the PRO Plan.

The Squirrly plugin main benefits are:

–Â Gives You SEO Advice as you’re typing your articles. Squirrly helps you in real time to optimize your articles to 100%, while you are writing or editing them.

Optimized articles get +285% traffic, on average (real statistics from over 16,500 people who participated in the survey).

SEO Settings remain. If you already made yourÂ search engine optimizationÂ settings for WordPress with other plugins, you can keep using those and Squirrly won’t override them. No need to start all over. We’d hate to have you do that.

Finds you Keywords and Topics that your Customers actively search for and which will help you out-rank your competitors, not just follow them around the SERPS.

Green lights turn on every time you do something right. When all the lights turn green, you can publish or schedule the article because it has excellent seo.

The algorithm for SEO Keyword Research toolÂ takes into accounts elements that will help you find suitable keywords for content optimization: for Humans and for Search Engines. It’s even better than Google Keyword Planner for ranking.

Tracks all the aspects of your Content Marketing StrategyThe best seo tools audit websiteÂ focusÂ on Blogging, Traffic, SEO, Social Signals, Links, Authority. Every single week you get a new report by email.

It Gives You Professional Advice on How To Fix any of those areas that it helps track, so you can easily find out how to improve. Content from SEO Moz (recently just MOZ), Google, Authority Labs, etc.

Copyright-Free Images That You Can Use.

Monitors Your Progress, week by week. You’ll get interesting data about the historical performance of each article you write and find out how to improve its seo ranking.

Social Intelligence through the Inspiration Box, to help you write better content. Shows you, recent tweets about the subject you write about. All of this in your “Add New Post” interface.

Optimize Your Content for Humans. We’ve recently added tools and lessons (free of charge) that will help you optimize all of your Content for Humans, not just for search engines.

Focus on your Ecommerce SEO strategy with just a few clicks in this WordPress SEO Plugin.

Control how your Site looks in Google. With the JSON-LD structure and the Squirrly SnipetÂ you can control the information and how it looks when someone is findÂ your site or searching for your business.

Write Better Content. We help you build up SEO content that is also great-to-read for Human readers and helps you build up some valuable and subtle SEO. Use the plugin as aÂ marketing research tools and add the best resources directly in your article.

Squirrly generates your site’s XML Sitemap for Google and Bing.

Stay up to date with your SEO and Social Signals, with our Email Alerts. We send out email alerts if something on your WordPress site needs immediate attention so that you can act upon it and save your business the trouble.

–Â Offers you related links that you can include in your article.Â

Including research tools for writers in the Inspiration box feature. You can read, integrate and quote articles with related links, from other journalists and blogger without leaving your WP dashboard.

–Â The open graph generator will add the OG protocol to your articles. This means IMAGES and VIDEOS can be preview when you share your articles on Facebook.
– Integrated Pinterest Rich Pin Validator. This will add extra details when your site is pinned. Users will know if the image refers to an article, a product, an app or a recipe.
– Makes sure that your meta information is in check with the meta duplicate removal.

Use theÂ marketing research tools to include the latest tweets in your article.

Now, with Squirrly how to add Facebook Pixel to WordPress? is as simple as just adding your ID. Access to theÂ best SEO tools audit website will be in the my.squirrly.com dashboard. There you will receive a weekly Audit orÂ you can request a new one anytime you want to see the results of your work.

You can use Squirrly SEO for FREE. If you have small content marketing needs, then it’s the perfect plan for you.

Once you start having bigger content marketing and SEO needs (more than one article posted per week), you can go PRO.Â Read more about it in the FAQ section.

Top Reviews

“Wow, I’ve been using your tool for a week now and one of my blog ranked no1 out of a million for its key word… amazing”

” I use Squirrly SEO every time IÂ create a new post.” – Neil Patel,Â co-founder of KissMetrics

“Cool Feature: Squirrly comes packed with a nice keyword research tool that works within the WordPress editor. In addition to the usual metrics (like search volume), it also shows you if that keyword is a hot topic of conversion online. The tool also shows you the stability of that keywordâs search volume over time.” –Â Brian Dean, founder of Backlinko

You’ll start receiving email lessons to help you become a great content marketer. All for free.
Type a keyword to the right of the screen and start using Squirrly Seo. Enjoy!

How does Squirrly WordPress SEO Plugin work?

Neil Patel, the Co-Founder of Kissmetrics and Crazy Egg made a great video on how to use Squirrly’s Live Assistant:
https://www.quicksprout.com/university/how-to-maximize-your-seo-traffic-with-these-must-have-wordpress-plugins/

Is Squirrly SEO Plugin free?

Yes, you just have to install the plugin from the WP directory into your site. Then connect with your email to Squirrly. The Free Version will automatically start. Read below for more. Once you have bigger content marketing needs, you can opt-in to upgrade to the PRO Plan.

Read below for more. Once you have bigger content marketing needs, you can opt-in to upgrade to the PRO Plan.

Does the Free Plan offer all the features?

As of January 2015 the free plan will include the Lite version of our features. The paid version will open the PRO features. The free version has all, a small WordPress site or blog needs to get started with SEO and Content Marketing.

These are the blogs on which owners want to publish about 5 articles/month. Also, includes a general Audit of their whole site and want to see the SEO analytics for their last posts.

The WordPress directory listing is only to be used for concerns regarding the Free version. You can get the PRO Plan after you’ve installed the plugin from this directory.

What Features does Squirrly SEO Plugin offer?

All of the features that we offer have been built having the customer’s best interests in mind. We brought 90% of our clients to the first page of Google
and we’ve proven time and again that we are a great team that knows all there is to know about good SEO automation.

We have a community of 20,000 blogs that all used our SEO techniques, and they have gotten lots of hits from search engines due to our optimization. Now we offer the same quality for you:

[UPDATE] Squirrly now has over 1,500,000 downloads, so we’ve been offering great software for over two years now.

SEO Advice as you’re typing your articles

Advice in real time from the SEO Live Assistant on how to write better content for your Human readers

Weekly SEO Audit report from the content audit tool, that shows you how well you did on: Blogging, Traffic, Links, SEO, Social Media and Authority

Lots of advice in the reports for how you can improve each section

Keyword Research and Analysis (that takes data from both SEMrush AND Social Media)

Monitors your Site’s Progress

SEO Analytics for each post or page

Shows you how you rank in Google

Shows you Social Signals for each article

Social Intelligence

Images you can use (with advice on License for each image. Most are Free to use)

Compatibility with all the other plugins, like Auto Meta, Ultimate Tag Warrior and others.

Works best with multisiteÂ SEO

SEO error check and fix the META duplicates with the duplicate removal tool

And the best ones that we have (and the others don’t):
–Keyword research and SEO Analysis: find the keywords that are easier to rank for
–SEO Live Assistant: Your WordPress gives you SEO advice as you type or edit your article
–Inspiration box: get images you can use for free, tweets you can quote and get up to date with latest news about your subject
–SEO Rank: Measure and Monitor the impact of SEO and Social Signals for each of your articles

Do I get support for your WordPress SEO Plugin?

Yes, we are focused on Delivering Happiness and this comes along with a good support package. We have a track record of replying in under 5 hours to
any request, no matter the time of day. And we also fix any problems which you may encounter very fast, so Squirrly is trust-worthy.

How does the META Description work in Squirrly SEO Optimization?

Based on your article, Squirrly will find the most relevant text and add it in the META Description.

You can opt-in to use the Squirrly Snippet in the Post/Page editor, which will allow you to customize how the META Title and Description will be. All while writing or editing your article.

Can I use the images, tweets and articles given by the Inspiration Box? Are there any legal concerns?

Yes, you can use the tweets and the paragraphs in your articles. They contain related links to the source and are perfectly legal to use. Of course, for the articles, add only some paragraphs, not the whole article.

As for the images, you find in the Inspiration Box, you can use the Copyright-Free images that we offer, to make sure you will not have any legal problems. Follow the license-compliance guidance we offer for each of them.

How to install Facebook Pixel on WordPress ?

If you plan on tracking your action from Facebook ad campaigns what you have to is first installÂ Squirrly. ThenÂ how to install Facebook Pixel on WordPress is resumed to adding your Pixel ID in the plugin.Â
You’ll find it in your dashboard in Squirrly>>SEO Settings>> Tracking Tools at the bottom of the page.
You can check the integration to your site has been done properly with the Chrome extension from Facebook.Â

How can Squirrly help me with the JSON-LD structure ?

In the Squirrly dashboardÂ you can set and personalize the information that appearÂ inÂ Google when people search for your organisation.

Can I use Squirrly seo on mobile?

Yes, on IOS and ANDROID, it works both through the browser and WordPress app

Where can I enter the title and page description?

If you click the Squirrly tab in your dashboard, go to the “First Page Optimization” section and switch the Title and Description option on. You can enter custom Title, Description and Keywords.

Where can I access the Content Audit Tool ?

You’ll receive a weekly email with the audit of your site and you can also access the audit from your dashboard account on my.squirrly.co .

Is this WordPress SEO plugin the only SEO plugin I will need to install?

Most of our users and customer use Squirrly for everything related to SEO: from keyword analysis to seo settings on WordPress, to analytics and to weekly monitoring and audit reports.

But it all depends on how you have setup your WordPress until now. Some people use Squirrly seo plugin only for the Content Optimization with the Live Assistant part, some use it to check their SEO stats and see where they need to improve their WordPress seo.

Why is Squirrly Keyword Research better than Google Keyword Planner for SEO strategies?Â

Because our tool focuses on the information your need to better rank on Google not to get your Ads in front of more people. Google Keyword Planner is a great research tool if you are creating Adwords campaigns. For SEO our keyword generator tool is better.

I can’t log into the WordPress with my user. Get the message ‘An error occured.’ What can I do?

I see that your host server is not letting you access our remote API.
Please tell your webmaster to add the IPs 176.9.59.55 and 176.9.112.210 in the white-list for remote access and it should work.

100% green in Squirrly Live Assistant but Iâm not getting traffic yet