# Change Log
All notable changes to this project will be documented in this file.
## [3.3.2] - 22.11.2021
- Compatibility with latest wordpress version

## [3.3.1] - 14.08.2020
- [FIX] Wordpress 5.5 issues with Tooltip.js

## [3.3.0] - 04.08.2020
- [NEW MODULE] - GTMETRIX - Obtain centralized info about Pagespeed factors like: Google, Pagespeed Score, YahooSlow score, Page size & Load times
- [NEW Features] - Minify module - HTML minification with the option to remove comments & collapse whitespaces / Javascript Defer / Asynchronous option / Load Google Fonts Asynchronous /  Gzip compression / Disable Wordpress Emoji / Leverage browser caching with default expiration time settings / Remove Query Strings from static resources
- Compatibility with PHP 7.4.8
- [REMOVED] - Google Analytics & Pagespeed modules
- [FIX] - focus keyword with 2 characters not working on on_page_optimization module


## [3.2.0] - 20.05.2019
- [FIX] - compatibility with ELEMENTOR frontend editor
- [FIX] - compatibility with WordPress Site Health Tool
- [FIX] - eliminated some traces of deprecated or removed: facebook planner, backlink builder, alexa rank
- [Improved] - You can enable / disable WP Ajax Debug from server status module


## [3.1.9] - 25.01.2019
- [FIX] - Google Analytics Module : fixed some issues with the Audience box dates, also with the pagination for Top Pages / Posts, TOP Referral Traffic boxes
- [FIX] - Multifocus keywords - google auto complete keywords list wasn't displayed anymore, when you tried to add a new (multi) focus keyword in it's mini-box
- [FIX] - on edit post admin page, the "Post Seo Settings" metabox, multiple keywords, were not saved right anymore - also now on clicking "Update" button, which uses ajax (no page refresh) the metabox is auto reloaded!
- Removed Deprecated module - Facebook Planner

## [3.1.8] - 18.01.2019
- [FIX] - fixed facebook social tags url issues
- [FIX]: Page Speed Module - operation was blocked when you Mass Analyze and some page returns zero score for both desktop and mobile!

## [3.1.7] - 03.01.2019
- removed Backlink Bulder Module
- deprecated Facebook Planner Module - with new apps you can no longer auto post on facebook
- FIX: meta seo title, meta description, meta keywords from "SEO Settings metabox" were not displayed on category, tag, taxonomy pages on website frontend

## [3.1.6] - 11.10.2018
- FIX: "title & meta format" module / "Social Meta" & "Twitter Cards" : added new setting "Parse shortcodes???" for Posts,Pages, and Categories,Tags - if you want to parse shortcodes also when choosing first image from post,page,category,tag... content

## [3.1.5] - 10.07.2018
- Added New Module - Google Enhancements - with Social Profile Markup & Site Links SearchBox Markup
- fixed video sitemap issue "PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function psp::xml_entities(), 1 passed "
- we've removed "Alexa Rank" module from PSP; reason: alexa rank public api is not available anymore

## [3.1.4] - 16.05.2018
- bug fix on the Tiny Compress Module
- removed verification for tables beloging to old version of serp module: psp_serp_reporter, psp_serp_reporter2rank
- fixed the issue with bulk deleting rows now working anymore in : link redirect, link builder, monitor 404 pages

## [3.1.3] - 25.04.2018
- fixed some small bugs (notices) regarding serp & mass optimization
- pagination: you can choose to jump to a specific page now: click on the circle with the page number and enter the new page number and hit CTRL + ENTER

## [3.1.2] - 12.04.2018
- fixed redirect url for facebook planner app
- added a new option in mass optimization settings - parse method which gives the plugin the ability to parse post content / the whole page for SEO Status Analysis.
- improved tags detection for SEO Status Analysis
- [Facebook Planner] removed deprecated option post to page/group / updated SDK
- added a version parameter to all plugin assets urls (js & css files)

## [3.1.1] - 27.02.2018
- Fixed warnings / errors when using with PHP 7.2.2
	- Replaced create_function usage with php anonymous functions which are available from php 5.3
	- remove plugin usage of /PHPMailer_5.2.9/class.phpmailer.php - we now only use the wp_mail wordpress function
- Fixed an issue with path to bootstrap-tokenfield assets (javascript & css files)

## [3.1] - 20.02.2018
- added new options in Mass optimization settings for maximum limit of characters for meta title, description and keywords
- fixed an issue for serp module: keywords with "never checked" last check status were not parsed by the cron
- "Plugin Cronjobs" module
	- new option "Reinitialize Cronjobs" which can be used to restart our plugin cronjobs (you can use the "Reload Cronjobs List" button to see if they are restarted by wordpress)
	- new column in cronjobs list: Last status, where you can see when is the last time wordpress run this cronjob and also some details (the eye icon) regarding the operation status

## [3.0] - 02.02.2018

- new module "SERP" (Search Engine Results Pages Tracking)
	- also added cronjob which can send you reports ( with keyword ranks changes )
- new module "Reporting" - There are 2 types of reports. One for Website Stats and one for Keyword Rank Changes.
Both reports can be viewed in 3 ways: in the admin dashboard, download as PDF or send as email

- fixed issue with seo title, description, keywords, occuring when your Posts page is not your website homepage


## [2.4.1] - 17.08.2017
- Fixed conflict with Iris Color Picker
- [BUGFIX] Alexa Rank Module caused javascript errors to crash post options in admin area

## [2.4] - 07.08.2017
-Added Alexa Rank Module

## [2.3] - 21.07.2017
- Updated Google Analytics Module - Added Easy setup - it's no longer mandatory to create your own google console project, you can use AA-Team keys - with a limit of 50000 requests per day
- Updated Page Speed Module - Added Easy Setup - now the module comes with a working key, with a limit of 25000 requests per day
- Interface Improvements

## [2.2] - 30.06.2017

- New module "Plugin Cronjobs"
	- here you can activate or de-activate the cronjobs associated with our plugin
	- IMPORTANT: IF YOU USE SERP OF FACEBOOK MODULES CRONJOBS, YOU WILL HAVE TO CHANGE FROM USING SOMETHING LIKE
			wget -q -O - {YOUR PLUGIN URL}/do-cron.php >/dev/null 2>&1
				OR
			wget -q -O - {YOUR PLUGIN URL}/do-cron-fb.php >/dev/null 2>&1
		TO
			wget -q -O - {YOUR WEBSITE URL}/wp-cron.php?doing_wp_cron >/dev/null 2>&1

- Social Stats module:
	- some visual fixes for Social Stats of your pages
	- removed the following providers from social stats: twitter, delicious, digg, flattr, reddit - we couldn't find a quick method to retrived the number of shares/views/posts
	- removed "delicious" from social toolbars, added/reactivated to social toolbars: digg, xing, tumblr

- Page speed module: fixed some css & javascript issues & also rules display for: minify css, minify javascript

- Minify module: fixed issue with psp "capabilities" module, which propagate to "page speed" module too (when user was not logged in, the css/javascript files were not recognized as minified when making requests to google pagespeed api)

- Google analytics module: added authorization status message in "settings" section

- Link builder module:
	- some html/css fixes & visual interface improvements
	- you can set "title attribute" when you add/update (phrase, url) pair
	- you can set max replacements per each (phrase, url) pair now to "all", which we'll replace all ocurrences found
	- you can "verify the number of posts" where the phrase is found for each added phrase
	- replacement text is no longer mandatory: if you don't set one, then the phrase is used as link text
	- new option "Link HTML Template" in module settings: you can stylize how the found phrases look on your website pages
	- new options "Select Post Types", "Exclude posts, pages, post types" in module settings: you can choose which post types you want to use for your phrases or which post ids you want to exclude
	- new option "Allow future linking": you are allowed to enter phrases which aren't found yet in any of your current posts content at the moment of adding phrase. The phrase will appear when some post content contains it. You can consider this like an automatically future linking

- Link redirect module:
	- some html/css fixes & visual interface improvements
	- new settings section: added options "Use Safe Redirect", "Default Redirect Type", "Redirect all 404 pages to"
	- when you add/update new redirect url, you can choose the redirect type: 301 Permanent Moved Redirect,  302 Found (was: temporary redirect), 303 See Other, 307 Temporary Redirect, 403 Forbidden, 404 Page Not Found
	- now you can use regexp when you add/update new redirection url
	- all 404 error pages can be redirected to one redirection url
	- redirect rows can be published / unpublished ( published = row is taken into consideration by the redirect module; unpublished = row is NOT taken into consideration by the redirect module, but you don't want to delete it because you may want to activate it at a later time)
	- now you can verify your url redirect (target url) status; also when the verification is made when you add/upate a link
	- we monitor if you modified your post | term slug and we make an auto redirect to the post | term, new slug/url

- added new feature - collapsable menu

- dev update/ changed aaInterfaceTemplates class to psp_aaInterfaceTemplates to avoid conflicts with other plugins

- dev update/ moved the "serp" module cache folder to the /wp-uploads/psp-serp/ ( now there are too posible cache folder created by psp in wp-uploads: /wp-uploads/psp-min/ & /wp-uploads/psp-serp/ )

- fixed some css/js issue for the plugin menu

- fixed css/js issues around all plugin modules, also some improvments made for some modules interface

- fixed bug regarding "multi focus keywords" not working on mozilla firefox

- fixed new seo check rule for "post/page title": now optimal number of characters is 5 to 70 characters

- fixed some issues with "tiny compress" module; also option "TinyPNG.com on Upload" works now for both media image upload ways: wp-admin/upload.php | wp-admin/media-new.php

- list posts sections show the "draft" filter: mass optimization, tiny compress, page speed

- Tiny Compress module: some css fixes and adjustments for the posts listing interface

- W3C Validator module: display the right message if your website requires 401 authorization (you're using a .htpasswd file)



## [2.1] - 04.06.2017
- NEW FUNCTIONALITY : you can now enter multiple focus keywords in masss optimization module or in admin edit post details metabox
- added Seo Score to post type admin edit page, in the publish/update wordpress top right box
- all 3 plugin meta boxes are loaded now by ajax (local seo, facebook planner, seo settings) to decrease the loading time when you are in admin / edit post/page details
- post types admin listing page: joined the 3 seo columns into only one named PSP Info
- fixed some issues regarding the lightbox used in modules: link builder, 301 link redirect, 404 monitor, serp, mass optimization
- fixed issue occuring in some page builders, for social meta (facebook & twitter) image tags, content images urls changed from relative path to absolute path
- settings/new fixes tab: new option Fix/ Use WP do_shortcode - only set to "NO" in special cases where pages html is malformed (some themes may do this)
- setup backup / import from Yoast Wordpress SEO : let you import all multiple focus keywords from yoast into PSP
- new format tag available in Title & Meta Format module: {multi_focus_keywords} which represents a list of the focus keywords you've defined for the post; also the old format tab {focus_keywords} contains only the primary (first one from the multiple focus keywords list) focus keyword for that post
- mass optimization module / quick edit box have now 2 more fields: Include in Sitemap, Sitemap Priority

## [2.0.6] - 10.05.2017
- "facebook planner" metabox: bug fixes
- "facebook planner" module now works with latest "php facebook sdk" - version 5.5 (it requires php version >= 5.4)

- added new options in "Mass Optimization Settings" menu (ex.: Word Min Chars: The minimum number of characters for a word to be considered valid.)

- chages to seo optimization rules and improvments

	- content analysis use now 20 rules, almost double as before, and you can choose in "Mass Optimization Settings" menu, which of them you want to use on your website

	- fixed some issues when counting the number of words in content and when calculating focus keyword density

	- added support for <span> tag having a style attribute with either of these properties: text-decoration: underline, font-style: italic, font-weight: bold, when verifing for bold, italic or underline elements

	- old "title" rule now is split in 2 rules: one for "seo meta title" and one for "post/page title" (both new rules verify characters length and if it contains keyword - at the begining too)

	- new rule: verify if content has any underlined elements
	- new rule: "seo meta title" minimum number of words
	- new rule: verify if content has subheading tags ( <h1>, <h2>, <h3> )
	- new rule: verify if content contains your focus keyword in the first 100 words
	- new rule: verify if content contains your focus keyword in the last 100 words
	- new rule: verify if content contains external links (their href has a different domain than yours)
	- new rule: verify if content contains internal links (their href has the same domain with yours)
	- new rule: verify if content contains competing links (their text contains your current focus keyword)

## [2.0.5] - 07.04.2017
- module "Backlink Builder": marked as deprecated (it will not be maintaned anymore)

- social meta facebook: post/page/post type, og:image meta tag is now retrieved based on this priority fallback queue (order by importance from top to bottom - most important are first): 1. the image set in "Page SEO Settings" box / Social Settings tab, 2. the post featured image, 3. we try to find the image from custom field (if you choose to set this field), 4. we try to use the first image in the post (page or custom post type) content (with shortcodes too), 5. the default image from "Title & Meta Format" module / Social Meta / General / "Default Image" option

- social meta facebook: category/tag/custom taxonomy, og:image meta tag is now retrieved based on this priority fallback queue (order by importance from top to bottom - most important are first): 1. we try to find the image from custom field (if you choose to set this field) - As of Wordpress 4.4 a new termmeta functionality was introduced which allows you to create custom fields for categories, tags, taxonomies, 2. we try to use the first image in the category (tag or custom taxonomy) content (with shortcodes too), 3. the default image from "Title & Meta Format" module / Social Meta / General / "Default Image" option

- social meta facebook: you can choose now a Facebook Image in the "Page SEO Settings" box / Social Settings tab, on the category/tag/custom taxonomy, admin edit details pages

- social meta facebook: homepage default modification: If in Wordpress Settings / Reading Settings / option "Front page displays" you choose "A static page" and for "Front Page" you select a page, then the values you've completed on it's edit details "Page SEO Settings" box / Social Settings tab, will override the settings from "Title & Meta Format" module / Social Meta / Homepage.

- twitter cards: made some changes so it can work better for default settings

- twitter cards: we've removed the following deprecated ones: Photo Card, Gallery Card, Product Card

- the "Page SEO Settings" box on each admin edit details page let you choose specific values for posts, pages, custom post types, categories, tags and custom taxonomies for: facebook social meta and twitter cards

- meta tags: added a html5 placeholder for meta tags seo title, description & keywords, in "Mass Optimization" module / Quick Edit/ and also on the "Page SEO Settings" box on each admin edit details page (helps you to know the current default value for that field if you have one)

- meta tags: verified with buddypress & bbpress forums

- meta tags: when you activate the "Title & Meta Format" module in "Modules Manager", you will be redirected to module page and the default settings are automatically saved (if you have existent saved values for settings, they will not be overridden)

- meta tags: added settings for "Custom Post Type" and "Custom Taxonomy" as sub-tabs for "Title Format", "Meta Description", "Meta Keywords", "Meta Robots"; also we've removed the following settings "Product Title Format", "Product Meta Description", "Product Meta Keywords", "Product Meta Robots" - for compatibility with old plugin versions, you can set this WooCommerce "Product" properties inside "Custom Post Type" sub-tabs

## [2.0.4] - 22.03.2017

- the .po & .mo files for en_GB: can be found now in premium-seo-pack/languages/

- module "Server Status": added "check integrity" functionality

- module "Local SEO" updated:
		- added the posibility to enter 3 google maps api keys: for static, dynamic maps and also for geolocating (find latitude and longitude based on address); removed the link to "GoodRelations Validator" which is no longer maintained

- module "Rich Snippets" updated: added mandatory fields "headline", "publisher logo", "image width", "image height" for "Article" shortcode snippet

- module "Google Authorship" renamed & modified to "Google Publisher", as google authorship functionality is deactivated by Google and no longer works.

- New core module "Settings" contains for now compressed options for "SEO Slug Optimizer" & "SEO Insert Code" (used existent misc module folder)

- module "SEO Friendly Images" updated:
		- added 2 new options for choosing if you want to append or prepend your new images alt/title text to current existent images alt/title
		- added new special format tags: {keywords}, {site_title}, {date}, {short_description}, {author}, {author_username}, {author_nickname}, {author_description}, {categories}, {tags}, {terms}, {category}, {category_description}, {tag}, {tag_description}, {term}, {term_description}
		- now you can automatically optimize links title attribute: new plugin menu option "SEO Friendly Links"
		- now supports featured image alt & title attributes

- module "Sitemap" (including Video Sitemap) updated:
		- added the social (facebook opengraph) meta tags for posts: article:section (contains the post first found category), article:tag (contains the post tags)
		- fixed Video Sitemap & Video meta snippets for all current video providers (Metacafe.com, Screenr.com, Blip.tv: removed because api doesn't seem functional anymore or service retired ; added support for video links starting with flic.kr)
		- added the video meta tags: og:video:secure_url, og:video:type, video:duration, video:release_date
		- added option "Facebook App ID" in "Title & Meta Format" module / "Social Meta" tab / "General" subtab: remove the "The fb:app_id property should be explicitly provided..." warning from facebook debugger
		- added option "Video metas recurrency" and functionality to delete all current cached video meta data so they can be rebuild

## [2.0.3.7] - 03.02.2017
- fixed the mass optimization bold/italic tags detection in content

## [2.0.3.6] - 02.02.2017
- module "rich snippets", fixed the location bug, added the following fields to the "Event": event status and offer (price, currency, url)

## [2.0.3.5] - 13.01.2017
- solved issue with "main-style.css"

## [2.0.3.4] - 09.01.2017
- solved a bug regarding the "local seo module": Warning: simplexml_load_file(): I/O warning : failed to load external entity "/maps.googleapis.com/maps/api/geocode/xml?..."

## [2.0.3.3] - 27.12.2016
- solved a bug regarding "main-style.css" which was generated every time (now it is refreshed daily)

## [2.0.3.2] - 05.12.2016
- solved bug: in psp locations the google map was not loading

## [2.0.3.1] - 05.12.2016
- solved bug: woocommerce shop page could not recognize the meta settings (seo title, description, focus keyword, keywords) ; bug occured for the page setted here: Woocommerce settings / Products / Display / Shop & Product Page / "Shop Page" option

## [2.0.3] - 14.11.2016
- plugin now compatible with CORNERSTONE frontend editor

## [2.0.2] - 09.11.2016
- fixed issue on rich snippets & localseo shortcodes

## [2.0.1] - 07.11.2016
- Fixed caching issue on dashboard loading
- fixed 404 error module not redirecting
- fixed google+ authorship display issue

## [2.0] -04.11.2016
- Implemented a new framework

## [1.9.1.4] - 25.05.2016
- added SERP support for Google.rs(Serbian)
- fixed OnPage Optimization to show up in category/taxonomy details page


## [1.9.1.3]
- added "Close button" to the 'Install default config' message
- solved bug "SEO Insert Code: Insert code in head, wp footer sections, any codes after the & character (including the & itself) is chopped away."
- solved some issues with woocommerce permalinks regarding sitemap module

## [1.9.1.2]
- solved the bug "shortcodes don't work anymore in tinymce per post/page editor"

## 03.11.2015
- added option to anonymize IP for google analytics script (required by some countries)!

## 21.10.2015 /version 1.9.1
- solved "Mass Optimization pagination" bug
- solved "Shortcodes not working Tinymce editor" bug
- solved "W3C validator module - rows information not updated" bug
- solved "backlink module not importing rows" bug

## 13.05.2015
[ADDED] NEW Module "Tiny Compress" which uses the TinyPNG.com API service to compress images (PNG & Jpegs) - a replacement for the Old "Smushit" Module

## 18.03.2015
[ADDED] Custom Stop Words List for Meta-Keywords. (On Page Optimization -> Mass Optimization -> Settings)

## 14.03.2015
[ADDED] Module Title & Meta Format, meta tags "title", "description", "keywords", "robots" have a new option "Products" which differentiate them from "Posts"

## 06.03.2015
[FIX] Sitemap for woocommerce products is printed incorrectly(it prints the product category link). Now it prits the correct product link.

## 23.02.2015
[FIX] 301 redirect now works even if a 404 template is not present
